performance - 将文档作为 Blob 存储在数据库中 - 有什么缺点吗?

标签 performance security document blob document-management

我的文档管理系统的要求是:

  1. 必须通过简单复制目录、文件等来防止被盗。
  2. 必须能够抵御传统病毒感染(物理文件感染)
  3. 检索速度必须很快
  4. 存储库不得对临时(目录)浏览用户等可见。

我决定将所有文档(和扫描图像)作为 blob 存储在数据库中,到目前为止,我的体验非常好,文档检索也快得令人眼花缭乱 - 它满足上面的所有标准,甚至还有一些其他优点,例如自动存储文档及其相关实体、轻松快速地搜索内容、消除围绕打开和命名文档等的各种用户事件等。

我的问题是 - 这种设计和实现是否存在任何严重的风险或我忽略的事情?

编辑注意:DB 是 PostgreSQL,可以很好地处理 BLOBS 并且扩展性非常好。环境是多用户。

最佳答案

当您的数据库变得越来越大时,备份就会变得越来越困难。 恢复具有超过 100 GB 数据的表的备份并不是一件让您高兴的事情。

另一件事是,随着数据集的增长,所有表管理功能都会变得越来越慢。
但这可以通过使数据表仅包含 2 个字段来克服: ID 和 BLOB。

在备份数据集遇到困难之后,检索数据(通过主键)可能只会成为一个问题。

关于performance - 将文档作为 Blob 存储在数据库中 - 有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/211895/

相关文章:

c++ - 如何(有效地)插入以 map 为值的 map ?

php - PHP 中 FOR 与 FOREACH 的性能

java - java的内部类会带来安全风险吗?

sql - 记录级权限

ios - 下载 PDF,保存到文档目录并加载到 UIWebView

ios - 使用我的应用程序中的“打开方式”从Safari打开文件

windows - 与 GitHub 相比,Windows 文件共享上的 Git 速度慢

c# - 获取 ADO.NET SQL 命令的执行时间

php - Magento - 使用自定义环境变量获取敏感数据库信息