0

我正在阅读 Google Dremel 的白皮书。我知道它将复杂数据转换为列式数据布局

这些数据存储在什么位置?

由于 Drill 没有中央元数据存储库,我假设它必须是in-memory

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

4

1 回答 1

2

要从数十亿行中获得完整、一致的查询结果,您将使用连接到多个 Drillbit 的分布式文件系统,通过将文件复制到每个节点来模拟分布式文件系统,或者使用 NFS 卷,例如 Amazon Elastic File System。Drill 使用多种技术对大数据进行高性能查询,包括:

  • 依靠集群节点来处理故障(不花时间处理与故障相关的任务)。
  • 使用分层和列式的内存数据模型(不访问分析查询中不涉及的列的磁盘,处理列数据而不进行行具体化)。
  • 使用列存储优化和执行(保持低内存占用)。
  • 使用矢量化处理来自不同记录的值数组,而不是一次处理来自一个记录的单个值。

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

于 2015-08-28T17:56:58.510 回答