[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