Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Графовая база данных
Введение
Предложения
Функции
Расширенные темы
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
SQL-команда
Часто задаваемые вопросы
Начиная с версии 4.3 MatrixGate поддерживает режим миграции, позволяющий с высокой скоростью переносить данные таблиц из кластеров Greenplum5, Greenplum6 и YMatrix в текущий кластер YMatrix.
При высокоскоростной миграции данные минуют master-узел: они читаются напрямую с segment-узлов исходного кластера, пересылаются через mxgate и отправляются на segment-узлы целевого кластера, поэтому узкого места в виде одного master-узла не возникает.
Количество segment-узлов исходного и целевого кластеров может различаться.
_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-адрес master-узла исходной базы данных |
| --src-port | Номер порта master-узла исходной базы данных |
| --src-user | Имя пользователя для подключения к исходной базе данных (рекомендуется superuser) |
| --src-password | Пароль для подключения |
| --src-schema | Имя схемы исходной таблицы |
| --src-table | Имя исходной таблицы |
| --compress | Способ передачи данных с segment-хостов исходной базы данных в текущую базу данных: Пустая строка "" — без сжатия, передача в открытом виде gzip: сжатие gzip; на segment-хостах исходной базы данных должна быть установлена Linux-команда gzip lz4: сжатие lz4; на segment-хостах исходной базы данных должна быть установлена Linux-команда lz4 Рекомендуется lz4 > gzip > без сжатия |
| --port-base | При передаче занимается диапазон портов 9129~ |
| --local-ip | Необходимо указать IP-адрес этой машины, достижимый из исходной базы данных |
| --db-database | Имя базы данных, в которой находится целевая таблица миграции |
| --target | Имя целевой таблицы миграции в форме \<schema>.\<table>; если имя схемы не указано, по умолчанию используется public |
| --format | text или csv. CSV обязателен только при миграции данных со сложными строками (содержащими переводы строк, кавычки, разделители). В остальных случаях, когда допустимы и text, и csv, предпочтительнее режим text |
| --time-format | В режиме transfer обязательно raw |
| --use-auto-increment | Если целевая таблица содержит автоинкрементные поля типа serial, mxgate по умолчанию пропускает поля этого типа; добавьте эту опцию, чтобы отключить логику пропуска в mxgate |
Начиная с 6.8.4, миграция одной таблицы выполняет сопоставление по именам столбцов: миграция возможна даже при несовпадающем порядке столбцов в исходной и целевой таблицах, достаточно совпадения имён столбцов.
Другое применение режима миграции — быстрый экспорт данных в файл:
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.