在数据库中存储大文件(大约100 GB)是个好主意吗? 目前我们考虑使用NBT格式或使用mysql / postgresql数据库将数据保存在文件夹中。
答案 0 :(得分:2)
我个人的经验是,数据库不是大型blob的好地方(除非它们支持文件系统感知存储,例如SQL Server FILESTREAM和Oracle BFILE)。
大多数云都有理由为blob提供单独的存储空间。大数据文件的生命周期与典型的日常数据不同......不同的生命周期,不同的服务内容,不同的缓存策略,不同的备份计划等等。
看看:
我会遵循他们的主导,并提出“文件系统感知”存储系统(例如,在数据库中存储文件系统路径)或使用单独的存储机制。
每次我必须处理在数据库中存储blob的应用程序(图像,pdf等)时,我花费更多时间来处理表空间,备份和性能问题,而不是设置备份/静态文件服务/缓存文件系统感知解决方案的策略。
答案 1 :(得分:1)
将大文件存储在数据库中是一个非常糟糕的主意,即使你可以。
只需将文件名存储在数据库中 - 将文件保留在磁盘上。
不鼓励gbe数据库上的大文件的主要原因是数据库备份时间变得荒谬,没有什么可以获得,并且你失去了将内容存储在分布式存储上的能力。
如果您的数据库损坏并需要从备份重建,恢复时间也会变得很大。
你可以做任何事情,但这并不意味着你应该做。
答案 2 :(得分:1)
数据库旨在对大量小块数据进行排序,过滤和执行计算。如果您只想拥有一个文件系统(例如,对聚合按上传日期分组的文件总数的支持有限)只使用文件系统。
答案 3 :(得分:0)