In column-oriented query processing, a materialization strategy determines when lightweight positions (row IDs) are translated into tuples. It is an important part of column-store architecture, since it defines the class of supported query plans, and, therefore, impacts the overall system performance. In this paper we continue investigating materialization strategies for a distributed disk-based column-store. We start with demonstrating cases when existing approaches impose fundamental limitations on the resulting system performance. Then, in order to address them, we propose a new hybrid materialization model. The main feature of hybrid materialization is the ability to manipulate both positions and values at the same time. This way, query engine can flexibly combine advantages of all the existing strategies and support a new class of query plans. Moreover, hybrid materialization allows the query engine to flexibly customize the materialization policy of individual attributes. We describe our vision of how hybrid materialization can be implemented in a columnar system. As an example, we use PosDB~ -- a distributed, disk-based column-store. We present necessary data structures, the internals of a hybrid operator, and describe the algebra of such operators. Based on this implementation, we evaluate performance of late, ultra-late, and hybrid materialization strategies in several scenarios based on TPC-H queries. Our experiments demonstrate that hybrid materialization is almost two times faster than its counterparts, while providing a more flexible query model.
翻译:在面向列的查询处理中,物化策略决定了轻量级位置(行ID)何时被转换为元组。它是列式存储架构的重要组成部分,因为它定义了所支持的查询计划类别,进而影响系统整体性能。本文继续研究面向分布式磁盘型列式存储的物化策略。我们首先通过案例说明现有方法对系统最终性能造成的根本性限制,然后针对这些问题提出一种新型混合物化模型。混合物化的主要特征在于能够同时操作位置和数值,使查询引擎可以灵活整合所有现有策略的优势,并支持新型查询计划。此外,混合物化允许查询引擎为单个属性定制物化策略。我们描述了在列式系统中实现混合物化的方案,并以分布式磁盘型列式存储系统PosDB为例,展示了必要的数据结构、混合算子的内部机制及其代数运算。基于该实现,我们通过TPC-H查询在多个场景中评估了晚期、超晚期与混合物化策略的性能。实验表明,混合物化在提供更灵活查询模型的同时,执行速度几乎达到其他策略的两倍。