背景:
我们有一个早期实施的内部文档存储系统。出于某种原因,选择将数据库作为文档的存储机制。
我的问题是:
何为最佳文档存储实践?还有哪些选择?它们的优缺点是什么?答案不需要特定于技术或平台,这更像是一般最佳实践问题。
我的想法:
数据库不适合文档存储。文件系统或第三方文档管理系统可能更加合适。在数据库中存储文档是昂贵的,操作也很慢。这些是否是正确的假设?也许这是最好的方法,但我认为我们有更好的选择。使用Oracle BFILE(指向NAS或SAN上的文档链接)比BLOB / CLOB更好吗?
细节:
- 文档类型各异(pdf、word、xml)
- 中间层代码使用.net 2.0 / c#编写
- 文档以压缩的BLOB形式存储在Oracle 10g数据库中(NAS存储)
- 文件大小不等
- 文档数量急剧增长,没有放缓的迹象
- 峰值时插入通常在每小时数百个左右
- 检索通常在每小时数千个左右
- NAS存储和SAN存储可用
更新(从下面的问题):
- 我的背景是开发
- 与文件相关的元数据存储在数据库旁边