首页 > 解决方案 > 从数据库加载大块文本文件

问题描述

所以,正如主题所说 - 我需要为加载到数据库中的多个大文本文件块提供服务。这些文件可以从100一行到10.000.000另一行。我会将其提供给 10/50/100 行的多个处理脚本实例。问题是 -存储和服务它们的正确方法是什么?假设可能有数百个这样的文件。

什么数据库和可能的附加工具是最佳选择? MongoDB + GridFS? 或者有一种有效的方法可以将它们分成这么小的块,以防我将它们存储BLOBPostgreSQL

标签: databasemongodbpostgresqldatabase-designlarge-files

解决方案


如果您使用关系数据库,我会将文件逐行存储在表中。这样就很容易获取行:

SELECT line FROM documents
WHERE docname = 'mydoc'
  AND line_nr > 100
ORDER BY line_nr
FETCH FIRST 50 ROWS ONLY;

一个 b-tree 索引(docname, line_nr)将使查询非常有效。

如果您想防止表变得太大,请在docname.


推荐阅读