Многопоточное и/или консистентное чтение из реляционных источников данных в федеративных системах
Доклад принят в программу конференции
Целевая аудитория
Тезисы
Федеративные SQL-запросы - запросы, адресованные внешним источникам данных. Они часто используются для оперативной аналитики разнородных данных и их миграции между различными хранилищами. Чтобы федеративные запросы летали, федеративные системы должны уметь быстро извлекать большие объёмы данных из внешних источников. Чтение данных в один поток - слишком медленное и неэффективное, особенно с учётом того, что федеративная система - обычно ещё и система распределённая. Чтение данных в несколько потоков по частям позволяет гораздо лучше утилизировать аппаратные ресурсы федеративной системы, однако ставит вопрос о согласованности данных: смогут ли читающие потоки видеть одно и то же состояние внешней таблицы?
Облачный сервис обработки аналитических запросов Yandex Query, построенный на основе YDB, является примером такой системы. Оптимизируя его пропускную способность, мы занялись задачей многопоточного чтения из внешних источников данных, и в этом докладе хотим поделиться накопленным опытом. Мы проведём сравнительный анализ API популярных реляционных СУБД (PostgreSQL, MySQL, Oracle, MS SQL Server, Greenplum, CocroachDB, YDB) с точки зрения возможностей многопоточного, консистентного и отказоустойчивого чтения, коснёмся темы MVCC - в классическом и распределённом варианте, а также погрузимся в технику разбиения массива данных на "сплиты" - элементарные единицы работы в системе массивно-параллельной обработки данных. А ещё в докладе будет много подробностей об устройстве федеративной YDB и сценариях её применения в Yandex Cloud.
Разработчик на Go / Python / C++. Увлекается внутренним устройством баз данных, объектных хранилищ и в целом распределёнными системами.
Видео
Другие доклады секции
Разработка СУБД и инструментов работы с данными