#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 и т. Д… так что наверняка есть что-то из коробки .. конечно, это нетривиальное начинание…