A computational model for analytic column stores

04/27/2019
by   Eyal Rozenberg, et al.
0

This work presents an abstract model for the computations performed by analytic column stores or columnar query processors. The model is based on circuits whose wires carry columns rather than scalar values, and whose nodes apply operators with column inputs and outputs. This model allows expression of most of the architectural features of existing column-store DBMSes through columnar execution plans, rather than such features being implemented sui-generis, and without the column store maintaining significant out-of-plan data. A strict adherence to columnarity allows for a relatively simple and robust model; enabling extensive and intensive optimization of almost all aspects of query processing; and also enabling massive uniform parallelization of query process on modern hardware. Moreover, the computational model's expressivity makes it useful also as an analytical tool for considering design aspects and features of existing column stores, individually and comparatively. To achieve the model's wide expressiveness, much of this work develops representation schemes of relevant data structures as combinations of plain columns, with columnar circuits used as scheme encoders and decoders. A particular focus is given to schemes which also compress the data, and their use in query execution --- as an integral part of the computation: Subcircuits of larger columnar circuits, not black boxes. Decoder and encoder circuits are thus also composed to form more elaborate schemes. Such formulation allows both for an alternative view of well-known compression schemes, and for the development of new columnar compression schemes with useful features; these should be of independent interest irrespective of column store systems.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset