Объеденение баз

Тема в разделе "Lotus - Программирование", создана пользователем Xalet, 9 июн 2009.

  1. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Есть 10 конторок. В каждой стоит сервер с апликухой на ЛН(5 связанных баз). Апликуха во всех одинаковая. К каждому из этих серверов конектится народ из округи и работает с апликухой через реплики... Конторки занимаются практически одним и тем же, но в разных частях страны...

    Далее. Есть которка, которая контролирует все 10ть. В ней соответственно есть сервер куда все 10ть баз(10ть по 5ть, если точнее) успешно реплицируются.

    Задача: из всей этой кучи реплик "склеить" одну базу с данными из всех конторок... Конторки будут работать так же, как и работали, данные реплицироваться в кучу... Как эту кучу синхронизировать с конечными базами (добавления, удаления, изменения)?

    У меня идеи кое-какие есть, но они не сильно простые...

    Кто бы как поступил при подобной задаче?

    Спасибо за любые идеи.
     
  2. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    А почему бы не установить всем одну аппликуху (точнее 5 баз), но доступ к документам разграничить так, чтоб каждая конторка видела своё, а центральная всё. Тогда синхронизация будет через репликацию.
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Как программер, я бы скороее всего зафигарил бы самописную ф-ию, котороя синхронизировала бы данные (удаляла/изменяла/добавляла) сохраняя unid'ы.
    Она бы потом вызывалась в либо в шедульном агенте, либо он реквест и синхронизировала данные.

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

    Но как прогер, я б закодил, ибо прёт ;)
     
  4. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    я бы рассмотрел вариант TIA
    тогда основной задачей станет перенос данных в одну реплику, и установка в девяти остальных конторках этой новой реплики...
    ну, еще формула репликации может потребоваться...
     
  5. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Не, ну конечно туд надо репликацией решать.
    Нафига велосипед очередной делать.
    Это я так, бредил...
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    я думаю, что программить там будет что ;) если надо сохранить прежние доки...
    а еще можно напрограммить инсталлер, чтобы базы в конторках по кнопке развернулись и тп...
     
  7. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Хозяйство досталось в таком состоянии, какое оно сейчас... Может оно и вариант всё это поменять... И конечный результат - база ДБ2, а не лн, поэтому репликами в любом случае не решится
     
  8. Murat

    Murat Гость

    у меня была аналогичная задача, обеденить данные из нескольких баз в одну(в моем случае был MySQL)
    через агента собирал данные и перекидывал в MySQL с помощю ODBC
     
  9. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    да. я тоже так собираюсь делать.
    С какими трудностями пришлось столкнуться и как решились?
     
  10. Murat

    Murat Гость

    проблемы были когда надо было перезаписать измененный документ. MySQL сам перезаписывает если ID совподает. А в DB2 это сложновато было, там процедуры надо было писать(мне помогли с DB2, но я уже не помню эту процедуру).
    а так вроде ничего сложного не было
     
  11. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Спасибо, Murat
     
  12. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    я бы сделал так:
    1. придумал бы уникальный идентификатор для каждой базы
    2. прописал бы идентификатор базы в каждый документ базы
    3. сделал бы для всех баз один идентификатор реплики
    4. выставил бы формулы реликаций для региональных баз, где отбор бы шел по интификатору из пункта 1
    5. произвел бы репликацию регионов с центром

    вот и все, а дальше репликации по расписанию
     
Загрузка...

Поделиться этой страницей