Импорт и экспорт данных с использованием федеративных запросов
Импорт данных
Федеративные запросы позволяют импортировать данные из подключенных внешних источников в таблицы базы данных YDB. Для импорта данных нужно использовать запрос чтения из внешнего источника данных или внешней таблицы и записи в YDB таблицу.
Для колоночных таблиц поддерживается массивно-параллельный импорт из внешнего источника при использовании конструкций UPSERT и INSERT — несколько рабочих потоков параллельно читают данные из внешнего источника и пишут в таблицу. Для строковых таблиц функциональность в разработке.
Операция | Запись в строковые таблицы | Запись в колоночные таблицы |
---|---|---|
UPSERT | однопоточная | параллельная |
REPLACE | однопоточная | параллельная |
INSERT | однопоточная | параллельная |
Совет
Рекомендованными вариантами импорта с использованием федеративных запросов являются операции UPSERT
и REPLACE
— для них значительно оптимизирован сценарий импорта данных.
Пример импорта данных из PostgreSQL таблицы в YDB таблицу:
UPSERT INTO target_table
SELECT * FROM postgresql_datasource.source_table
Подробнее про создание внешних источников данных и внешних таблиц, а также про запросы чтения данных из них можно прочитать в статьях:
Экспорт данных
На данный момент экспорт данных с использованием федеративных запросов поддержан только для S3-совместимых хранилищ, подробнее смотреть в статье Экспорт данных в объектное хранилище S3.