Posibniki.com.ua Інформатика Корпоративні інформаційні системи ТИРАЖУВАННЯ ДАНИХ У КОРПОРАТИВНИХ ІНФОРМАЦІЙНИХ СИСТЕМАХ


< Попередня  Змiст  Наступна >

ТИРАЖУВАННЯ ДАНИХ У КОРПОРАТИВНИХ ІНФОРМАЦІЙНИХ СИСТЕМАХ


4.1. Поняття технології тиражування даних

4.2. Моделі тиражування даних

4.3. Схеми тиражування даних

Резюме

Терміни і поняття

Запитання для перевірки знань

Завдання для індивідуальної роботи

Вивчивши матеріал цього розділу, ви будете ЗНАТИ:

— роботу протоколу дворазової фіксації транзакції (two-phase commit protocol — 2PC);

— поняття тиражування даних та функції тиражування, які покладено на спеціальний компонент СУБД — сервер тиражування даних, його називають реплікатором (replicator);

— моделі тиражування даних;

— схеми тиражування даних, а також УМІТИ:

— аналізувати моделі та схеми тиражування даних і вибирати оптимальний;

— варіант для конкретних умов їх застосування.

4.1. ПОНЯТТЯ ТЕХНОЛОГІЇ ТИРАЖУВАННЯ ДАНИХ

На сучасному етапі розвитку комп’ютерних технологій ідея організації єдиного інформаційного середовища корпорації чи великого підприємництва на принципах розподіленого оброблення даних стає дедалі популярнішою. Перехід до таких принципів нині здійснюється в усьому комп’ютерному світі, який водночас передбачає заміну дорогих і недостатньо гнучких централізованих систем на базі великих ЕОМ (mainfrane), або малопотужних і слабкоінтегрованих систем на базі персональних комп’ютерів, і пов’язаний із розв’язанням низки концептуальних проблем, а саме організації узгодження даних, розміщених на різних фізично розподілених вузлах.

Зауважимо, що використання сучасними корпораціями технології «клієнтсервер» актуалізує проблему доступу до віддалених баз даних і комбінування інформації із двох чи більше фізично розподілених вузлів інформаційної системи. Нагадаємо, що під розподіленою розуміють базу даних, яка включає фрагменти локальних БД, розміщених на різних вузлах розподіленої системи. Вона передбачає фізичний розподіл даних з метою розміщення кожного фрагмента розподіленої бази даних на тому місці, де він переважно буде оброблятися, а отже, зменшення часу доступу до даних для локальних клієнтів. При цьому вся робота з розподіленою БД проходить так, немов це просто локальна БД, її розподіленості користувач не помічає.

Розподілені БД обслуговуються в більшості багатокористувацьких СУБД сервером розподілених баз даних (STAR).

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

Транзакція розподіленої БД передбачає кілька локальних транзакцій, кожна з яких або фіксується, або переривається. Розподілена трансакція фіксується в тому разі, коли зафіксовані всі локальні транзакції, що є її складовими. Якщо бодай одну з них було перервано, має бути перервано й розподілену транзакцію.

Щоб урахувати ці вимоги, в сучасних СУБД передбачено так званий протокол двофазової фіксації транзакції (two-phase commit protocol — 2PC).

Перша фаза розпочинається, коли клієнт виконує оператор фіксації (СОММІТ). Сервер розподіленої БД посилає повідомлення «підготуватися до фіксації» (PREPARE TO COMMIT) усім серверам локальних БД, які виконують транзакцію. Після підготовки до фіксації вони залишаються в стані готовності й очікують від сервера розподіленої БД команди фіксації. Якщо принаймні один сервер локальної БД не відгукнувся на повідомлення з різних причин (апаратна чи програмна помилка), то сервер розподіленої БД відкриває локальні транзакції на всіх вузлах, включно з тими, які підготувалися до фіксації та сповістили його про це.

Виконання другої фази розпочинається з того, що сервер розподіленої БД надсилає команду СОММІТ серверам на всіх вузлах, що виконують транзакцію. Виконуючи команду, вони фіксують зміни, досягнуті в процесі виконання розподіленої трансакції. Це гарантує одночасне синхронне завершення (вдале чи невдале) розподіленої транзакції на всіх вузлах, що беруть у ній участь.

Основною вадою технології фізичного розподілення даних є жорсткі вимоги до швидкості та надійності каналів зв’язку. Незважаючи на те, що останніми роками становище з каналами оперативного зв’язку дещо поліпшилося, вони не задовольняють потреб корпоративних систем, розподілених на значній території. У технології STAR серйозних проблем з фіксацією розподілених трансакцій не виникає, якщо розподілена транзакція заторкує два-три вузли мережі з локальними БД.

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

Подолати ці труднощі значною мірою допомагає нова технологія оброблення даних, яка спирається на принцип тиражування даних. Її кардинально відмінність від технології STAR

