Locked. This question and its answers are locked,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。
因此,我正在使用一个将图像大量存储在数据库中的应用程序。您对此有何看法?我更喜欢将位置存储在文件系统中,而不是直接将其存储在数据库中。
您认为是什么利弊?
因此,我正在使用一个将图像大量存储在数据库中的应用程序。您对此有何看法?我更喜欢将位置存储在文件系统中,而不是直接将其存储在数据库中。
您认为是什么利弊?
最佳答案
我负责一些管理许多TB图像的应用程序。我们发现最好将文件路径存储在数据库中。
有几个问题:
数据库存储通常比文件系统存储昂贵
您可以使用现成的标准产品来加速文件系统访问
例如,许多Web服务器使用操作系统的sendfile()系统调用将文件直接从文件系统异步发送到网络接口。存储在数据库中的图像无法从此优化中受益。
诸如Web服务器等之类的东西,不需要特殊的编码或处理即可访问文件系统中的图像
数据库在图像和元数据之间的事务完整性很重要的地方胜出。
管理数据库元数据和文件系统数据之间的完整性更加复杂
(在Web应用程序的上下文中)很难保证数据已刷新到文件系统上的磁盘