【发布时间】:2012-01-06 03:32:07
【问题描述】:
我们有一个批处理分析 SQL 作业 - 每天运行一次 - 从强大的 RDBMS 中保存的 2 个源表中读取数据。源表很大 (>100TB),但组合的字段少于 10 个。
我的问题是 2 个源表是否可以保存在压缩和索引的平面文件中,这样整个操作可以更快,节省存储空间,并且可以在低规格服务器上运行。另外,我们可以对这些压缩和索引的平面文件运行类似 SQL 的查询吗?任何有关如何执行此操作的指示都会非常有帮助。
【问题讨论】:
-
SQLite 使用单个可移植平面文件来存储单个数据库的对象。它支持索引和 SQL 接口。但允许的最大数据库大小仅为 14TB。
-
您可以使用基于 JSON 或 YAML 的文本文件来存储您的表格。最大文件大小可以与您的操作系统允许的一样大。 JSON 和 YAML 都有 Java/Ruby 和许多其他编程接口。但我不认为任何实现都支持索引。而且没有SQL接口。
标签: sql flat-file indexed compression