Культурный офтопик
 help / color / mirror / Atom feed
* [room] совет нужен
@ 2005-08-24 13:24 Genix
  2005-08-24 13:28 ` Vasya Makarov
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Genix @ 2005-08-24 13:24 UTC (permalink / raw)
  To: культурный
	офтопик

Приветствую!

Подскажите пожалуйста, как лучше реализовать следующую схему:

Имеется центральный сервер СУБД и несколько филиальских.
В каждом филиале запущено несколько программ, работающих с базой данных.
Хочется добиться такого, чтобы при потере соединения, филиальские 
программы продолжали работать с базой, а при появлении база 
синхронизировалась с основной.

Работа в основном ведется по введению/созданию документов (т.е. insert'ы 
в какую-то таблицу и может чтение из каких-то справочных таблиц).

Можно ли сделать это средствами СУБД? Или есть уже готовые решения?
Что посоветуете, куда смотреть?

Или может придется писать приложение, которое будет производить 
синхронизацию?

-- 
У каждого в башке свои тараканы...


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [room] совет нужен
  2005-08-24 13:24 [room] совет нужен Genix
@ 2005-08-24 13:28 ` Vasya Makarov
  2005-08-24 13:32   ` Genix
  2005-08-25  2:34 ` Беляев В. Н.
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Vasya Makarov @ 2005-08-24 13:28 UTC (permalink / raw)
  To: культурный
	офтопик

Genix пишет:
> Приветствую!
> 
> Подскажите пожалуйста, как лучше реализовать следующую схему:
> 
> Имеется центральный сервер СУБД и несколько филиальских.
> В каждом филиале запущено несколько программ, работающих с базой данных.
> Хочется добиться такого, чтобы при потере соединения, филиальские 
> программы продолжали работать с базой, а при появлении база 
> синхронизировалась с основной.
> 
> Работа в основном ведется по введению/созданию документов (т.е. insert'ы 
> в какую-то таблицу и может чтение из каких-то справочных таблиц).
> 
> Можно ли сделать это средствами СУБД? Или есть уже готовые решения?
> Что посоветуете, куда смотреть?
> 
> Или может придется писать приложение, которое будет производить 
> синхронизацию?
> 
Если клиентские приложения самописные, можно в них буфер 
вставить. Или завести в каждом филиале локальную БД, которую и 
синхронизировать.
-- 
Regards,
Vasya


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [room] совет нужен
  2005-08-24 13:28 ` Vasya Makarov
@ 2005-08-24 13:32   ` Genix
  2005-08-25 10:50     ` Gennadiy Redko
  0 siblings, 1 reply; 9+ messages in thread
From: Genix @ 2005-08-24 13:32 UTC (permalink / raw)
  To: drmoriarty,
	культурный
	офтопик

Vasya Makarov wrote:

>> Можно ли сделать это средствами СУБД? Или есть уже готовые решения?
>> Что посоветуете, куда смотреть?
>>
>> Или может придется писать приложение, которое будет производить 
>> синхронизацию?
>>
> Если клиентские приложения самописные, можно в них буфер вставить. Или 
> завести в каждом филиале локальную БД, которую и синхронизировать.

я сейчас тоже смотрю на вариант с синхронизацией.
остановиться хочу на PostgreSQL, а кто что посоветует в качестве решения 
для репликации?
slony не подходит по причине r/o slave'ов %(


-- 
У каждого в башке свои тараканы...


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [room] совет нужен
  2005-08-24 13:24 [room] совет нужен Genix
  2005-08-24 13:28 ` Vasya Makarov
@ 2005-08-25  2:34 ` Беляев В. Н.
  2005-08-25  5:29   ` Genix
  2005-08-25  9:49 ` Michael Shigorin
  2005-08-25 20:31 ` Arioch
  3 siblings, 1 reply; 9+ messages in thread
From: Беляев В. Н. @ 2005-08-25  2:34 UTC (permalink / raw)
  To: культурный
	офтопик

Hello Genix,

Wednesday, August 24, 2005, 7:24:16 PM, you wrote:

G> Имеется центральный сервер СУБД и несколько филиальских.
G> В каждом филиале запущено несколько программ, работающих с базой данных.

Это уже работает или еще только планируется?
Если работает, то на чем?

--  
С уважением, Беляев
ICQ: 119181289




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [room] совет нужен
  2005-08-25  2:34 ` Беляев В. Н.
@ 2005-08-25  5:29   ` Genix
  0 siblings, 0 replies; 9+ messages in thread
From: Genix @ 2005-08-25  5:29 UTC (permalink / raw)
  To: "Беляев
	В.Н.",
	культурный
	офтопик

Беляев В. Н. wrote:

> G> Имеется центральный сервер СУБД и несколько филиальских.
> G> В каждом филиале запущено несколько программ, работающих с базой данных.
> 
> Это уже работает или еще только планируется?

пока только планируется

> Если работает, то на чем?

в процессе выбора, ибо тащить informix в филиалы нет никакого желания


