中文

通过代码转换快速访问列式分层嵌套数据

编程语言 2017-11-06 v2 数据库 信息检索

摘要

大数据查询系统以列式格式表示数据以实现快速选择性访问,并在某些情况下(例如 Apache Drill)直接在列式数据上执行计算而无需行物化,从而避免运行时开销。然而,许多分析过程难以或无法高效地表达为 SQL。在高能物理中,大多数数据处理需要具有复杂依赖关系的嵌套循环。面对此类任务时,传统方法是将列式数据转换回对象形式,但这通常会导致性能损失。本文描述了一种新技术,用于转换过程代码,使其能够原生地在分层嵌套的列式数据上操作,而无需行物化。该技术可视为对类型化抽象语法树的编译器传递,将对对象的引用重写为列式数组查找。我们还将展示在高能物理背景下,转换后的代码与传统面向对象代码之间的性能比较。

关键词

引用

@article{arxiv.1708.08319,
  title  = {Fast Access to Columnar, Hierarchically Nested Data via Code Transformation},
  author = {Jim Pivarski and Peter Elmer and Brian Bockelman and Zhe Zhang},
  journal= {arXiv preprint arXiv:1708.08319},
  year   = {2017}
}

备注

10 pages, 2 figures, submitted to IEEE Big Data