27cm
@27cm
TODO: Написать статус

Миграция данных из MariaDB в Percona?

Имеем сервер с MariaDB базой данных и Percona кластер. Нужно перенести часть данных (несколько таблиц в базе) из MariaDB в Percona.

Пожелания:
1. Сервер MariaDB очень живой, много INSERT / UPDATE / DELETE запросов в таблицах. Перенести максимально бесшовно, не останавливая работу с базой. Допустим простой и потеря данных максимум на пару минут в момент переключения на новую базу.
2. На бэкенде у нас в основном PHP и немного go. Очень не хочется делать миграцию на инструментах, написанных на других языках.
3. В идеале, но не обязательно, нужна возможность вернуться обратно на MariaDB, если после перехода что-то сильно пойдёт не так.
4. Нужно решение, которое позволит в дальнейшем делать подобные операции малой кровью.

Подскажите, как такое можно сделать? Что почитать?

P.S.: У нас была гипотеза, что можно подключиться к бинлогам, и с их помощью дублировать данные из одной базы в другу. Но в простейшем варианте `SHOW BINLOG EVENTS` выдаёт запросы в сыром виде (без первичных ключей), а это рушит всю схему.
  • Вопрос задан
  • 474 просмотра
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Нужно перенести часть данных (несколько таблиц в базе) из MariaDB в Percona.

ИМХО, идея неправильная. Или же я упустил серьезную причину по которой может понадобиться переносить часть базы на другой сервер на другой движок.
Сделайте PoC на перконе, и если понравится, переносите все.

гипотеза, что можно подключиться к бинлогам,

Направление верное. Стандартная практика для миграции на новый сервер это репликация, а репликация в mysql основана на бинлогах. Так что читать про репликацию (mysql replication).

возможность вернуться обратно на MariaDB

Очень трудно реализовать, т.к. требуется master-master replication.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы