Полный инструмент миграции библиотеки — 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 реализует передачу данных напрямую от сегмента к сегменту, устраняя узкие места, которые могут возникать при обычных операциях миграции. Когда топология исходного и целевого кластеров не совпадает, то есть при гетерогенной конфигурации, mxshift также может вычислить оптимальную схему сопоставления на основе количества сегментов исходного кластера, количества сегментов целевого кластера, расположения сегментов на одних и тех же физических машинах и других параметров, чтобы обеспечить автоматизированную миграцию данных.

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

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

$ 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.