我一直在寻找一种方法来持久化各种文件类型,即:PDF、JPEG、PowerPoint,并使用JDBC从web表单中保存到Postgresql数据库中。我在Postgres中遇到过二进制数据类型,但有人告诉我这不是最佳实践。
有没有别的办法,或者序列化是唯一的选择?
发布于 2018-09-29 06:50:23
存储在数据库中
如果您坚持将这样的文档存储在数据库中,那么的确,the binary types的存在就是为了这个目的。当您的数据不能被数据库通过many other data types之一在语义上理解时,二进制类型就是后备。
Postgres知道什么是整数,什么是TIMESTAMP WITH TIME ZONE
,什么是geo-spatial coordinate,知道如何搜索和排序这些值,Postgres不知道如何理解PowerPoint或PDF文件的含义。从数据库引擎的角度来看,这样的文件只是一堆无法识别的比特。
这种字段中的文件值是可爱的缩写:,即Binary Large OBject的缩写。
在数据库外部存储
一般来说,我见过的最佳实践是将这些文档存储在数据库之外的持久存储文件系统中。
在数据库中,存储表示文件系统路径的字符串或URL,以便在需要时查找该文件。
https://stackoverflow.com/questions/52563368
复制相似问题