Инструмент полной миграции базы данных — mxshift

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

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

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

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

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

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

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.