Как выполнить репликацию распределенной базы данных в отключенной среде?

#mysql #postgresql #mongodb #replication #database-replication

#mysql #postgresql #mongodb #репликация #база данных-репликация

Вопрос:

У меня есть PHP-приложение, работающее поверх Doctrine2 в качестве DBAL / ORM с MySQL (я могу легко переключиться на Postgres, Mongo или любой другой).

У меня будет одно и то же приложение, установленное в нескольких географических точках с возможным нестабильным Интернетом.

Мне нужно реплицировать базы данных наиболее эффективным способом.

Как я могу выполнить это безопасно?

MySQL? Postgres? Mondo? Sequoia? Есть идеи о том, как подойти к этому?

К вашему сведению: ВСЕ таблицы правильно индексируются с помощью глобально уникального UUID для каждой записи, чтобы избежать каких-либо конфликтов. Скорость передачи данных от узлов к дому очень, очень низкая — от 56 КБ до 512 или 1 мбит / с в лучшем случае.

Спасибо.

Комментарии:

1. подходит ли вам «Одно местоположение для чтения / записи и все остальные местоположения только для чтения»? если это так, вы можете использовать асинхронную доставку журналов транзакций (доступно во всех основных СУБД) — настройка одного ведущего и нескольких подчиненных устройств.

Ответ №1:

Здесь нет технологического решения silver bullet. Вам нужен компонент уровня приложения для активного управления этим, и это важное, нетривиальное мероприятие.

Тем не менее, могут существовать сторонние приложения для интеграции, которые могут справиться с большей частью этого, однако у меня нет опыта работы с каким-либо таким программным обеспечением.

Комментарии:

1. Без особых поисков я знаю, что существует репликация с несколькими источниками, Tungsten и т. Д… так что наверняка есть что-то из коробки .. конечно, это нетривиальное начинание…