Підтримка відповідності бд змінам, що вносяться

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

Існують дві основні технології децентралізованого управління БД:

розподіленихБД (Distributed Database)

тиражування, абореплікації, БД (Data Replication).

Розподілена БДскладається з декількох фрагментів, розміщених на різних вузлах мережі і, можливо, керованих різними СУБД. З погляду програм та користувачів, які звертаються до розподіленої БД, остання сприймається як єдина локальна БД. Інформація про місцезнаходження кожної з частин розподіленої БД та інша службова інформація зберігається в так званому глобальному словнику даних. У випадку цей словник може зберігатися одному з вузлів або теж бути розподіленим. Для забезпечення коректного доступу до розподіленої БД у сучасних системах найчастіше застосовується протокол (метод)двофазної фіксації транзакцій(two-phase commit). Суть цього методу полягає у двоетапній синхронізації виконуваних змін на всіх задіяних вузлах. На першому етапі у вузлах мережі проводяться зміни (поки оборотні) у їх БД, про що надсилаються повідомлення компоненту системи, що управляє обробкою розподілених транзакцій.

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

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

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

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

До основнихдостоїнствмоделі тиражування БД (порівняно з попередньою моделлю) відносяться: більш висока швидкість доступу до даних, оскільки вони завжди є у вузлі; суттєве зменшення потоку інформації, що передається по каналах зв'язку, оскількивідбувається передача не всіх операцій доступу до даних, лише змін до БД; підвищення надійності механізмів доступу до розподілених даних, оскільки порушення зв'язку не призводить до втрати працездатності системи (передбачається буферизація потоку змін, що дозволяє коректно відновити роботу після відновлення зв'язку).

Основнийнедолікмоделі тиражування БД полягає в тому, що на деякому інтервалі часу можливе "розбіжність" копій БД. Якщо зазначений недолік некритичний для прикладних завдань, краще мати схему з тиражуванням БД.