MS SQL Replication

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
ura
Житель
Сообщения: 915
Зарегистрирован: 09 мар 2003, 22:46

MS SQL Replication

Сообщение ura »

Есть ли возможность создать репликацию между двумя идентичными базами чтобы изменения в любой из баз моментально или достаточно оперативно отражались на другой.

Насколько я понимаю механизм Publisher / Subscriber работает только в одну сторону и база на стороне Subscriber просто обновляется согласно replication правилам и похоже даже не может быть изменена.
Сам механизм кажется очень хрупким, савливается время от времени и приходится перестартовывать все по новой, генерировать новый snapshot и pull subscription.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Насколько я понимаю механизм Publisher / Subscriber работает только в одну сторону и база на стороне Subscriber просто обновляется согласно replication правилам и похоже даже не может быть изменена.
Дык вроде в хелпе написано, что Subscriber может попросить Publisher через дистрибьютера опубликовать изменения для других подписчиков (хотя и различным способом в зависимости от выбранной Вами модели).

Сам, я, к сожалению, не занимался этой задачей (для MS SQL).
Но, думаю, что Вы можете быть правы, т.к. декларации M$ не всегда совпадают с реалиями. Касаемо различных служб репликации в W2k можно сказать только одно - устойчиво работает только репликация баз AD, глобального каталога, DNS на контроллерах домена, ну и может быть лицензсервайсы (хотя последнее - несколько более горбато), имхо. Репликация в DFS - вообще угрёбистость (по существу совпадает с Вашими подозреними в части однонаправленности в MSSQL - всё только от мастера к слейв репликам). Может и в MSSQL они не далеко ушли по существу.

По-существу.
1) Как видно из хелпа (хотя это видно и так) выбор модели репликации сильно зависит от клиентской проги. Посмотрите внимательно, что у клиентов? Если там прога от Access или писанная на Delphi, BCB++ (с использованием компонент TDBxxx) - то скорее всего работать не будет. Это потому, что сии "технологии" требуют постоянных или длительных соединений. Если нет уверенно, что будет у клиентов - мож вообще бросить затею, и искать более деревянные способы?

2) Посмотрите, как сделано в оракле. M$ не сможет сделать лучше по определению. И если там это не работает, то в M$ - тем более. В Канаде спецов по ораклу, думаю, валом. Поспрашайте их. Я не знаю оракл, Но то, что оракл включает реализацию паттерна "паблишер - сабскрайбер" - это точно.

ПС.
1) Извините за мои бестолковые советы. Это просто размышления вслух.
2) Завидую Вам. Можете заниматься интересным делом. Эх ...
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

рекомендую спросить на скл.ру.... там есть пара кентов толковых в реплицации.... я хоть и подсел на скл сервер в его репликации как свинья в апельсинах :)
ura
Житель
Сообщения: 915
Зарегистрирован: 09 мар 2003, 22:46

Сообщение ura »

Спасибо за ответы, бум ковыряться...
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

Сообщение MarkM »

ura писал(а):Спасибо за ответы, бум ковыряться...
[trn]Ja zanimajus' R i eshe segodnja poproboval Log Shipping.
Samodel'nyj t.k Netu Enterrprajz Edishn. Cherez dzhoby.

Ja delaju s cel'ju Haj Avajlabiliti.
Tak vot Log Shipping mne bol'she ponravilsja.
Odin nedostatok. Ne mozhet byt' real time. Ja zapuskajy tranz log backup raz v 10 min.

S R eshe problema. Ona dobavljaet sluzhebnyj stolb v tablicu.[/trn]
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

ura:
Спасибо за ответы, бум ковыряться...

Я занимаюсь Р и еше сегодня попробовал Лог Шиппинг.
Самодельный т.к Нету Ентеррпрайз Едишн. Через джобы.

Я делаю с целью Хай Авайлабилити.
Так вот Лог Шиппинг мне больше понравился.
Один недостаток. Не может быть реал тиме. Я запускайы транз лог бацкуп раз в 10 мин.

С Р еше проблема. Она добавляет служебный столб в таблицу.
Просто интересно....
Если я правлильно тебя понял, и если ты занимаешься "в рукопашную" "репликацией", то после обработки транзакции на неком а-ля "db-мастере" ты ставишь в "служебном поле" (пусть IsUpdated) таблиц, например, 1 ( 2, ...). Далее при помощи джобов ты обрабатываешь, например, view (select ... from ... where IsUpdated = 1) и обновляешь данные в "реплике", а по view (select ... from ... where IsUpdated = 2), например, вставляешь новые данные в "реплику", а по view (select ... from ... where IsUpdated = 3), например, удаляешь данные из "реплики".

Но! это эмуляция "репликации" "в одну сторону" - от мастера к слэйв-реплике. И это и так у автора топика работает. Задача-то у него гораздо круче. Согласовать транзакции по публикациям, полученных Publisher от, возможно, многих подписчиков (Subscribers). Если даже автор топика "загрубится" до такого функционала, то думаю, всё равно следует использовать встроенную репликацию, а не самопальную. Почему? Когда сам мастеришь - больше ошибок.

ПС. Марк, не ругайся на меня. Твой подход нормальный. Просто я в репликации, как свинья в апельсинах и мандаринах. :lol:
Vovchik
Маньяк
Сообщения: 2841
Зарегистрирован: 20 фев 2003, 09:15
Откуда: Vancouver

Re: MS SQL Replication

