Qd-tree: Learning Data Layouts for Big Data Analytics

Qd-дерево: обучение размещению данных для аналитики больших данных
Chi Wang, Zongheng Yang, Badrish Chandramouli, Johannes Gehrke, Yinan Li, Umar Farooq Minhas, Per-Åke Larson, Donald Kossmann, Rajeev Acharya
2020-05-29

analytical query optimizationdata layout learningdata skippingdeep reinforcement learningquery-data routing tree
Corporations today collect data at an unprecedented and accelerating scale, making the need to run queries on large datasets increasingly important. Technologies such as columnar block-based data organization and compression have become standard practice in most commercial database systems. However, the problem of best assigning records to data blocks on storage is still open. For example, today's systems usually partition data by arrival time into row groups, or range/hash partition the data based on selected fields. For a given workload, however, such techniques are unable to optimize for the important metric of the number of blocks accessed by a query. This metric directly relates to the I/O cost, and therefore performance, of most analytical queries. Further, they are unable to exploit additional available storage to drive this metric down further. In this paper, we propose a new framework called a query-data routing tree, or qd-tree, to address this problem, and propose two algorithms for their construction based on greedy and deep reinforcement learning techniques. Experiments over benchmark and real workloads show that a qd-tree can provide physical speedups of more than an order of magnitude compared to current blocking schemes, and can reach within 2X of the lower bound for data skipping based on selectivity, while providing complete semantic descriptions of created blocks.
1
Experiments on benchmark and real workloads show qd-trees achieve physical speedups exceeding an order of magnitude over current blocking schemes.
2
It presents two qd-tree construction algorithms based on greedy optimization and deep reinforcement learning.
3
Qd-trees approach the selectivity-based lower bound for data skipping, reaching within 2X while exploiting additional storage.
4
Qd-trees provide complete semantic descriptions of the blocks they create, alongside improved query pruning.
5
The paper introduces query-data routing trees (qd-trees) to learn physical record-to-block assignments optimized for minimizing query-accessed blocks.

Big-data analytical query workloads and their physical data-block layouts on storage

Optimization of record-to-block assignment to minimize the number of blocks accessed by queries, reduce I/O cost, and improve analytical-query performance using qd-trees

Publication Details
Publication Date
2020-05-29
Journal
Publisher
ISSN
Access Type
Author Information
Authors
Chi Wang
Zongheng Yang
Badrish Chandramouli
Johannes Gehrke
Yinan Li
Umar Farooq Minhas
Per-Åke Larson
Donald Kossmann
Rajeev Acharya
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%