Назад | Перейти на главную страницу

Можете ли вы использовать относительно дорогой фильтр для репликации транзакций?

Я пытаюсь реплицировать (транзакционный, push) относительно небольшую таблицу (50K строк) с учетом нескольких различных фильтров, которые довольно дороги (каждый из которых занимает не менее часа, включая соединение с таблицей, содержащей 4 миллиарда строк в другой базе данных). Ожидаю, что опубликованную статью придется синхронизировать несколько раз в день.

Возможно ли это, или мне следует искать другое решение?

Чего стоит, вот отрывок из MSDN - фильтрация опубликованных данных:

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

Вероятно, лучше всего фильтровать строки, используя очень быстрый критерий выбора, который полностью не зависит от других строк / таблиц / баз данных.