database - 从数据库加载大块文本文件
问题描述
所以,正如主题所说 - 我需要为加载到数据库中的多个大文本文件块提供服务。这些文件可以从100
一行到10.000.000
另一行。我会将其提供给 10/50/100 行的多个处理脚本实例。问题是 -存储和服务它们的正确方法是什么?假设可能有数百个这样的文件。
什么数据库和可能的附加工具是最佳选择? MongoDB + GridFS
? 或者有一种有效的方法可以将它们分成这么小的块,以防我将它们存储BLOB
在PostgreSQL
?
解决方案
如果您使用关系数据库,我会将文件逐行存储在表中。这样就很容易获取行:
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
.
推荐阅读
- scala - 为什么我可以在 Future.traverse 的第一个参数中使用 `to`,而不能使用 `until`?
- wordpress - Supsystic 定价表覆盖每月与每年定价的切换
- node.js - 如何抑制 tesseract.js 中的日志
- windows - 操作系统如何改变进程的虚拟基地址?
- group-by - 插入记录时通过选择组合框获取 max(id)+1
- multi-tenant - Quicksight 能否支持使用具有相同数据集和仪表板的不同数据库的多租户?
- javascript - 在firebase中获取集合及其子集合
- java - Android SDK 26 及更高版本中的通知是否支持低于 26 的 SDK?
- python - 如何将文件夹中所有图像的数据转换为csv文件?
- javascript - Fabric js代码不适用于最新版本