在数据库中存储大文件(大约 100 GB)是个好主意吗?
目前我们考虑使用 NBT 格式或使用 mysql/postgresql 数据库将数据保存在文件夹中。
问问题
10524 次
4 回答
3
我个人的经验是,数据库不是大型 blob 的好地方(除非它们支持文件系统感知存储,例如 SQL Server FILESTREAM和 Oracle BFILE)。
大多数云为 blob 提供单独的存储是有原因的。大数据文件的生命周期与典型的日常数据不同……不同的生命周期、不同的内容服务方式、不同的缓存策略、不同的备份计划等等。
看一眼:
我会跟随他们的脚步,要么提出“文件系统感知”存储系统(例如,将文件系统路径存储在数据库中),要么使用单独的存储机制。
每次我不得不处理在数据库中存储 blob 的应用程序(图像、pdf 等)时,我花费的时间比在文件上设置备份/静态文件服务/缓存策略要多得多系统感知解决方案。
于 2013-08-18T15:01:16.927 回答
2
即使可以将大文件存储在数据库中也是一个非常糟糕的主意。
只需将文件名存储在数据库中 - 将文件保留在磁盘上。
没有在 gbe 数据库上搅动大文件的主要原因是数据库备份时间变得荒谬,没有任何收获,并且您失去了将内容存储在分布式存储上的能力。
如果您的数据库损坏并且需要从备份中重建,那么恢复时间也会变得很长。
你可以用任何东西做任何事情,但这并不意味着你应该这样做。
于 2013-08-18T14:36:34.223 回答
2
数据库旨在对大量小数据进行排序、过滤和计算。如果您只想拥有一个文件系统(例如,它对聚合按上传日期分组的文件总数的支持有限)只需使用文件系统。
于 2013-08-18T14:42:35.827 回答
0
于 2013-08-18T14:48:44.953 回答