— це відмова від ведення розподілених даних у загальноприйнятому розумінні. Ідея полягає в тому, що кожна база даних (як для СУБД, так і для багатьох клієнтів, що з нею працюють) завжди є локальною. Локально розміщуються дані, необхідні в певному вузлі розподіленої системи, локально завершуються всі транзакції, які не потребують складних механізмів і перевірок протоколу 2 PС. Ця ідея дістала втілення в сучасних версіях реляційних СУБД таких провідних розробників, як INGRES, Subase, Informix, Oracle, де передбачено можливість тиражування всіх змін у кількох БД.

Під тиражуванням даних слід розуміти процес формування відтворення численних копій даних на одному або кількох вузлах мережі. Тиражування

можна визначити як альтернативу мережевій версії оброблення даних (технології розподілених баз даних), призначену для узгодженості роботи клієнтів, розміщених на значних відстанях один від одного.

Функції тиражування даних покладено на спеціальний компонент СУБД — сервер тиражування даних, який називають реплікатором (replicator). Його завданням є забезпечення ідентичності даних у базах даних, що приймають (target clatabase), даним у вихідній (початковій) БД.

Після роботи клієнтів окремо один від одного спеціальна програма (сервер реплікації) виконує суміщення результатів їхньої роботи на загальних базах даних.

Узагальнено процес тиражування виглядає так:

1. Ідентичні копії баз даних розподіляються між клієнтами, які працюють із базами.

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

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

4. На сервері реплікацій виконується злиття цих файлів і усунення можливих конфліктів.

5. Після цього формується файл тиражування сервера, який містить зміни баз даних від початку сеансу роботи до поточного моменту. Оброблення цього файла клієнтом має привести до отримання баз даних, які містять результати роботи всіх клієнтів.

6. Файл тиражування сервера розсилається всім клієнтам. Кожен клієнт зупиняє свої дії до початку поточного сеансу й обробляє спеціальною процедурою файл тиражування сервера.

7. Наступний сеанс роботи розпочинається із кроку 2.

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

— підвищення працездатності системи у разі перевантаженості центральних ресурсів;

— підвищення рівня готовності даних, а відтак, оперативності в обробленні інформації;

— зниження навантаження на центральний вузол;

— передання лише операцій, що змінюють дані, а не всіх операцій доступу до віддалених даних (як у технології STAR), дає змогу суттєво зменшити мережевий трафік, що дуже важливо в разі низької швидкодії каналів зв’язку;

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

— тиражування даних цілком прозоре для прикладної програми.

Виокремлюють два типи тиражування даних — синхронне та асинхронне.

У разі синхронного тиражування дані, що тиражуються, оновлюються одночасно зі змінами вихідних (початкових) даних. Під час синхронного тиражуван-

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

Хоча синхронне тиражування є вельми ефективним методом для прикладних систем, що потребують синхронізації, воно має певні вади: синхронізація досягається за рахунок втрати «готовності» даних (на період тиражування користувач не має доступу до даних) і зниження продуктивності системи.

Асинхронне тиражування — це метод, за якого цільова база даних модифікується не одночасно з вихідною базою, а з деякою затримкою. Затримка в оновленні даних на локальних вузлах може коливатися від кількох секунд до кількох годин залежно від конфігурації мережі, але в результаті дані будуть синхронізовані на всіх вузлах мережі.

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

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

У разі асинхронного тиражування необхідно розв’язати питання належності даних.

Належність даних — це поняття, що визначає, за яким вузлом мережі закріплені конкретні дані, які він має можливість оновлювати. За допомогою належності даних у разі потреби визначаються та розв’язуються конфліктні ситуації, що виникають під час оновлення даних.


< Попередня  Змiст  Наступна >
Iншi роздiли:
4.3. СХЕМИ ТИРАЖУВАННЯ ДАНИХ
РОЗДІЛ 5 КОРПОРАТИВНІ СХОВИЩА ДАНИХ
5.2. АРХІТЕКТУРА ІНФОРМАЦІЙНИХ СХОВИЩ
5.3. АДМІНІСТРУВАННЯ ІНФОРМАЦІЙНИХ СХОВИЩ
5.4. ІНСТРУМЕНТАЛЬНІ ЗАСОБИ АРХІВАЦІЇ ТА ОЧИСТКИ ІНФОРМАЦІЙНИХ СХОВИЩ
Дисциплiни

Медичний довідник новиниКулінарний довідникАнглійська моваБанківська справаБухгалтерський облікЕкономікаМікроекономікаМакроекономікаЕтика та естетикаІнформатикаІсторіяМаркетингМенеджментПолітологіяПравоСтатистикаФілософіяФінанси

Бібліотека підручників та статтей Posibniki (2022)