[room] совет нужен
Genix
=?iso-8859-1?q?genix_=CE=C1_list=2Eru?=
Пт Авг 26 11:00:21 MSD 2005
Arioch wrote:
>> Подскажите пожалуйста, как лучше реализовать следующую схему:
>>
>> Имеется центральный сервер СУБД и несколько филиальских.
>> В каждом филиале запущено несколько программ, работающих с базой данных.
>> Хочется добиться такого, чтобы при потере соединения, филиальские
>> программы продолжали работать с базой, а при появлении база
>> синхронизировалась с основной.
>
>
> Много ли филиальских программ? нужна ли им промежуточная база, или проще
> каждую переводить в offline-режим, как почтовый киент ?
первоначально хотелось наименьщими усилиями перевести готовую программу
в режим работы без связи. и показалось, что репликация одно из самых
быстрых решений, тем самым избежав внесения изменений в работу/код
программы.
а если так, то можно сделать либо репликацию на автомате, либо
самописным сервисом (тут у программиста больше свободы но и
реализовывать это тоже кому-то надо)
>
>> Работа в основном ведется по введению/созданию документов (т.е.
>> insert'ы в какую-то таблицу и может чтение из каких-то справочных
>> таблиц).
>
>
> Справочные таблицы кэшируются-реплицируются на филиальный сервер, оттуда
> на клиентов и хранятся у них на винте в DBF.
ну зачем dbf?
есть же hsqldb, sqlite -- вполне себе sql решение.
от этих dbf уже одни только проблемы в распределенной сети (у нас еще
осталась гетерогенная схема, SQL + DBF и куча софта который таскает
данные туда/обратно)
> insert'ы оормляются как e-mail, и могут сидеть Исходящих сколько
> угодно, пока сеть не появится. Еще лучше - оформлять их как nws
> (форумный NNTP-протокол - вот вам и способ доступа к БД. В том же
> ibexpert.com на базе писем с доп. заголовками сделан встроенный в прогу
> багтрэкер - похожа его модель на то, что нужно? )
что-то мне это напоминает изобретение велосипеда... или даже самоката
а как быть если письмо (insert == email) потеряется?
> Я правда не верю, что этим действительно ограничивается работа
> программы, просто описать в двух строках ее вряд ли возможно :-)
>
>>
>> Можно ли сделать это средствами СУБД? Или есть уже готовые решения?
>> Что посоветуете, куда смотреть?
>
>
> в конфе по файрберду на ibase.ru года два назад было перечисленно три
> схенмы репликации (одна из них встроенна в ibexpert.com) и резюмированно
> что выбор и допилка сильно зависят от задачи.
а про interbase я и забыл ;)
посмотрю, что у них есть
>
> Простой такой вопрос - что делать у идентификаторами записей в таблицах?
> :-)
делать их уникальными, т.е. привязанными к каждому филиальскому серверу.
ну, раздать например всем номера
В любом случае спасибо за свежую мысль!!!!
--
У каждого в башке свои тараканы...
Подробная информация о списке рассылки smoke-room