From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <430EBE05.9050300@list.ru> Date: Fri, 26 Aug 2005 11:00:21 +0400 From: Genix User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050512) X-Accept-Language: en-us, en MIME-Version: 1.0 To: =?KOI8-R?Q?=CB=D5=CC=D8=D4=D5=D2=CE=D9=CA_=CF=C6=D4=CF=D0=C9=CB?= Subject: Re: [room] =?KOI8-R?Q?=D3=CF=D7=C5=D4_=CE=D5=D6=C5=CE?= References: <430C7500.2070706@list.ru> In-Reply-To: Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-OriginalArrivalTime: 26 Aug 2005 07:00:10.0958 (UTC) FILETIME=[CCF026E0:01C5AA0B] X-BeenThere: smoke-room@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: =?koi8-r?b?y9XM2NTV0s7ZyiDPxtTP0MnL?= List-Id: =?koi8-r?b?y9XM2NTV0s7ZyiDPxtTP0MnL?= List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Aug 2005 07:00:12 -0000 Archived-At: List-Archive: List-Post: 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 я и забыл ;) посмотрю, что у них есть > > Простой такой вопрос - что делать у идентификаторами записей в таблицах? > :-) делать их уникальными, т.е. привязанными к каждому филиальскому серверу. ну, раздать например всем номера В любом случае спасибо за свежую мысль!!!! -- У каждого в башке свои тараканы...