Сообщение Vovchik »

ura писал(а):Есть ли возможность создать репликацию между двумя идентичными базами чтобы изменения в любой из баз моментально или достаточно оперативно отражались на другой.

Насколько я понимаю механизм Publisher / Subscriber работает только в одну сторону и база на стороне Subscriber просто обновляется согласно replication правилам и похоже даже не может быть изменена.
Сам механизм кажется очень хрупким, савливается время от времени и приходится перестартовывать все по новой, генерировать новый snapshot и pull subscription.
В Мелкомягком можно настроить режим двухсторонней репликации. Однако - не всегда это будет работать. Необходимо четко представлять что происходит и как разрешать конфликты при репликации. Читаю книжку там все наисано. Односторонняя репликация работает хорошо, ежели слово хорошо ваще можнор применсять к продукции дяди Билли.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

В Мелкомягком можно настроить режим двухсторонней репликации.
Автор топика и без тебя это, как видно знает. :lol:
Однако - не всегда это будет работать.
И об этом он пишет. :lol:
Необходимо четко представлять что происходит и как разрешать конфликты при репликации.
Так и об этом в нитке сказано. :lol:
Читаю книжку там все наисано. Односторонняя репликация работает хорошо, ежели слово хорошо ваще можнор применсять к продукции дяди Билли.
Читать надо внимательно не книжку, а постинги :twisted:
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

Сообщение MarkM »

vg писал(а): Я про Лог Шиппинг говорил. Это не Репликация. Это то чтов Оракле называется Stand By.

Просто интересно....
Если я правлильно тебя понял, и если ты занимаешься "в рукопашную" "репликацией",
Нет. У меня два "потока". 1. Репликация. 2. Стэндбай.
Репликация не руками. Стендбай рукопашный.
vg писал(а): то после обработки транзакции на неком а-ля "db-мастере" ты ставишь в "служебном поле" (пусть IsUpdated) таблиц, например, 1 ( 2, ...
Примерно так. Но не я. Билли сделал уже все.
vg писал(а): Но! это эмуляция "репликации" "в одну сторону" - от мастера к слэйв-реплике. И это и так у автора топика работает. Задача-то у него гораздо круче. Согласовать транзакции по публикациям, полученных Publisher от, возможно, многих подписчиков (Subscribers). Если даже автор топика "загрубится" до такого функционала, то думаю, всё равно следует использовать встроенную репликацию, а не самопальную. Почему? Когда сам мастеришь - больше ошибок.
Не спорю. Все верно.

Автор трэда может конкретно подсесть на коллизиях. Когда одну и ту же строку пытаются менять(удалять) с разных сторон. Такие вещи надо обрабатывать. Универсальных правил нет. Все сильно зависит от бизнес логики.
Там Вовчик все правильно написал. Зря ты на него наехал.
vg писал(а): ПС. Марк, не ругайся на меня. Твой подход нормальный. Просто я в репликации, как свинья в апельсинах и мандаринах. :lol:
Я оч. глубоко поработал с оракловой Адвансд Р.
С МСовской только вчера начал %).
А сегодня на МС сделал стэндбай (рукопашный Лог Шиппинг). Работает вроде.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Там Вовчик все правильно написал. Зря ты на него наехал.
Я не наезжал. Он просто повторил на другой лад, что было сказано другими.
Автор трэда может конкретно подсесть на коллизиях.
Эт точно...
Все сильно зависит от бизнес логики.
И это тоже. И от качества клиентского ПО тоже.
Vovchik
Маньяк
Сообщения: 2841
Зарегистрирован: 20 фев 2003, 09:15
Откуда: Vancouver

Сообщение Vovchik »

vg писал(а):
В Мелкомягком можно настроить режим двухсторонней репликации.
Автор топика и без тебя это, как видно знает. :lol:
Однако - не всегда это будет работать.
И об этом он пишет. :lol:
Необходимо четко представлять что происходит и как разрешать конфликты при репликации.
Так и об этом в нитке сказано. :lol:
Читаю книжку там все наисано. Односторонняя репликация работает хорошо, ежели слово хорошо ваще можнор применсять к продукции дяди Билли.
Читать надо внимательно не книжку, а постинги :twisted:
Братан - с таким гонором тебе в Канаде светит тока вэлфер. Луше б ты дома продолжал строил, в натуре, в солнечном Магадане, поход в Канаду для тебя выйдет в залет на бабки. Я таких пацанов дофига повидал, как пальцы гнуть так они ребята мастаки, тока почеиу то тока булочки пекут. Тама вона в канада.ру вагон таких непризнанных гениев которые за 7.50 в час ночью в русской пекарне впахивают. Ты канешна срал но мое менение но это дело такое я тута уже скора как 6 лет тусуюсь, уже технический архитектор в канкретной корпорации жизнь узнал, таких пацанов как ты за багелями гоняю так что дело такое...
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

без наездов :)
Vovchik
Маньяк
Сообщения: 2841
Зарегистрирован: 20 фев 2003, 09:15
Откуда: Vancouver

Сообщение Vovchik »

папа Карло писал(а):без наездов :)
Я чту уголовный кодекс. Я типа так, в порядке развеяния иллюзий.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2 Володя,
Я типа так, в порядке развеяния иллюзий.
Ну, за развеяние иллюзий спасибо. :cry:

ПС. Чё такой нервный? Ты обиженый? Так я тебя не обижал :lol:
Ответить