Передача данных в эндпоинт-приемник Managed Service for YDB
Важно
Этот документ не применим для пользователей Yandex Cloud в регионе Казахстан. См. полный перечень поддерживаемых эндпоинтов в Data Transfer.
С помощью сервиса Yandex Data Transfer вы можете переносить данные в базу Managed Service for YDB и реализовывать различные сценарии переноса, обработки и трансформации данных. Для реализации трансфера:
- Ознакомьтесь с возможными сценариями передачи данных.
- Настройте один из поддерживаемых источников данных.
- Подготовьте базу данных Managed Service for YDB к трансферу.
- Настройте эндпоинт-приемник в Yandex Data Transfer.
- Создайте и запустите трансфер.
- Выполняйте необходимые действия по работе с базой и контролируйте трансфер.
- При возникновении проблем, воспользуйтесь готовыми решениями по их устранению.
Сценарии передачи данных в Managed Service for YDB
-
Миграция — перенос данных из одного хранилища в другое. Часто это перенос базы из устаревших локальных баз в управляемые облачные.
-
Поставка данных — процесс доставки произвольных данных в целевые хранилища. Процесс поставки включает извлечение данных из очереди и их десериализацию с последующей трансформацией данных в формат целевого хранилища.
-
Загрузка данных в витрины — процесс трансфера подготовленных данных в хранилища с целью последующей визуализации.
Подробное описание возможных сценариев передачи данных в Yandex Data Transfer см. в разделе Практические руководства.
Настройка источника данных
Настройте один из поддерживаемых источников данных:
Полный список поддерживаемых источников и приемников в Yandex Data Transfer см. в разделе Доступные трансферы.
Подготовка базы данных приемника
- Создайте сервисный аккаунт с ролью
ydb.editor
. - Для базы данных в Dedicated-режиме создайте и настройте группу безопасности в сети, где находится БД.
Настройка эндпоинта-приемника Managed Service for YDB
При создании или изменении эндпоинта вы можете задать:
- Настройки подключения к базе данных Yandex Managed Service for YDB. Эти параметры обязательные.
- Дополнительные параметры.
Кластер Yandex Managed Service for YDB
Важно
Для создания или редактирования эндпоинта управляемой базы данных вам потребуется роль ydb.viewer
или примитивная роль viewer
, выданная на каталог кластера этой управляемой базы данных.
Подключение к БД с указанием идентификатора кластера в Yandex Cloud.
-
База данных — выберите из списка базу данных Managed Service for YDB.
-
Идентификатор сервисного аккаунта — выберите или создайте сервисный аккаунт с ролью
ydb.editor
, от имени которого сервис Data Transfer будет подключаться к базе. -
-
Группы безопасности — выберите облачную сеть для размещения эндпоинта и группы безопасности для сетевого трафика.
Это позволит применить к ВМ и кластерам в выбранной сети указанные правила групп безопасности без изменения настроек этих ВМ и кластеров. Подробнее см. в разделе Сеть в Yandex Data Transfer.
-
-
Политика очистки — выберите способ очистки данных в базе-приемнике перед переносом:
-
Drop
— полное удаление таблиц, участвующих в трансфере (вариант по умолчанию).Используйте эту опцию, чтобы при любой активации трансфера в базу-приемник всегда передавалась самая последняя версия схемы таблиц из источника.
-
Не очищать
— не очищать.Выберите эту опцию, если будет производиться только репликация без копирования данных.
-
Дополнительные настройки
-
Количество шардов — укажите нужное количество шардов
N
.Если настройка задана, в таблицы добавляется колонка
_shard_col
. Значения в ней вычисляются как остаток от деленияH/N
, гдеH
— результат хеш-функции от текущего времени, аN
— указанное настройкой количество шардов. -
Сжатие для группы колонок по умолчанию — задайте настройку
COMPRESSION
для группы колонок по умолчанию (FAMILY default). -
Поддиректория для размещения таблиц — укажите поддиректорию
для размещения таблиц. -
Ротация таблиц:
-
Единица измерения — час, день или месяц.
-
Размер таблицы — в выбранных единицах измерения.
По истечении временного интервала, равного выбранной единице измерения, будет удалена самая старая таблица базы и создана новая.
-
Количество таблиц — необходимое количество таблиц в базе-приемнике.
-
Разбивать по столбцу — по значениям какой колонки разбивать (партицировать) таблицу. Колонка должна иметь тип
время
.Подробнее о партицировании таблиц см. в документации Yandex Managed Service for YDB
.
Если используется эта настройка, в базе-приемнике создается указанное количество таблиц для данных за различные интервалы времени. Имя каждой таблицы выбирается автоматически по дате и времени начала интервала. В зависимости от значений в указанной колонке таблицы-источника, исходные строки распределяются по соответствующим таблицам базы-приемника.
-
-
Переименование таблиц — заполните, если необходимо переименовать таблицы базы-источника при переносе в базу-приемник.
-
Использовать OLAP-таблицы — выберите эту опцию, чтобы создавать колоночные таблицы (OLAP). По умолчанию используются строковые таблицы (OLTP).
После настройки источника и приемника данных создайте и запустите трансфер.
Решение проблем, возникающих при переносе данных
Известные проблемы, связанные с использованием эндпоинта Managed Service for YDB:
Прерывание трансфера с ошибкой
Трансфер типа Репликация или Копирование и репликация прерывается с ошибкой.
Текст ошибки:
/Ydb.PersQueue.V1.PersQueueService/AddReadRule failed: OVERLOADED
Трансфер прерывается из-за ограничения облачной квоты
Решение:
- Увеличьте в квотах Managed Service for YDB на облако с нужной базой данных значение характеристики Количество схемных операций в минуту и активируйте трансфер повторно.
См. полный список рекомендаций в разделе Решение проблем.