|
|
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Есть-ли какая-нибудь альтернатива репликации? К примеру, чтобы изменения доставлялись клиентам сервером, а не запрашивались клиентами? Если такой способ есть, то решается-ли проблема плохих каналов или временной недоступности одного из клиентов? (Под клиентом и сервером понимаются БД. БД, на которой ведется изменения какой-либо таблицы - сервер(отн-но этой таблицы), БД получающая эти изменения - клиент) Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 10:42 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Может имеет смысл испоьзовать Job. На сервере изменения где нибудь накапливаются, например во временной таблице, а затем по job происходит пересылка. Если неудачно, то временная табличка не очищается и пересылка повторяется в другой раз, а если удачно, то табличка очищается. Вот как бы первое что приходит в голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 11:03 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Внесу одно дополнение - клиентов может быть несколько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 11:05 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Режим Standby database. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 11:07 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Если клиентов несколько, то во временной таблице должно быть поле идентифицирующее клиента. Сервак должен последовательно пробегать строчки и если удача, то удалять строки клиента куда получилось послать, а если нет, то оставлять. Предполагаю, что стандартной реализации всего этого нет и тут надо писать все самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 11:13 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
To Gooddy А есть-ли дока на русском? To MMS Такая реализация, по-моему очень неэффективна. Хранить идентичную запись во временной таблице очень накладно, тем более, что предлагается их размножить по числу клиентов. Маза сделать что-то типа снапшот логов, только с ID клиента имеет смысл с т.зр. экономии табличного пространства, тогда надо будет генерить DML. Кроме того, придется насоздавать кучу триггеров, а потом за целостностью следить также надо будет. Думаю, что производительность существенно упадет. Вывод - слишком много накладных расходов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 11:33 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Почитал сейчас доку по standby, вещь хорошая, но! Все это не на уровне таблиц, а на уровне всей БД, как я понял. А если ситуация более сложная, и клиент и сервер для одной таблицы, для другой могут поменяться местами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 12:30 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
На русском нет. Этот режим полностью не заменяет репликацию. Он работает в одностороннем режиме, изменения в основной БД приводят к изменениям в резервной БД. Резервная БД может работать только в режиме чтения. Правда говорят в 9i можно и в режиме записи. Вообщем смотри документацию. Сам я этот режим не пробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 12:37 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Может стоит посмотреть на альтернативные источники. Слышал вроде, что у Sybase есть средство создания репликации в гетерогенной среде, т.е. когда данными обмениваются различные БД с различными методами доставки данных. Вроде как там локальные сервера "подписываются" на заинтересованность получения изменений у сервера репликации, а тот потом рассылает требуемые изменения. причем не только в on-line, но, к примеру, может выкладывать их по ftp, чуть ли не по почте слать. Мне самому эта вешь интересует, хотя бы для общего развития, если найдешь какую-нибудь дополнительную информацию- буду признателен за возможность с ней ознакомиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 12:49 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
я работал в одной конторе, где используется самописная репликация с 8 удаленными регионами в online-режиме. Была написана собств. командой после бесплодных попыток работы с родной оракловой репликацией. Идея такова: отслеживаются все изменения на источнике, которые периодически скидываются в несколько буферных таблиц (по кол-ву реплицируемых типов) с описанием имя таблицы, номер столбца, старое значение, новое значение и т.д. которые однозначно идентифицируют изменения в базе. Далее эти таблицы экспортируются и тем же клиентом удаленно импортируются в региональные базы в такие буферные таблицы из которых происходит уже обратный разбор и в результирующий сиквел. Работало это хозяйство на джобах, дергающих соотв. процедуры и триггерах, которые собств. остлеживали изменения в базах. Про производительность лучше не вспоминать (ужас), на 8ми процессорной машине (Хеоны) репликация забирала где-то процентов 30 у машины. Вобщем дело было достаточно геморойное, довольно частые подвисания процесса из-за обрыва каналов (тунели через интернет). Улучшить можно было бы за счет переделки удаленного импорта на копирование файла и локальный импорт на удаленных базах. Но в целом, в штатном режиме клиент, оплативший наликом в Москве, через 15 минут мог забирать товар в Новосибе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 13:09 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
To Gooddy Резервная БД может работать только в режиме чтения. Как я понял из доки, это верно для случая physical standby, есть еще logical standby, тогда standby-базу можно изменять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 13:24 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
В 8i только чтение в 9i говорят что возможна и зарись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 13:38 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
To killed Удалось ли таким способом избежать потерь информации при передаче? И в чем, если не секрет, была основная заморочка с оракловой репликацией? Каналы плохие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 13:46 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
информацию вроде не теряли. Основные проблемы - конечно качество местных каналов, оракл на них не рассчитан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 13:49 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Еще кое-что насчет Standby - этот режим решает проблему плохих каналов? Или будет как с оракловой репликацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 14:23 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
А чем вам не нравится асинхронная расширенная мастер-репликация на плохих каналах? По умолчанию для задания даётся 16 попыток передать отложенные тразакции. Период выполнения Job можно сделать оптимальный, что-бы не накапливалось много отложенных транзакций и не слишком часто запускалось задание. Подбирается на практике. Если job всё же встал после 16 попыток, то можно вручную запустить Job. После успешной перекачки он вновь перейдёт в автоматический режим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 14:30 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
standby обычно не делают на удаленный сервер. Это локальная сеть. В случае, когда речь идет об удаленном Disaster Data Center, то там обычно хватает денег на дорогие решения в духе snapshot (mirror) резервирования да и каналы надежны. Думаю standby не подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 14:32 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Если сервры в одном городе то при standby архивные файлы можно переправлять на дискетах, CD RW, МЛ или на любом другом носителе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 15:25 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Интересно, сколько будет занимать процесс активации standby в этом случае :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 15:33 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Но все же - если репликация усугубляется необходимостью обрабатывать, скажем, один и тот же документ по очереди в различных базах (например, заказ набран в базе А, и обрабатывается в базе В, принимается в С и возвращается в А в виде закрытой накладной). Такие хождения можно разрулить только самодельной репликацией, или в 9-ке есть все же какое-то могучее средство ???. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2002, 13:09 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
"Но все же - если репликация усугубляется необходимостью обрабатывать, скажем, один и тот же документ по очереди в различных базах (например, заказ набран в базе А, и обрабатывается в базе В, принимается в С и возвращается в А в виде закрытой накладной). " Придёться еще раз спросить. Чем тебя не устраивает master-репликация? Все базы в случае мастер-репликации абсолютно идеинтичные. Все изменения на одной базе отображаются на всех остальных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2002, 13:47 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
2 qminter А нужно ли такое кол-во баз, может достаточно одной? Вот в чем концептуальный вопрос!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2002, 14:49 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
Killed )) : Мне эти базы не нужны, даже даром. Проблема заключается в физическом разбросе филиалов по городам нашей любимой Украины. Филиалов - штук 10, функционируют круглосуточно. В online работать конечно хочется, но как-то трепетно это, особенно если посмотреть на бульдозер, копающий яму возле нашего оптоволокна ). Поэтому необходима реализация автономной работы каждой базы, на всякий случай (который случается 100% раз в неделю). СофтБилдер : дело в том что документы ходят не только из центальной базы, но и из филиалов. Определить при мастер репликации - кто тут мастер, а где детали - задача в каждом случае своя, хотя тип документа тот же. Тем более, что документы должны пройти полностью весь свой жизненный путь в каждой конкретной базе, для того что бы правильно повлиять на остатки, задолженности, баланс, сгенерировать наборы событий для тучи всевозможных устройств, и т.д. В общем случае МастерРепликация похожа на кучу секондхенда, где надо копаться, определяя те вещи, которые тебе нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2002, 16:36 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
>Мне эти базы не нужны, даже даром. всегда знал, что в Одессе с юмором все в порядке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2002, 16:49 |
|
||
|
Альтернатива репликации
|
|||
|---|---|---|---|
|
#18+
": дело в том что документы ходят не только из центальной базы, но и из филиалов. Определить при мастер репликации - кто тут мастер, а где детали - задача в каждом случае своя, хотя тип документа тот же. " Мне кажется ты плохо понимаешь что такое мастер-репликация. При мастер-репликации нет понятия мастер и детали. Если скажем у тебя 5 серверов в мастер-репликации - они все абсолютно равноправны. И информация везде идеинтична. Можешь обращаться к какой угодно базе откуда угодно - везде будет одна и тажа информация. Это всё равно, что база вообще только одна. Можешь себе представить, что у тебя есть еще несколько копий. Отличие будет только до тех пор пока отложенные транзакции не перетекут на остальные сервера. А вообще можно использовать двухфазный commit, который просто 100% гарантирует, что у тебя базы никогда не будут отличаться. По-прежнему не могу понять в чём причина невозможности использования в твоём варианте? И еще, если у тебя клиенты по всей стране или даже за пределами, то делается это совсем по-другому: Создаёшь всего одну базу, можешь ставить её в репликацию, можешь нет. Но в любом случае это нужно будет только для резервирования, на случай когда падает основная. Потом пишешь Internet-проект, можно на Java, что проще. Вся бизнес-логика работает только с одной рабочей базой. Клиенты с мест работают не через специальные программы, а через обычный браузер и естественно не с базой, а с сервлетом, через Apache. Эта технология для таких случаев как твой работает в России уже много лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2002, 17:22 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32061187&tid=1992217]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 501ms |

| 0 / 0 |
