Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Расширение кластера
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Конфигурация
Справочник по SQL
Часто задаваемые вопросы
MatrixGate поддерживает режим миграции начиная с версии 4.3 и позволяет быстро мигрировать данные таблиц из кластеров Greenplum5, Greenplum6 и YMatrix в текущий кластер YMatrix.
Высокоскоростная миграция позволяет данным обходить мастер-узел и напрямую читать данные из сегментов исходного кластера, передавать их через mxgate и отправлять в сегменты целевого кластера. Отсутствует узкое место на одном мастер-узле.
Количество сегментов в исходном и целевом кластерах может отличаться.
_1693981479.png)
Миграция одной таблицы используется для переноса данных из всех таблиц. Использование следующее:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-password abc \
--src-schema public \
--src-table trans_ao \
--compress "gzip" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--db-database ttt \
--target public.trans_ao \
--format text \
--time-format raw \
--use-auto-increment=false
| Имя параметра | Описание |
|---|---|
| --source | Портал функции, необходимо указать 'transfer' |
| --src-host | IP-адрес мастера исходной базы |
| --src-port | Номер порта мастера исходной базы |
| --src-user | Имя пользователя для подключения к исходной базе (рекомендуется суперпользователь) |
| --src-password | Пароль подключения |
| --src-schema | Имя схемы исходной таблицы |
| --src-table | Имя исходной таблицы |
| --compress | Метод передачи данных с хоста сегмента исходной базы: Пустая строка "" означает отсутствие сжатия, передача в виде обычного текста gzip: Использование сжатия gzip, требует установки команды linux gzip на хостах сегментов исходной базы lz4: Использование сжатия lz4, требует установки команды linux lz4 на хостах сегментов исходной базы рекомендуется lz4 > gzip > без сжатия |
| --port-base | Во время передачи будет занята группа портов, диапазон портов: 9129~ |
| --local-ip | IP-адрес, который должен использоваться локальной машиной для подключения к исходной базе |
| --db-database | Имя базы данных, в которой находится целевая таблица |
| --target | Имя целевой таблицы для миграции может быть в формате \<schema>.\<table>. Если имя схемы не указано, по умолчанию используется public |
| --format | text или csv, CSV требуется только при наличии сложных строк (включая символы новой строки, кавычки и разделители) в мигрируемых данных. В остальных случаях, когда доступны оба формата, предпочтительнее режим text |
| --time-format | в режиме transfer должно быть указано значение raw |
| --use-auto-increment | Если целевая таблица содержит поле типа serial (автоинкремент), по умолчанию mxgate пропускает такие поля. Этот параметр отключает логику пропуска таких полей в mxgate |
Другое применение режима миграции — быстрый экспорт данных в файл:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-schema public \
--src-table trans_ao_1 \
--compress "lz4" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--save-to-dir /tmp/receive/ \
--db-database ttt \
--transform nil \
--writer nil \
--target trans_ao
Используйте параметр --save-to-dir для указания пути сохранения файла.
Обратите внимание: даже при экспорте в файл параметры --db-database и --target должны быть указаны для определения целевой базы и таблицы, причём целевая база и таблица должны существовать.
Фильтрация миграции может быть задана с помощью SQL-запроса с использованием параметра --src-sql. Применима как при миграции таблица-таблица, так и таблица-файл:
mxgate --source transfer \
--src-host 172.31.41.7 \
--src-port 5432 \
--src-db postgres \
--src-user ec2-user \
--src-sql "select * from demo where c1 = 'xxxx'" \
--compress "lz4" \
--port-base 9129 \
--local-ip 172.31.33.128 \
--save-to-dir /tmp/receive/ \
--db-database ttt \
--transform nil \
--writer nil \
--target trans_ao
Для подробного описания параметров инструмента миграции см. mxgate.