Модель реплікації від Microsoft

Модель реплікації, запропонована компанією Microsoft, заснована на сервері реплікацій від Sybase (власне, і сам сервер баз даних SQL Server заснований на рішеннях Sybase) Компоненти реплікації SQL Server входять у всі варіанти поставки, крім SQL Server 2005 Express і SQL 2005 Mobile Edition У той же час обидві ці редакції можуть бути передплатниками публікацій SQL Server 2005 (SQL Server 2005 Mobile Edition є новою версією SQL РЄ, яка запускається на кишенькових компютерах і смарт-пристроях Вона може бути тільки передплатником публікацій злиття) Модель Microsoft використовує метафори періодичних видань (В наступних підрозділах буде описано кожен з цих компонентів) У постачання SQL Server 2000 були включені приклади програм, що ілюструють публікації з гетерогенних серверів в середовищі SQL Server Всі ці функції залишилися доступними і в SQL Server 2005

Видавець

Видавцем називають сервер-джерело, який містить реплицируемой обєкти і дані Зазвичай видавцем є SQL Server 2005, проте їм може бути SQL Server 2000 і Oracle Server SQL Server поставляється з провайдером реплікацій, що дозволяє створювати видавців сторонніх серверів баз даних

SQL Server 2005 може виступати шлюзом між сервером Oracle і системою На замітку гетерогенних передплатників У цій моделі можна опублікувати дані Oracle для SQL Server 2005, де згодом їх перевидати для гетерогенних передплатників

Передплатник

Передплатник в моделі реплікації отримує схему обєктів та їх дані (тобто підписку) від видавця Кожен передплатник може отримувати кілька підписок від різних видавців Передплатниками можуть виступати SQL Server 2005, SQL Server 2005 Mobile Edition, SQL Server 2000 і SQL Server 7 Більшою своєю частиною підписки доступні тільки для читання, однак існують деякі типи реплікацій, що дозволяють передплатникам публікувати дані у видавця

Розповсюджувач

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

Модель з централізованим видавцем

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

Модель з централізованим передплатником

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

Модель з перевиданнями

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

Однорангова модель

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

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

■ Коли дані з одним і тим же первинним ключем одночасно вставляються на різних вузлах, після чого синхронізуються з іншими серверами У цьому випадку виникає колізія первинних ключів

■ Коли дані оновлюються на одному вузлі і одночасно видаляються на іншому

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

Стаття

Статтею називають мінімальну одиницю публікації Стаття може являти собою елемент:

■ таблиць

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

■ збережених процедур (CLR і T-SQL)

■ виконань збережених процедур (CLR і T-SQL)

■ уявлень

■ індексованих уявлень

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

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

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

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

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

■ обєктів схеми (обмежень, індексів, тригерів, розширених властивостей, зіставлень і тп)

Для уявлень, індексованих уявлень, збережених процедур і функцій реплицируется тільки схема індексовані подання можуть реплицироваться в таблиці також ви можете реплицировать виконання збережених процедур Зазвичай з адміністративних і логістичних міркувань одна публікація створюється для однієї бази даних при цьому в неї включається безліч статей Однією з небагатьох причин включення статей, що відносяться до однієї бази даних, в різні публікації є те, що вони відносяться до різних типів реплікацій (наприклад, злиття і транзакцій) У SQL Server 2000 було доцільно розбивати статті на кілька публікацій з двох причин

■ Підвищення продуктивності Незалежні параметри агента в реплікації транзакцій можуть створити два або більше паралельних потоку даних, спрямованих до передплатника

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

За умовчанням в 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>

*

*