如何处理存储在数据库中的大量文档?

Posted

技术标签:

【中文标题】如何处理存储在数据库中的大量文档?【英文标题】:How to handle large amount of documents stored in a database? 【发布时间】:2014-08-01 10:52:07 【问题描述】:

我正在开发一个用户可以扫描/上传文档的应用程序。应用程序处理这些文档并将其存储在数据库中。我们正在使用 mysql 数据库。 现在我们的数据库中有超过 200,000 个文档。因此,我们面临着维护如此大量文件的困难。 可以为这个问题做些什么? “大数据”能否成为解决方案?

【问题讨论】:

不要将文档存储在数据库中。在数据库中存储文件名。使用文件系统存储文档。绝对没有充分的理由将文档存储在数据库中,并且有很多充分的理由不这样做。如果我的一份报告这样做了,我会讨论他们的未来。 @Bohemian 哦,加油;一定有一些好的理由 @Strawberry 也许如果 SQL 是您唯一的技术并且您别无选择(即没有应用程序代码,只有查询和生成 Web 表单的层),但它仍然不是一个 好 原因。你不能“更新”或“查询”数据,它会极大地膨胀你的数据库备份大小、备份时间、日志、数据库事务时间,降低 I/O 性能(行大小会很大)......我只是在这里热身。出于各种原因,这是一个非常糟糕的想法,如果运气不好,你发现自己正在考虑它,那就另谋出路。 【参考方案1】:

通常的做法是将文档的路径存储在数据库中,然后将文档放在磁盘中的某个位置。

【讨论】:

以上是关于如何处理存储在数据库中的大量文档?的主要内容,如果未能解决你的问题,请参考以下文章

你如何处理无状态 grails 服务中的共享数据

你如何处理大量的小文件?

如何处理 ViewModel 中的配置更改

您如何处理公共 git 存储库中的敏感数据?

如何处理来自存储在vue中的空数据

如何处理Salesforce和Database Component中的增量提取