Подтвердить что ты не робот

Стратегия синхронизации базы данных из нескольких мест в центральную базу данных и наоборот

У меня есть несколько баз данных, расположенных в разных местах, и центральная база данных, которая находится в центре обработки данных. Все имеют одну и ту же схему. Все они меняются (вставляют/обновляют/удаляют) в каждом месте с разными данными, включая центральную базу данных.

Я хотел бы синхронизировать все данные в центральной базе данных. Мне также хотелось бы, чтобы все данные в центральной базе данных синхронизировались со всеми местоположениями. Я имею в виду, что изменение базы данных в местоположении 1 также должно быть отражено в базе данных местоположения 2.

Любые идеи о том, как это сделать?

4b9b3361

Ответ 1

Просто посмотрите SymmetricDS. Это программное обеспечение для репликации данных, которое поддерживает несколько подписчиков и двунаправленную синхронизацию.

Ответ 2

Вам понадобится реализовать двухстороннюю схему репликации между базами данных. Каждая новая созданная запись должна иметь уникальный идентификатор (например, GUID), чтобы данные из разных баз данных не конфликтуют. (См. репликация mysql howto).

MySql поддерживает только одностороннюю репликацию, поэтому вам необходимо настроить каждую базу данных как ведущую и сделать каждую базу данных подчиненным из всех других экземпляров базы данных. Удачи вам в этом.

Ответ 3

Я пошел в SymmetricDS

Я думаю, что это высокое качество, и просто упомянуть, что я нашел в sourceforge (php mysql sync)

и нашел много ссылок в Интернете.

Ответ 4

К сожалению, возможности репликации MySQL не позволят вам выполнять именно то, что вы хотите.

Обычно для синхронизации двух серверов может использоваться схема репликации мастер-мастер. См. http://www.howtoforge.com/mysql_master_master_replication

Проблема заключается в том, что каждый сервер MySQL может иметь ТОЛЬКО ОДИН мастер.

Единственный способ, которым я знаю, чтобы синхронизировать несколько серверов, будет круговой репликацией (см. http://onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html?page=2), но не будет точно соответствуют вашим потребностям (конфигурация "звезда" )

Возможно, эта конфигурация может быть достаточно близка: все "отдаленные" (не центральные) базы данных будут только читаемыми подчиненными (синхронизированными с использованием основной репликации master-slave), а записи будут возникать только на центральном сервере (который быть мастером).