-- 
У каждого в башке свои тараканы...


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [room] совет нужен
  2005-08-24 13:24 [room] совет нужен Genix
  2005-08-24 13:28 ` Vasya Makarov
  2005-08-25  2:34 ` Беляев В. Н.
@ 2005-08-25  9:49 ` Michael Shigorin
  2005-08-25 20:31 ` Arioch
  3 siblings, 0 replies; 9+ messages in thread
From: Michael Shigorin @ 2005-08-25  9:49 UTC (permalink / raw)
  To: культурный
	офтопик

On Wed, Aug 24, 2005 at 05:24:16PM +0400, Genix wrote:
> Можно ли сделать это средствами СУБД? Или есть уже готовые решения?
> Что посоветуете, куда смотреть?

Могу поспрошать mysql'щиков знакомых.  Сам туда не смотрел, 
но устроить распределённый typo3-хостинг немного интересно. :)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [room] совет нужен
  2005-08-24 13:32   ` Genix
@ 2005-08-25 10:50     ` Gennadiy Redko
  0 siblings, 0 replies; 9+ messages in thread
From: Gennadiy Redko @ 2005-08-25 10:50 UTC (permalink / raw)
  To: культурный
	офтопик

> Vasya Makarov wrote:
> 
>>> Можно ли сделать это средствами СУБД? Или есть уже готовые решения?
>>> Что посоветуете, куда смотреть?
http://www-rohan.sdsu.edu/doc/oracle/server803/A54653_01/toc.htm
Не оно ?


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [room] совет нужен
  2005-08-24 13:24 [room] совет нужен Genix
                   ` (2 preceding siblings ...)
  2005-08-25  9:49 ` Michael Shigorin
@ 2005-08-25 20:31 ` Arioch
  2005-08-26  7:00   ` Genix
  3 siblings, 1 reply; 9+ messages in thread
From: Arioch @ 2005-08-25 20:31 UTC (permalink / raw)
  To: smoke-room

Genix пишет:
> Приветствую!
> 
> Подскажите пожалуйста, как лучше реализовать следующую схему:
> 
> Имеется центральный сервер СУБД и несколько филиальских.
> В каждом филиале запущено несколько программ, работающих с базой данных.
> Хочется добиться такого, чтобы при потере соединения, филиальские 
> программы продолжали работать с базой, а при появлении база 
> синхронизировалась с основной.

Много ли филиальских программ? нужна ли им промежуточная база, или проще 
каждую переводить в offline-режим, как почтовый киент ?

> Работа в основном ведется по введению/созданию документов (т.е. insert'ы 
> в какую-то таблицу и может чтение из каких-то справочных таблиц).

Справочные таблицы кэшируются-реплицируются на филиальный сервер, оттуда 
на клиентов и хранятся у них на винте в DBF.
insert'ы оормляются как e-mail, и могут сидеть  Исходящих сколько 
угодно, пока сеть не появится. Еще лучше - оформлять их как nws 
(форумный NNTP-протокол - вот вам и способ доступа к БД. В том же 
ibexpert.com на базе писем с доп. заголовками сделан встроенный в прогу 
багтрэкер - похожа его модель на то, что нужно? )

Я правда не верю, что этим действительно ограничивается работа 
программы, просто описать в двух строках ее вряд ли возможно :-)

> 
> Можно ли сделать это средствами СУБД? Или есть уже готовые решения?
> Что посоветуете, куда смотреть?

в конфе по файрберду на ibase.ru года два назад было перечисленно три 
схенмы репликации (одна из них встроенна в ibexpert.com) и резюмированно 
что выбор и допилка сильно зависят от задачи.

Простой такой вопрос - что делать у идентификаторами записей в таблицах? :-)

Спроси, м.б. у кого в архивах ты втека найдется




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [room] совет нужен
  2005-08-25 20:31 ` Arioch
@ 2005-08-26  7:00   ` Genix
  0 siblings, 0 replies; 9+ messages in thread
From: Genix @ 2005-08-26  7:00 UTC (permalink / raw)
  To: культурный
	офтопик

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 я и забыл ;)
посмотрю, что у них есть

> 
> Простой такой вопрос - что делать у идентификаторами записей в таблицах? 
> :-)

делать их уникальными, т.е. привязанными к каждому филиальскому серверу.
ну, раздать например всем номера


В любом случае спасибо за свежую мысль!!!!

-- 
У каждого в башке свои тараканы...


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2005-08-26  7:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-24 13:24 [room] совет нужен Genix
2005-08-24 13:28 ` Vasya Makarov
2005-08-24 13:32   ` Genix
2005-08-25 10:50     ` Gennadiy Redko
2005-08-25  2:34 ` Беляев В. Н.
2005-08-25  5:29   ` Genix
2005-08-25  9:49 ` Michael Shigorin
2005-08-25 20:31 ` Arioch
2005-08-26  7:00   ` Genix

Культурный офтопик

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
		smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
	public-inbox-index smoke-room

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.smoke-room


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git