Синхронизация данных MySql DBs - PullRequest
0 голосов
/ 15 июля 2011

Прежде всего, я новичок в мире распределенных БД, в любом случае сценарий:

У меня есть три сервера в США, Швеции и Австралии, на всех них было развернуто одно и то же веб-приложение с MySQL DB (одинаковая структура). так как разные пользователи используют это приложение и все три БД имеют разные данные; теперь с этого момента нам нужно синхронизировать данные БД каждый раз, когда происходит какое-либо изменение данных на любом из серверов автоматически; подскажите что может быть оптимизированным решением.

или если мы будем использовать один и тот же сервер БД для всех веб-серверов, это замедлит скорость приложения?

Пожалуйста, предложите что-нибудь для начала.

Ответы [ 2 ]

0 голосов
/ 15 июля 2011

При использовании стандартной репликации MySQL вы столкнетесь с несколькими проблемами:

  1. Репликация MySQL в основном master -> slave. Таким образом, обновления выполняются на ведущем устройстве, которое затем копируется на ведомое устройство. Это может быть очень эффективным, но, как правило, это означает, что в двух ваших местоположениях будут медленные обновления, но чтение будет с нормальной скоростью.

  2. Следствие 1 - транзакции выполняются на Master, поэтому, если вы создаете новую запись и получаете LAST_INSERT_ID () и вставляете ее в другую таблицу, все операции чтения и записи должны переходить к мастеру MySQL по мере изменения не будет виден на ведомом устройстве, пока транзакция не завершится.

  3. Могут ли ваши существующие данные быть интегрированы в один набор данных? Если нет, то у вас могут быть проблемы.

  4. Является ли приложение "осведомленным в офисе". Другими словами, если вы соберете данные из нескольких офисов, это все равно будет работать? Делает ли приложение предположения о данных на основе офиса, в котором оно находится?

0 голосов
/ 15 июля 2011

Это в значительной степени именно то, для чего нужна репликация.

http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

РЕДАКТИРОВАТЬ: Если вы не используете веб-ускоритель компании (Akamai, и т. Д.), Я не предлагаю использоватьодин сервер из-за медленного времени отклика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...