  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.
