Как стать автором
Обновить
64.72
CedrusData
Аналитическая система на основе Trino
Сначала показывать

Как мы ускорили Trino, научив оптимизатор удалять ненужные Join

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1.8K

Как мы ускорили запросы в Trino, научив оптимизатор удалять из плана лишние операторы Join.

Обсудим, почему в аналитических запросах часто возникают избыточные Join, почему это плохо для SQL-движков, какие эквивалентные преобразования позволяют избавиться от ненужных Join, и с какими проблемами мы столкнулись при интеграции данного функционала в наш форк Trino.

Читать далее
Всего голосов 8: ↑8 и ↓0+12
Комментарии3

Почему Trino такой быстрый: архитектура оптимизатора SQL-запросов

Время на прочтение12 мин
Количество просмотров26K

Аналитические системы должны эффективно обрабатывать сложные пользовательские запросы к десяткам и сотням терабайт данных (пета-?). Продвинутый оптимизатор запросов является важнейшим компонентом любого big data движка. В данной статье мы рассмотрим, как устроен оптимизатор запросов в массивно-параллельном аналитическом SQL-движке Trino.

И как же он устроен?
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Почему Trino такой быстрый: динамические фильтры

Время на прочтение8 мин
Количество просмотров4.1K

Принцип большинства оптимизаций производительности в аналитических SQL-движках — ответить на запрос пользователя, затратив минимум вычислительных ресурсов. Динамические фильтры — это оптимизация, которая создает дополнительный предикат для одной из сторон оператора Join на основе данных другой стороны.

Так как аналитические запросы часто содержат операции Join и сканируют таблицы большого размера, наличие динамических фильтров позволяет существенно сократить объем обрабатываемой информации, а значит повысить производительность.

Рассмотрим реализацию динамических фильтров на примере Trino.

Узнать, как работают динамические фильтры
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Как устроен massively parallel processing (MPP) в Trino

Время на прочтение10 мин
Количество просмотров4.9K

Из нашей повседневной практики доподлинно известно, что массивно(массово?)-параллельные вычисления это круто. Но что именно означает этот термин, и как "массивность" и "параллельность" реализованы в конкретной системе? В данной статье мы ответим на оба вопроса, проанализировав внутреннюю архитектуру популярного MPP-движка для больших данных Trino.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии7

Rule-based оптимизация SQL-запросов

Время на прочтение7 мин
Количество просмотров5.4K

Всем привет! В компании Querify Labs мы создаем компоненты СУБД, включая оптимизаторы SQL-запросов.

Любой SQL-запрос может быть выполнен множеством способов. Задача оптимизатора - найти эффективный план выполнения запроса.

В этой статье мы обсудим rule-based оптимизацию - популярную архитектуру оптимизатора, в котором планирование запроса разбито на последовательность атомарных трансформации. Мы рассмотрим особенности реализации данного подхода в Apache Calcite, Presto, и CockroachDB.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Информация

Сайт
www.cedrusdata.ru
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
Vladimir Ozerov