|
|
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Есть уже реализованный проект, сеть из >200 клиентов (ASA9) с настроенной репликацией (через FTP) посредством SQLRemote и одной консолидированной БД. Периодически возникает проблема рассинхронизации БД, как правило из-за обрыва связи, клиент не может засинхронизироваться в течении дня (как правило там где связь через модем). А там где ADSL или нормальная сеть в течение нескольких часов все нормализуется. И тогда приходится выгружать БД для клиента и везти ее "ножками". Хорошо что клиенты ВСЕ в Москве (есть пара в Зеленограде). Но !!! вот пришли люди из Подмосковья и сказали хотим такую же "систему" ... и мы впали в раздумье, что таки выбрать? В Московском Sybase все (или почти все) говорят о mobilink, а про SQLRemote в духе - "это прошедший день". Что думает сообщество по этому вопросу? Насколько он надежен? для плохих линий связи? для НЕпериодического выхода на связь клиентов (ну т.е. не каждый день а 2-3 раза в неделю) Насколько труден в исполнении, ведь по сравнению с SQLRemote в последнем - настроил публикации, подписки, выгрузил БД, запустил репликацию и ВСЕ!, т.е. не надо писать никаких триггеров, хр. проц. и пр. PS:в данный момент, в работающей системе приходится ездить к клиентам 1-1,5 раза в неделю .... состав клиентов примерно такой: 90шт. с хорошей связью (ADSL или network) и 130 на модемах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 10:22 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
_Drive_Добрый день всем! Есть уже реализованный проект, сеть из >200 клиентов (ASA9) с настроенной репликацией (через FTP) посредством SQLRemote и одной консолидированной БД. Периодически возникает проблема рассинхронизации БД, как правило из-за обрыва связи, клиент не может засинхронизироваться в течении дня (как правило там где связь через модем). А там где ADSL или нормальная сеть в течение нескольких часов все нормализуется. И тогда приходится выгружать БД для клиента и везти ее "ножками". Хорошо что клиенты ВСЕ в Москве (есть пара в Зеленограде). Но !!! вот пришли люди из Подмосковья и сказали хотим такую же "систему" ... и мы впали в раздумье, что таки выбрать? В Московском Sybase все (или почти все) говорят о mobilink, а про SQLRemote в духе - "это прошедший день". Что думает сообщество по этому вопросу? Насколько он надежен? для плохих линий связи? для НЕпериодического выхода на связь клиентов (ну т.е. не каждый день а 2-3 раза в неделю) Насколько труден в исполнении, ведь по сравнению с SQLRemote в последнем - настроил публикации, подписки, выгрузил БД, запустил репликацию и ВСЕ!, т.е. не надо писать никаких триггеров, хр. проц. и пр. PS:в данный момент, в работающей системе приходится ездить к клиентам 1-1,5 раза в неделю .... состав клиентов примерно такой: 90шт. с хорошей связью (ADSL или network) и 130 на модемах mobilink для синхронизации данных приходящих манагеров в центральный офис и можно использовать если у Вас разнородные СУБД (Oracle? MS SQL). SQLRemote должен стабильно работать (если все время не "ковыряться"). Обратите внимание SMTP (почту). Размером писем можно управлять. Есть связь - все передается. Нет связи - ждет когда появиться связь Во всяком случае работало при сборе данных из ~40 филиалов от Камчатки до Калининграда При использовании mobilink, как я представляю, Вам придется устанавливать канал соединения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 11:12 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
ARTURV, Да, мы в курсе что придется устанавливать соединение ... т.е. могу возникнуть проблемы, если БД за firewall или у клиента выход в инет через proxy или по соображениям безопасности вообще закрыт доступ в инет по сомнительным портам ... а кроме этих (тоже важных) вопросов другие ограничения, проблемы какие могут возникнуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 12:17 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
А у вас данные только в сторону клиентов ездят ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 14:34 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
Марсель, Нет ... не только, есть и наоборот. Есть даже такие таблицы в которых Update делается и у клиента и в consolidated ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 15:33 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
1. Если не хотите переписывать логику посмотри парметр -tu в dbmlsync 2. Если одновременно с синхронизацией будут работать с БД (на запись), будут теряться транзакции (при -tu lt=OFF) обход: ALTER PROCEDURE "DBA"."sp_hook_dbmlsync_logscan_begin"() BEGIN END; но это не полность исключит возможность, просто уменьшит вероятность 3. при lt=OFF - будут проблемы при изменении структуры БД через sp_hook_dbmlsync_schema_upgrade при lt=ON - проблем с изменением структуры не будет, но будут блокировки, которые не решаться даже при параметре -d вот как-то так, у меня ... Для вас я думаю лучше будет сделать паралельно DBRemote - для всех кто уже работает и нет проблем mobilink - для новых, а потом переведете и всех из диалапа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 15:40 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
Марсель, А как Вы поступаете в случае "рассинхронизации" БД? Или такое в принципе не возможно при условии использования mobilink? А как он (mobilink) ведет себя в случае обрыва связи при передачи больших объемов данных? PS:ищу для себя аргументы остаться на SQLRemote :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 15:58 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
так ведь мобилинк созадвался создавлся как синхронный репликатор для хороших каналов свзяи и постоянного соединения. У вас ситуация ровно противоположная, каналы плохие и данные приходят по разным каналам связи. Т.е. вы импользуете именно правильную технологию сейчас. Главный вопрос в том, - почему разваливается репликация? Она может сильно запаздывать, но не должна разваливаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 16:37 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
Ggg_old пишет: > так ведь мобилинк созадвался создавлся как синхронный репликатор для > хороших каналов свзяи и постоянного соединения Сам Sybase несколько иного мнения: "MobiLink supports databases that are occasionally connected or indirectly connected to the network on which the server is running". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 16:41 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
Ggg_old, +1 Если допустить, что у автора с настройкой репликаций и увязкой репликаций с логикой в базе - все Ок, то тут только из-за плохого канала. Подозреваю, что если клиент долго не выходит на связь, скапливается куча сообщений для него. И обработать их по модему и плохому каналу проблема. Постоянные перепосылки и т.п. На таком канале ничего не спасет. Можно еще попробовать "обхитрить" SQLRemote, оптимизируя передачу файлов сообщений: На консолидированной для таких клиентов и на самих клиентах направить репликацию в локальные каталоги. По выходу клиента на связь реализовать примерно такой сценарий - на консолидированной пакуются все файлы сообщений для этого клиента в архив - архив передается клиенту - распаковыватся в локальный каталог на который натравлен dbRemote - запускается dbRemote в режиме командной строки. Все примет, все отправит, но оправит в локальный директорий который для консол базы - пакуем у клиента все в локальном директории для конс базы и передаем файл на конс базу . Там по тому же принципу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2010, 17:08 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо! за комментарии и советы (респект antand) ... Мы примерно так все и предполагали. И последний вопрос. Правильно ли я понимаю, что для ВСЕХ реплицируемых таблиц придется (ручками) написать тройку триггеров отдельно для consolidated и clients БД? и плюc к этому написать процедуры типа sp_hook_dbmlsync_logscan_begin, sp_hook_dbmlsync_schema_upgrade для всяких "сложных" ситуаций. Если учесть, что у нас и так "своих" триггеров, реализующих некую логику, достаточно для этих таблиц то ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 09:43 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
Есть еще вопрос, он не совсем в ЭТУ тему, но "рядом". В нашей "системе" consolidate БД связана с БД ASE через прокси таблицы и триггеры, т.е. на обоих серверах настроены прокси на одинаковые таблицы. Так вот случаются (иногда) взаимные блокировки, когда например dbremote хочет сделать Update или Insert, который по триггерам через прокси таблицы должен повторить эти действия на ASE, а на ASE делатся Delete из этой же таблицы (они все rowlevel lock scheme) ... Во всех триггерах проверяется КТО их вызвал (ну в смысле если триггер вызвали "через прокси" то тут же return) .. и в этот момент "может возникнуть" взаимная блокировка .... ведь dbremote лочит ВСЮ таблицу на ASA ... или я что-то не понимаю? и как избежать этого ... или хотябы внутри триггера на ASE узнать что "нужная" таблица на ASA залочена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 09:56 |
|
||
|
ASA репликаця что выбрать SQLRemote или mobilink?
|
|||
|---|---|---|---|
|
#18+
_Drive_ А как Вы поступаете в случае "рассинхронизации" БД? Или такое в принципе не возможно при условии использования mobilink? А как он (mobilink) ведет себя в случае обрыва связи при передачи больших объемов данных? "рассинхронизации" не бывает, бывает тупо убивают БД, тогда если не могут востановить на месте из бэкапа, выгружаем новую (с данными до последней синхронизации) + накатываем лог на месте. При ошибках БД просто откатывает изменения синхронизации и все, но это можно мониторить и решать оперативно. При обрыве вроде докачивает ... _Drive_ Правильно ли я понимаю, что для ВСЕХ реплицируемых таблиц придется (ручками) написать тройку триггеров отдельно для consolidated и clients БД? и плюc к этому написать процедуры типа sp_hook_dbmlsync_logscan_begin, sp_hook_dbmlsync_schema_upgrade для всяких "сложных" ситуаций. Если учесть, что у нас и так "своих" триггеров, реализующих некую логику, достаточно для этих таблиц то ..... Для удаленной только публикация, в центральной скрипты для каждой таблицы (5 основных) sp_hook_dbmlsync_logscan_begin - надо, она нужна пустая, только в том случае который я описал sp_hook_dbmlsync_schema_upgrade - нужен если будете изменять структуру БД. На самом деле там все легко. Делаете таблицу в которую записываете имя таблицы и какие скрипты делать, и хранимку в которой в центральной бд по этой таблице делаете скрипты + дополнительные поля (timestamp) + триггеры (если надо), а в удаленной изменяете публикацию. вот как-то так :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 09:57 |
|
||
|
|

start [/forum/moderation_log.php?user_name=%D0%A0%D0%BE%D0%BC%D0%B0%D0%BD+%D0%9B%D0%BE%D0%B3%D0%B0%D1%87%D0%B5%D0%B2]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 437ms |
| total: | 602ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...