Выполнение запросов
YDB предоставляет единый интерфейс для выполнения запросов на языке YQL и единый распределённый движок их выполнения. Один и тот же синтаксис и одни и те же механизмы позволяют обращаться к данным разной природы: от строк в таблицах базы данных до неограниченных потоков событий в топиках и данных во внешних системах.
С точки зрения пользователя запросы выполняются к трём типам сущностей:
- таблицы базы данных — транзакционные (OLTP) и аналитические (OLAP) запросы к данным, хранящимся в YDB;
- внешние источники данных — федеративные запросы к данным, расположенным за пределами YDB;
- топики — запросы к неограниченным потокам данных: потоковые запросы и бесконечные запросы к топикам.
Общий порядок обработки запроса, а также базовые понятия — сессии, транзакции, повторные выполнения, язык запросов и результирующие наборы — описаны в разделе Процесс выполнения запросов.
Запросы к таблицам базы данных
Основной сценарий — выполнение запросов к таблицам, хранящимся в YDB. Единый интерфейс способен эффективно обрабатывать широкий спектр нагрузок — от высоконагруженных транзакционных OLTP-запросов до сложных аналитических OLAP-запросов.
Запросы к внешним источникам данных (федеративные запросы)
Федеративные запросы позволяют обращаться к данным, расположенным во внешних системах, без переноса этих данных внутрь YDB. С помощью YQL-запросов можно читать данные из внешних СУБД и объектных хранилищ (S3), а также объединять их с данными в таблицах YDB.
Подробнее см. в разделе Федеративные запросы.
Запросы к топикам
Запросы к топикам позволяют обрабатывать данные из очередей сообщений. Есть два варианта таких запросов.
Потоковые запросы
Потоковые запросы — основной способ потоковой обработки данных в production. Они оформляются как постоянные объекты схемы (STREAMING QUERY), читают сообщения из топиков по мере их поступления, записывают результаты в выходные топики или таблицы и автоматически восстанавливаются после сбоев из чекпоинтов.
Подробнее см. в разделе Потоковые запросы и в описании CREATE STREAMING QUERY.
Запросы к топикам в табличном режиме
Прочитать данные из топика можно и обычным SELECT. В отличие от потоковых запросов, он не создаёт постоянного объекта схемы и не восстанавливается после сбоев, поэтому предназначен в первую очередь для отладки и проверки данных в топике.
Подробнее см. в разделе YQL-запросы к топикам.