Распределенные SQL-движки должны эффективно обрабатывать данные, расположенне на нескольких серверах. В докладе Владимир расскажет на примере Apache Flink и Presto, как устроены распределенные SQL-движки, и какие подходы они используют для увеличения производительности запросов.
В докладе будут рассмотрены следующие вопросы:
- архитектура распределенных реляционных операторов: aggregate, sort, join;
- партиционирование данных в кластере для минимизации передачи данных между узлами;
- использование cost-based оптимизаторов для поиска оптимальных планов исполнения;
- разбиение сложных планов на независимые фрагменты, и организация передачи данных между ними;
- продвинутые техники оптимизации: компиляция, векторизация, pruning.