Инструмент полной миграции библиотеки — 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]
install-dir="/usr/local/greenplum-db-6.7.1"

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

$ mxshift -c config_path.toml

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