Инструмент полной миграции библиотеки — mxshift

YMatrix использует инструмент mxshift для выполнения операций миграции данных библиотеки.

В настоящее время инструмент mxshift поддерживает следующие функции:

  • Полная миграция: в единицах базы данных реализуется параллельная миграция определений таблиц (DDL) и данных из кластера Greenplum 4.3.X/5/6 / YMatrix в новый кластер YMatrix.
  • Инкрементальная миграция: в единицах таблиц реализуется параллельная миграция определений таблиц (DDL) и данных из некоторых таблиц целевой базы данных из кластера Greenplum 5/6 / YMatrix в новый кластер YMatrix.
  • Условная миграция: условная миграция данных реализуется с помощью условия WHERE.
  • Поддерживаемые стратегии распределения данных: хеширование, случайное распределение, реплицируемая таблица (REPLICATED), только Master.

1 Принцип работы mxshift

Если процесс миграции данных представить как поток воды через трубопровод, а эффективность передачи данных — как скорость потока воды, то общая скорость потока часто ограничивается «самым узким местом трубопровода», что приводит к так называемому «узкому месту в одной точке».

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

2 Использование mxshift

mxshift работает на основе конфигурационного файла. Сначала отредактируйте конфигурационный файл config.toml.

Примечание!
Полный конфигурационный файл см. в разделе mxshift.

$ vim config.toml

[database]
    [database.source]
        db-database= "testdb"
        db-host="sdw3"
        db-password="xxxx"
        db-port=54322
        db-user="mxadmin"

    [database.target]
        db-database="destdb"
        db-host="172.16.100.32"
        db-password="yyyy"
        db-port=5432
        db-user="mxadmin"

[scope]
gphome="/opt/ymatrix/matrixdb5"

После подготовки TOML-файла выполните следующую команду для запуска mxshift и начала миграции.

$ mxshift -c config_path.toml

Примечание!
Полный список параметров и инструкции по использованию mxshift см. в разделе mxshift.