From: Genix <genix@list.ru> To: "культурный офтопик" <smoke-room@altlinux.ru> Subject: Re: [room] совет нужен Date: Fri, 26 Aug 2005 11:00:21 +0400 Message-ID: <430EBE05.9050300@list.ru> (raw) In-Reply-To: <del9qv$kgk$1@sea.gmane.org> 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 я и забыл ;) посмотрю, что у них есть > > Простой такой вопрос - что делать у идентификаторами записей в таблицах? > :-) делать их уникальными, т.е. привязанными к каждому филиальскому серверу. ну, раздать например всем номера В любом случае спасибо за свежую мысль!!!! -- У каждого в башке свои тараканы...
prev parent reply other threads:[~2005-08-26 7:00 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2005-08-24 13:24 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 message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=430EBE05.9050300@list.ru \ --to=genix@list.ru \ --cc=smoke-room@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Культурный офтопик 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