Типи реплікацій

Існують три основні типи реплікацій:

■ реплікація знімків баз даних

■ реплікація транзакцій

■ реплікація злиття

Реплікації знімків баз даних і транзакцій найбільше підходять в ситуаціях, коли на стороні передплатників бази даних використовуються тільки для читання Зміни виконуються виключно на стороні джерела даних, після чого реплицируются передплатникам У той же час обидва підтипу реплікацій дозволяють виконувати зміни на стороні передплатника, після чого направляти їх видавцеві Реплікація злиття створювалася для двосторонньої реплікації з клієнтами, які часто виходять в автономний режим Прикладом такої ситуації є мережа комівояжерів і представників, які виїжджають для складання замовлення до клієнтів зі своїми ноутбуками, періодично синхронізуючи інформацію в центральному офісі

Реплікація знімків баз даних

Цей тип реплікації використовує метафору знімка з області фотографії він фіксує деяку точку в часі стану даних і висилає її на сервер призначення Реплікація знімків баз даних ідеально підходить при виконанні наступних умов

■ Природа даних не повязана з часом і змінюється не часто

■ У дискретні моменти часу відбуваються глобальні зміни в даних

■ Обсяг даних не дуже великий

Реплікація знімків баз даних не вимагає наявності первинних ключів у всіх репліцируємих таблицях З цієї причини багато адміністратори баз даних використовують її замість реплікації транзакцій, в якій наявність первинних ключів є обовязковим Водночас часто в таблицях, що у реплікації знімків баз даних, присутні ключі-кандидати Якщо ви зможете ідентифікувати цих кандидатів і перетворити їх у первинні ключі, то кращим рішенням буде використання реплікації транзакцій

Реплікація знімків баз даних дозволяє реплицировать наступні обєкти:

таблиці

■ розділення таблиці

збережені процедури

■ подання збережених процедур

■ індексовані подання

■ індексовані подання у формі таблиць

■ користувача типи (CLR)

■ користувача функції (CLR і T-SQL)

■ псевдоніми типів даних

■ повнотекстові індекси

■ обєкти схеми

Ви можете також реплицировать підмножини таблиць і уявлень, наприклад підмножини стовпців або рядків Реплікація знімків баз даних використовує два компоненти:

■ агент знімків

■ агент розповсюдження

Агент знімка даних генерує сценарій створення обєктів і даних для реплікації Створити оригінал агент записує в папку файлової системи, звану папкою спимо-ков Команди також записуються в базу даних розповсюдження, яку агент поширення використовує для створення обєктів на стороні передплатника при цьому він звертається до сценаріїв, які перебувають у папці знімків Агент поширення направляє дані від видавця до передплатника

Реплікація знімків баз даних не в такій мірі масштабируема, як реплікація транзакцій, особливо якщо пропускна здатність каналів комунікацій невелика Коли можливо, краще використовуйте реплікацію транзакцій, так як в цьому випадку передаються тільки зміни в базі даних У разі реплікації знімків баз даних кожен раз передається весь масив даних видавця

Реплікація знімків баз даних з безпосереднім оновленням

Цей підтип реплікації дозволяє змінам, внесеним на стороні передплатника, бути реплицироваться у видавця за допомогою процесу двоетапного підтвердження При цьому використовується координатор розподілених транзакцій від компанії Microsoft Зміни, що відбулися у передплатника, залишаються на його сервері доти, поки наступний знімок бази не буде згенерований агентом знімків і розподілений агентом розподілу У цьому процесі перше підтвердження виконується на стороні видавця, де реплицируются транзакції, виконані на стороні передплатника, а потім друге підтвердження відбувається вже у передплатника Цей процес має побічний ефект Він полягає в тому, що діапазони ідентичності у передплатника і видавця постійно знаходяться в синхронізації Цей підтип реплікації знімків бази даних рекомендується використовувати, коли переважна більшість транзакцій виконується на стороні видавця Слід окремо відзначити два недоліки цього методу реплікації

■ Збільшення часу підтвердження транзакції на стороні передплатника, так як перед цим виконується підтвердження у видавця

■ Якщо видавець переходить в автономний режим або зєднання між видавцем і передплатником обривається, то транзакція підвішується у передплатника приблизно на 20 секунд і тільки після цього відкочується Додаток має бути готове до правильної реакції на таку подію

Цей варіант реплікації не можна налаштувати за допомогою майстра – тільки з по-Назаметку міццю збереженої процедури реплікації

Реплікація знімків бази даних з чергою оновлень

Цей підтип реплікацій використовує тригери репліцируємих таблиць передплатника для реєстрації змін в черзі Ця черга згодом читається агентом читання черги (queue reader agent), який застосовує ці транзакції у видавця Зміни, внесені у видавця, залишаються у нього до наступного запуску агента знімків У версії SQL Server 2000 існувала можливість використання для зберігання черги MSMQ (Microsoft Message Queue) і таблиці SQL Server У SQL Server 2005 черзі обслуговуються виключно сервером баз даних Реплікацію знімків баз даних з чергою оновлень не можна назвати підходящим варіантом для топологій, що мають більше десятка передплатників Цей варіант реплікації також не можна налаштувати за допомогою майстрів – тільки за допомогою збережених процедур реплікації

Реплікація знімків бази даних з безпосереднім оновленням і чергою відновлення

Цей тип реплікації дозволяє перемикати безпосереднє оновлення в використовує чергу, якщо сервер видавця з тих чи інших причин потрібно перевести в автономний режим Відзначимо, що цей варіант реплікації також не можна налаштувати за допомогою майстра – тільки за допомогою збережених процедур реплікації

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*