4

在数据库中存储大文件(大约 100 GB)是个好主意吗?
目前我们考虑使用 NBT 格式或使用 mysql/postgresql 数据库将数据保存在文件夹中。

4

4 回答 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

使用文件系统。

使用数据库存储文件位置和名称

您还可以(基于 Unix 的系统)使用剪切、粘贴和连接(示例)等实用程序
在文件级别处理文件。

于 2013-08-18T14:48:44.953 回答