Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Порционная двусторонняя репликация 
:(
    Опции темы
dvamaster
Дата 9.12.2009, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: нет
Всего: 10



Доброго времени суток.

Проблема частично описана здесь http://forum.vingrad.ru/topic-265360.html

По причине отвратительной связи с головным офисом (иного провайдера нет и не будет в ближайшие 10-ть лет  smile  ) пришлось разделить базу данных на удаленные и головную.

Так как удаленные базы стоят на десктоп машинах, разделил пару таблиц по филиалам.

ID записей у удаленных таблиц (разных филиалов) могут совпадать, на головной немогут. Филиал не увидит записи другого филиала (нет необходимости). Записи с удаленных БД внесенных в головную могут менять только сотрудники головного офиса. Сотрудники головного офиса могут добавлять записи в удаленные.

Т.е. необходима двустороняя репликаци с учетом разделения для удаленных баз.

Таблицы головной БД и удаленных имеют одну и ту же структуру:

Код

id - id записи
idfil - id филиала
idrep - id записи удаленной (для головного) или головного (для удаленной), = 0 если новая запись
frep - признак создания, изменения записи (фактическое удаление записей не производиться, есть флаг fdel)
...
различные поля


спец. сервис на головном поочереди подключается к удаленным БД и проводит такие операции:

для новых записей

1. Получить записи с удаленного если idrep = 0, frep = 0 (новые)
2. Добавить полученные данные на головной (idrep головной = id удаленной)
3. Получить id добавленных записей
4. Отправить полученные id с головоного на удаленный
5. Изменить idrep удаленной = id с головного
6. Если все успешно то пометить на обоих серверах frep = 1 (синхронизировано)
7 - 12. повторить, только поменяв местами удаленный и головной

для измененных похоже, только без обратной отправки idrep.

И все таки если связь разоврвется, то все может пойти на смарку.

Есть ли спец ПО которое сделает все тоже самое, или можете предложить иной алгоритм, тут главное что СВЯЗЬ МОЖЕТ РАЗОРВАТЬСЯ В ЛЮБОЙ МОМЕНТ


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0399 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.