Qd-дерево: обучение размещению данных для аналитики больших данных

Qd-tree: Learning Data Layouts for Big Data Analytics
Chi Wang, Zongheng Yang, Badrish Chandramouli, Johannes Gehrke, Yinan Li, Umar Farooq Minhas, Per-Åke Larson, Donald Kossmann, Rajeev Acharya
2020-05-29

оптимизация аналитических запросовобучение структуре данныхпропуск данныхглубокое обучение с подкреплениемдерево маршрутизации запросов и данных
Сегодня корпорации собирают данные в беспрецедентных и постоянно возрастающих масштабах, что делает всё более важной возможность выполнять запросы к большим наборам данных. Такие технологии, как столбцовая блочная организация данных и сжатие, стали стандартной практикой в большинстве коммерческих систем управления базами данных. Однако задача оптимального распределения записей по блокам данных в хранилище до сих пор остаётся нерешённой. Например, современные системы обычно разбивают данные на группы строк по времени поступления либо выполняют интервальное или хеш-разбиение данных на основе выбранных полей. Однако для заданной рабочей нагрузки такие методы не позволяют оптимизировать важную метрику — количество блоков, к которым обращается запрос. Эта метрика напрямую связана со стоимостью операций ввода-вывода (I/O) и, следовательно, с производительностью большинства аналитических запросов. Кроме того, существующие методы не позволяют использовать дополнительное доступное пространство хранения для дальнейшего снижения этой метрики. В данной статье мы предлагаем новую структуру, называемую деревом маршрутизации запросов и данных (query-data routing tree), или qd-деревом, для решения этой задачи, а также два алгоритма её построения, основанные на жадных методах и глубоком обучении с подкреплением. Эксперименты на эталонных и реальных рабочих нагрузках показывают, что qd-дерево может обеспечивать физическое ускорение более чем на порядок по сравнению с современными схемами блочного хранения и достигать результата, отличающегося менее чем в 2 раза от нижней границы пропуска данных, основанной на селективности, при этом предоставляя полные семантические описания созданных блоков.
1
Эксперименты на эталонных и реальных нагрузках показали, что qd-tree обеспечивает физическое ускорение более чем на порядок по сравнению с современными схемами разбиения на блоки.
2
Для построения qd-tree предложены два алгоритма: жадной оптимизации и глубокого обучения с подкреплением.
3
Qd-tree приближается к нижней границе пропуска данных, основанной на селективности, достигая результата в пределах 2X и используя дополнительное хранилище.
4
Qd-tree предоставляет полные семантические описания создаваемых блоков наряду с улучшенным отсечением данных при выполнении запросов.
5
В статье представлены деревья маршрутизации запросов и данных (qd-tree), обучающие физическое распределение записей по блокам для минимизации числа блоков, затрагиваемых запросом.

Рабочие нагрузки аналитических запросов к большим данным и физическая организация блоков данных в хранилище

Оптимизация распределения записей по блокам для минимизации числа блоков, к которым обращаются запросы, снижения затрат на ввод-вывод и повышения производительности аналитических запросов с использованием qd-tree

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%