Миграция данных в несколько кликов: возможности Data Transfer

Рассказываем о сервисе Data Transfer, который поможет всем, кому нужно быстро и просто мигрировать, консолидировать или разделить данные, создать удалённые реплики баз данных.

Data Transfer появился в Yandex Cloud не так давно и команда сервиса развивает его сразу по нескольким направлениям. В первую очередь мы продолжаем расширять его функциональность: реализовали гетерогенные трансферы и сделали доступными новые хранилища данных. Появилась интеграция с брокерами сообщений Apache Kafka и Data Streams и другими системами как с источниками, в режиме закрытого превью стал доступен CDC (change data capture) в Debezium из PostgreSQL в Kafka, добавлен коннектор к Greenplum®, постоянно расширяется список задач, которые можно решить с помощью сервиса.

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

Мы выводим в общий доступ всё больше возможностей, расширяем и упрощаем клиентские интерфейсы. Теперь взаимодействовать с сервисом можно не только через консоль управления: Data Transfer стал доступен пользователям CLI, Terraform и Public API.

В этом обзоре расскажем о том, почему Data Transfer стоит попробовать всем, кому нужно быстро и просто мигрировать, консолидировать или разделить данные, а также создать удалённые реплики БД.

Как работает Data Transfer

Сервис Data Transfer предназначен для миграции данных из источников в приёмники: между СУБД, документоориентированными базами, объектными хранилищами и брокерами сообщений. Конечный или бесконечный процесс переноса называется трансфером.

В зависимости от задачи можно использовать один из трех типов трансферов (все типы трансферов реализуют механизм логической репликации):

  • Копирование или snapshot — конечный процесс переноса текущего состояния данных.
  • Репликация — процесс непрерывного получения изменений из источника (сhange data capture, или CDC) и применения их к приемнику, который позволяет поддерживать приемник в актуальном состоянии.
  • Копирование и репликация — перенос текущего состояния источника в кластер-приемник и поддержка его актуальности.

Трансфер того или иного типа в процессе своей работы может находиться в разных состояниях, для определения которых достаточно посмотреть статус трансфера и предупреждения на сервисе. Для более детальной диагностики в консоли управления Data Transfer предоставлены логи и мониторинг.

Рассмотрим подробнее, для каких бизнес-задач могут быть применены трансферы. Часть из них мы рассматривали на вебинаре.

Какие задачи помогает решить Data Transfer

Миграция в облако

Чтобы перестать думать о «железе» и сэкономить на эксплуатации, всё больше компаний выбирают переезд в облачные базы данных: легко управляемые, масштабируемые и высокодоступные.

Один из основных сценариев использования Data Transfer — миграция данных из локального хранилища клиента в базу Yandex Cloud. Например, переместить данные из on-premise базы PostgreSQL в Managed PostgreSQL или из on-premise MySQL в Managed MySQL®. Миграцию для таких пар баз данных компании зачастую могут реализовать самостоятельно. Но Data Transfer поможет сократить количество ручного труда: перенести метаинформацию, схемы данных и отследить их эволюцию в процессе трансфера. К тому же специалисты Yandex Cloud всегда следят, чтобы во время миграции данных нагрузка на базу-источник была как можно ниже и продакшен не замечал трансфера.

Анализ данных

Чаще всего клиенты используют трансферы для того, чтобы собрать данные из множества источников в единый кластер, например, ClickHouse, с которым аналитики могут работать с помощью DataLens или DataSphere.

Data Transfer сейчас умеет мигрировать данные в ClickHouse из PostgreSQL, MySQL и из брокеров сообщений (Kafka или Yandex Data Streams). Трансферы функционируют не только в режиме snapshot, но и в режиме репликации, за счет чего поддерживают копии данных клиента в приемнике в актуальном состоянии. Пока эта функция находится на стадии preview.

Шардирование баз данных или консолидация

Клиенты Data Transfer в процессе миграции решают и другие задачи, например, с помощью трансфера из MongoDB в MongoDB (скоро в General Availability) клиенты Yandex Cloud решают, в том числе, проблему ограниченного размера базы данных. В процессе миграции в облако базу можно шардировать.

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

Смена типа хранилища и разделение нагрузки

Data Transfer может помочь с задачами, в которых отправляющее и принимающее хранилища имеют разные типы. Зачастую хранилища используются для всех задач аналитики и продакшена разных сервисов. В итоге эти задачи начинают друг другу мешать, эксплуатировать такой кластер становится всё сложнее, возрастает нагрузка, и масштабировать кластер становится дорого. В этом случае можно часть нагрузки или всё приложение перенести на работу с хранилищем, которое больше для них приспособлено.

Например, можно перенести из Oracle неспецифичную нагрузку в Managed PostgreSQL. В Oracle достаточно много особенностей, поэтому трансферы для этой СУБД предоставляются только по запросу.

Другая комбинация: PostgreSQL/MySQL и YDB (система, предоставляемая по serverless-модели, которую удобно масштабировать под временные нагрузки). Такой вариант можно рассматривать владельцам интернет-магазинов. Благодаря этому трансферу не придётся увеличивать количество дисков и ядер накануне сезона распродаж, так как YDB автоматически масштабируется под нагрузку.

Экспорт данных из хранилища клиента в объектное хранилище

Другая задача, которую решает Data Transfer, — экспорт данных из хранилища клиента в объектное хранилище. Например, это может оказаться полезным для следующих задач:

  • дёшево хранить историю изменения данных;
  • передавать данные партнёрам.

Чаще всего трансферы для регулярного экспорта срезов данных в Object Storage используют в задачах, для которых необходимо, например, исполнение требований законодательства к длительному хранению данных.

Интегрировать Object Storage с источниками PostgreSQL, MongoDB и MySQL можно только в режиме snapshot. После такого экспорта в принимающей базе окажутся данные в формате CSV или JSON. Но в будущем мы добавим и режим репликации, и регулярные снапшоты в эти сценарии.

С помощью Data Transfer также можно интегрировать Object Storage и с другими источниками. Сценарии переноса данных мы рассмотрели на вебинаре:

Почему стоит выбрать Data Transfer

Data Transfer может быть использован в решении многих задач, часть из которых мы перечислили выше. Среди аналогов на рынке Data Transfer выделяют несколько преимуществ:

  • Простота настройки: все действия выполняются в несколько кликов в консоли.
  • Один сервис для всех целей. Позволяет централизованно управлять всеми потоками данных в компании.
  • Не требует сторонних инструментов. Часть сценариев может решить дата-инженер сам, без подключения команды DBA (database administrators).
  • Пока сервис предоставляется бесплатно.

Количество сценариев и поддерживаемых Data Transfer коннекторов постоянно растет. С доступными комбинациями источников и приемников вы можете ознакомиться по ссылке (данные регулярно обновляются).

Экспресс-курс «Построение корпоративной аналитической платформы»

Если вы хотите узнать больше о Data Transfer и синхронизации данных между различными БД, предлагаем пройти экспресс-курс «Построение корпоративной аналитической платформы». Вы узнаете, как с помощью облака организовать сбор и анализ данных в компании для организации внешнего хранилища, снимать нагрузку с основной системы и обрабатывать тяжёлые аналитические запросы, безопасно работать с внешними источниками и многое другое. Зарегистрироваться на экспресс-курс можно по ссылке.

Миграция данных в несколько кликов: возможности Data Transfer
Войдите, чтобы сохранить пост