Dremel或其实现(比如Drill)如何处理内存中的大型柱状数据布局?

时间:2015-08-28 05:22:35

标签: apache-drill dremel

我正在浏览Google Dremel的white paper。我开始知道它将复杂数据转换为柱状数据布局

此数据存储在哪个位置?

由于Drill没有中央元数据存储库,我认为它必须是内存

因此,当我有数十亿行时,Drill如何处理这些数据?

1 个答案:

答案 0 :(得分:2)

要从数十亿行获得完整,一致的查询结果,您将使用连接到多个Drillbits的分布式文件系统,通过将文件复制到每个节点来模拟分布式文件系统,或使用NFS卷,例如亚马逊弹性文件系统。 Drill使用多种技术执行大数据的高性能查询,包括:

  • 依靠群集节点来处理故障(不会在与故障相关的任务上花费时间)。
  • 使用内存数据模型,该数据模型具有层次结构和列式(无法访问未包含在分析查询中的列的磁盘,处理没有行实现的列数据)。
  • 使用列式存储优化和执行(保持较低的内存占用)。
  • 使用矢量化处理来自不同记录的值数组,而不是一次处理来自一个记录的单个值。

有关详细信息,请参阅http://drill.apache.org/docs/performance/

相关问题