使用 oracle blob 存储文件是否存在主要缺点/风险

Chr*_*mer 3 oracle

最近,我被要求对现有软件进行生产支持。

总之,该系统是一种网络服务,它允许您上传文件并为您提供一个标识符,以便您以后可以请求您的文件。

我担心这些文件作为 BLOB 存储在 Oracle 数据库中。

目前,系统稳定,但在不久的将来,我们的业务希望每年上传 100.000 到 200.000 个 PDF(每个 10 到 50 Mb)。

谈到数据库

  • 我应该只关心磁盘空间吗?

  • 还有其他方面我应该担心吗?

  • 或者我真的应该尝试切换到文件系统存储?

一些额外的信息:

  • 不需要交易。
  • 所有文件都是不相关的。
  • 文件永远不会更新。
  • 文件将“永远”保留在那里(5 到 10 年)。
  • 无论如何,由于其他原因需要更新软件。

Lei*_*fel 6

这真的归结为成本与重要性。文件越重要,将它们存储在数据库中就越有利。这里有一些要考虑的事情。

数据库文件存储的优点:

  • 安全性 - 您的数据具有相同的安全模型、相同的用户等。
  • 备份 - 通常数据库备份更频繁,测试更频繁,并且具有更全面的恢复文档。通过块更改跟踪,备份也可以更快。
  • 恢复 - 可以将旧版本的文件恢复到备份保留的任何时间点。
  • 审计可用。
  • 可扩展 - 您拥有的文件越多,这变得越重要。
  • 与其他数据和代码的事务性集成。
  • 闪回查询(针对 Oracle)
  • 锁定可用。
  • 读取一致性。

数据库文件存储的缺点:

  • 初始设置可能需要更长的时间。
  • 需要特定的专业知识。

Tom Kyte 是这样说的:

如果此数据对您的业务有价值,如果此数据对您的业务是必需的,如果此数据的丢失会损害您开展业务的能力 - 没有业务不在数据库中。