Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Какой тип репликации выбрать?  [new]
artemov
Member

Откуда:
Сообщений: 141
Имеется одна главная контора(база) в которую должны стекаться сведения из филиалов. В cвою очередь база импортирует справочники в филиалы. Не имея опыт работы с репликацией хотелось бы знать с какой стороны подступится, а конкретно.
Какой тип репликации выбрать?
5 ноя 03, 14:17    [407400]     Ответить | Цитировать Сообщить модератору
 Re: Какой тип репликации выбрать?  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Честно? Сейчас я бы подумал о транзакционной репликации. Причем справочники из головной реплицируются в соответствующие таблицы филиалам, а от филиалов "документы" стекаются в "специальные" таблицы, которые разбираются отдельным процессом. В свою очередь разобранные "документы" реплицируются в филиал.
Но для этого филиылы должны вводить не "документы" , а "заявки" , которые станут "документами" , только в головной.
Такая схема работы, если на нее сразу заложиться, снимет потом ОЧЕНЬ много головняка, в том числе и с размерами оперативно используемой базы.
5 ноя 03, 14:24    [407423]     Ответить | Цитировать Сообщить модератору
 Re: Какой тип репликации выбрать?  [new]
artemov
Member

Откуда:
Сообщений: 141
Добавлю. Филиалы не должны видеть себе подобных. И хотелось бы знать как правильно вестиполитку идентификации записей в филиалах.
5 ноя 03, 14:30    [407438]     Ответить | Цитировать Сообщить модератору
 Re: Какой тип репликации выбрать?  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Справочники, полагаю, "общие" для всех? Значит для них будет общий паблишинг. Остальное будет по паблишингу на филиал с условиями на паблишинг. Тут надо подумать о критериях разделения информации. Очень желательно, чтобы "документы" делились по филиалам однозначно и навека. Бо с транзакционной репликацией передать "документ" филиалу, которому он не был нужен не всегда просто, хотя и можно.

Еще раз по предлагаемой мной схеме.

Если система не была расчитана на распределенную работу, то это не очень здорово. Но. Если можно малой кровью перевести ввод основных "документов" на некоторую вспомогательную табличку, то все можно решить достаточно просто. Тут под "документами" я имею в виду что угодно, первичная информация, вводимая в филиалах. Идея очень проста. первичная информация вводится на правах "заявок" филиалами, "заявки" стекаются в центральный офис путем транзакционной репликации. Идентификацию запявок в головной легко сделать по Ид филиала + Ид заявки в филиале. В головной висит процесс, который сканирует новые "заявки" и делает из них "документы". "Документы" путем условной реплики уходят на филиалы.

Сложно в этой схеме то, что в головной получается N+1 паблишингов - один общий и по одному на филиал и в каждом филиале по паблишингу. Головная и издатель и подписчик одновременно. Филиалы - тоже. Хотя принимать "заявки" можно и в отдельную базу, это, скорее всего, существенно разгрузит головную как по объемам, так и по администрированию.

На уровне идей у меня все. Схема должна собраться достаточно легко. Каналы должны быть от 3К, хотя, думаю, 19200 для начала хватит, только "настоящие" 19200 :)

Единственная видимая проблема - модифицировать софт на работу не с "документами" , а с "завявками". Это не всегда просто. Особенно в случае, если вводимые "документы" в оригинале меняли оперативные остатки, под которые вводились документы...
5 ноя 03, 16:01    [407652]     Ответить | Цитировать Сообщить модератору
 Re: Какой тип репликации выбрать?  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
https://www.sql.ru/articles/Publications.shtml#1-8
https://www.sql.ru/subscribe/70028/10.shtml
5 ноя 03, 21:21    [408092]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить