gpt4 book ai didi

database - 哪种是在服务器上存储文件的最佳方法(在数据库中或单独存储位置)?

转载 作者:搜寻专家 更新时间:2023-10-30 20:10:43 25 4
gpt4 key购买 nike

在我的项目中(类似于mediafirerapidshare),客户端可以上传文件到服务器。我正在使用 DB2 数据库IBM WAS web 服务器 以及 JSP 作为服务器端脚本。我正在创建自己的加密算法,因为这是该项目的主要目标。

我需要建议是将文件本身存储在数据库中,还是只存储文件的位置。哪种方法最好?

最佳答案

在数据库中存储 BLOB 有利也有弊。

优势

  • 如今 DBMS 对 BLOB 的支持非常好
  • JDBC 驱动程序对 BLOB 的支持非常好
  • 对“文档”的访问可以发生在交易中。无需担心手动清理或“内务管理”。如果行被删除,BLOB 数据也会被删除
  • 不必担心文件系统限制。文件系统通常不太擅长在单个目录中存储数百万个文件。您必须将文件分布在多个目录中。
  • 一切都一起备份。如果你进行数据库备份,你就拥有了一切,无需担心额外的文件系统备份(但见下文)
  • 可通过 SQL 轻松访问(无需 FTP 或其他工具)。该访问权限已经存在并受到控制。
  • 与其余数据相同的访问控制。无需设置操作系统用户组来限制对 BLOB 文件的访问。

缺点

  • 无法直接从操作系统访问(如果您需要使用命令行工具操作文件,则会出现问题)
  • 不能由例如直接网络服务器(这可能是性能问题)
  • 数据库备份(和恢复)更复杂(因为大小)。增量备份通常在文件系统中更有效
  • DBMS 缓存注意事项
  • 不适合高写场景

你需要自己判断哪个优点哪个缺点对你来说更重要。

我不同意将 BLOB 存储在数据库中的广泛假设总是是个坏主意。这取决于 - 与许多其他决定一样。

关于database - 哪种是在服务器上存储文件的最佳方法(在数据库中或单独存储位置)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14215701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com