我们有一个批处理分析SQL作业 - 每天运行一次 - 从强大的RDBMS中保存的2个源表中读取数据。源表是巨大的(> 100TB)但是组合的字段少于10个。
我的问题是2个源表可以保存在压缩和索引的平面文件中,因此整个操作可以更快,节省存储空间,并且可以在低规格服务器上运行。另外,我们可以针对这些压缩和索引的平面文件运行SQL查询吗?关于如何做到这一点的任何指示都将非常有用。
答案 0 :(得分:1)
大多数优化策略都会优化速度或大小,并相互交换一次。一般而言,RDBMS解决方案以大小为代价优化速度 - 例如,通过创建索引,您占用更多空间,作为回报,您可以获得更快的数据访问。
所以你想要优化速度和尺寸的愿望不太可能实现 - 你几乎肯定不得不交易另一个。
其次,如果你想执行“类似sql”的查询,我很确定RDBMS是最好的解决方案 - 特别是对于庞大的数据集。
可能是基础数据适合特定优化的情况 - 例如,如果您可以创建基于位掩码的自定义索引方案来创建整数,并使用这些整数来使用布尔运算符访问数据,那么< em> may 能够超越RDBMS索引的性能。