我的文档管理系统的要求是:
- 必须通过简单复制目录、文件等来防止被盗。
- 必须能够抵御传统病毒感染(物理文件感染)
- 检索速度必须很快
- 存储库不得对临时(目录)浏览用户等可见。
我决定将所有文档(和扫描图像)作为 blob 存储在数据库中,到目前为止,我的体验非常好,文档检索也快得令人眼花缭乱 - 它满足上面的所有标准,甚至还有一些其他优点,例如自动存储文档及其相关实体、轻松快速地搜索内容、消除围绕打开和命名文档等的各种用户事件等。
我的问题是 - 这种设计和实现是否存在任何严重的风险或我忽略的事情?
编辑注意:DB 是 PostgreSQL,可以很好地处理 BLOBS 并且扩展性非常好。环境是多用户。
最佳答案
当您的数据库变得越来越大时,备份就会变得越来越困难。 恢复具有超过 100 GB 数据的表的备份并不是一件让您高兴的事情。
另一件事是,随着数据集的增长,所有表管理功能都会变得越来越慢。
但这可以通过使数据表仅包含 2 个字段来克服:
ID 和 BLOB。
在备份数据集遇到困难之后,检索数据(通过主键)可能只会成为一个问题。
关于performance - 将文档作为 Blob 存储在数据库中 - 有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/211895/