Оптимизация и выполнение декларативных запросов
Б.А. Новиков
Национальный исследовательский университет «Высшая школа экономики»
Модели, методы и технологии оптимизации и выполнения запросов, возникшие в контексте так называемых
реляционных баз данных, достаточно хорошо проработаны и реализованы во всех высокопроизводительных
СУБД. По существу, именно уровень реализации этих технологий определяет, наряду с технологиями
управления транзакциями, качество СУБД.
Несмотря на очень значительные результаты в этой области, полученные в прошлые десятилетия,
современные технологии оптимизации обладают существенными недостатками, поэтому поток исследований
в этой области (который никогда не был интенсивным) не прекращается. Широкое распространение
альтернативных моделей данных и распределенных технологий обработки данных в течение последнего
десятилетия привело к необходимости расширения и пересмотра классических методов оптимизации.
В докладе будет представлен обзор исследовательских работ последнего десятилетия в области
оптимизации и выполнения запросов.
Одной из основных причин, по которым оптимизатор может вырабатывать планы, далекие от оптимальных,
является неточность моделей стоимости, в частности, оценок кардинальности промежуточных результатов.
Возможные решения включают методы адаптивной и параметрической оптимизации, а также применение
статистических методов, учитывающих фактические результаты выполнения предыдущих запросов.
Новые подходы как к оптимизации, так и к методам выполнения запросов необходимы в контексте
распределенных систем баз данных в оперативной памяти. Область применения декларативных языков
запросов существенно расширилась, что потребовало пересмотра стратегий оптимизации и выполнения.
Наконец, новые подходы к построению оптимизаторов позволяют существенно повысить их
производительность и качество получаемых планов.
При подготовке доклада использованы материалы, представленные на конференциях VLDB, SIGMOD, Data Engineering и др.
Слайды доклада.
Видео доклада.
Литература:
- Viktor Leis, Andrey Gubichev, Atanas Mirchev, Peter Boncz, Alfons Kemper, and Thomas Neumann. How good are query optimizers, really? Proc. VLDB Endow., 9(3):204–215, November 2015.
- Wolf Rodiger, Tobias Muhlbauer, Alfons Kemper, and Thomas Neumann. High-speed query processing over high-speed networks. Proc. VLDB Endow., 9(4):228–239, December 2015. URL: http://dx.doi.org/10.14778/ 2856318.2856319, doi:10.14778/2856318.2856319.
- Pit Fender and Guido Moerkotte. Counter strike: Generic top-down join enumeration for hypergraphs. Proc. VLDB Endow., 6(14):1822–1833, September 2013.
- Jack Chen, Samir Jindel, Robert Walzer, Rajkumar Sen, Nika Jimsheleishvilli, and Michael Andrews. The memsql query optimizer: A modern optimizer for real-time analytics in a distributed database. Proc. VLDB Endow., 9(13):1401– 1412, September 2016.
- Thomas Neumann and Bernhard Radke. 2018. Adaptive Optimization of Very Large Join Queries. In Proceedings of the 2018 International Conference on Management of Data (SIGMOD '18). ACM, New York, NY, USA, 677-692. DOI: https://doi.org/10.1145/3183713.3183733
- Immanuel Trummer and Christoph Koch. 2017. Solving the Join Ordering Problem via Mixed Integer Linear Programming. In Proceedings of the 2017 ACM International Conference on Management of Data (SIGMOD '17). ACM, New York, NY, USA, 1025-1040.
|