Розділ 6 РОЗПОДІЛЕНІ БАЗИ ДАНИХ
6.1. ПОНЯТТЯ РОЗПОДІЛЕНОЇ БАЗИ ДАНИХ
У розвитку сучасних інформаційних систем намітилася тенденція переходу від локальних баз даних до створення розподілених баз.
Розподілена база даних (DDB — distributed database) — це сукупність взаємопов'язаних баз даних, розподілених у комп'ютерній мережі. Система управління розподіленою базою даних визначається як програмна система, яка управляє базою даних у такий спосіб, щоб її розподіленість була прозорою для користувачів [І]. Прозорість — це досить поширене поняття незалежності даних у розподілених системах, яке передбачає, що користувач у цій системі працює з розподіленою базою даних як з логічно цілісною сукупністю даних, тобто на його роботу не повинно впливати те, як дані розподілені між вузлами мережі. Отже, в розподіленій системі користувачеві надається логічно цілісне подання фізично розподіленої бази даних.
На ринку програмних засобів з'явились розподілені СУБД, які дають змогу підтримувати та обробляти базу даних у багатокористувацьких системах. Основною задачею розподіленої СУБД є забезпечення управління доступом до даних багатьох споживачів і цілісності й узгодженості даних в умовах використання мережі ЕОМ. Тобто основна функція таких СУБД — це координування спільної роботи багатьох користувачів з розподіленою інформацією. Розв'язання проблеми автономності роботи користувачів розподіленої системи створює багато специфічних проблем в організації баз даних, оскільки різні користувачі можуть працювати паралельно з одними й тими самими даними, виконуючи з ними різні перетворення.
6.2. СТРАТЕГІЇ РОЗПОДІЛУ ДАНИХ
Розглянемо загальні стратегії розподілу даних між вузлами мережі ЕОМ без урахування особливостей та обмежень конкретної розподіленої СУБД. Схарактеризуємо альтернативні теоретично можливі стратегії розподілення даних у РБД [20]: централізована; розподілена без дублювання; розподілена з дублюванням; мішана, чи комбінована.
Централізована стратегія характеризується тим, що всі дані розміщуються в одному вузлі мережі та є система управління доступу різних користувачів з інших вузлів до даних.
Ця стратегія дуже зручна й має ряд переваг. Розглянемо основні переваги цієї стратегії. Якщо дані зберігаються в одному місці, то значно простіше реалізувати проблему забезпечення цілісності та захисту інформації. При централізованій стратегії спрощується технологія створення та ведення файлів БД, оскільки можна скористатися єдиними стандартними процедурами та методами ведення і підтримування БД в актуальному стані. Проектування такої розподіленої бази даних також досить просте порівняно з іншими стратегіями.
Нарівні з перевагами централізована стратегія має ряд недоліків. За такої стратегії можуть виникати черги, що призводить до різкого збільшення часу реакції системи. Крім того, витрачається певний час і на процедури, пов'язані з передаванням інформації. Обсяг бази даних обмежений пам'яттю однієї ЕОМ для зберігання даних.
Розподілена (децентралізована) стратегія без дублювання. За такої стратегії визначають дані, які потрібно зберігати в кожному вузлі мережі. При цьому розподілену базу даних проектують як неперетинні між собою підмножини даних, розподілені по вузлах мережі. Проектування даних за такої стратегії є складною задачею. Ключовим фактором, який впливає на надійність і доступність бази даних, є так звана локалізація посилань. Якщо база даних розподілена так, що дані, які розмішені в цьому вузлі, викликаються винятково його користувачем, то це свідчить про високий ступінь локалізації посилань. Якщо подібне розчленування даних здійснити неможливо і для виконання запитів користувача потрібно звертатись за інформацією до інших вузлів, то це свідчить про невисокий ступінь локалізації посилань.
Розглянута стратегія підходить для тих предметних областей, в яких практично немає дублювання даних у різних вузлах мережі і потрібна мінімальна кількість логічних посилань для виконання інформаційних взаємозв'язків вузлів одного з одним. Тобто користувач кожного вузла працює зі своїми файлами і досить рідко використовує дані інших вузлів мережі.
Економічні задачі за своїми інформаційними властивостями характеризуються дуже тісними інформаційними взаємозв'язками, тому для даного класу задач реалізація цієї стратегії досить складна, неефективна і недоцільна. Переваги цієї стратегії полягають у тому, що зменшуються витрати на передавання інформації та вірогідність виникнення черг, коли кілька користувачів одночасно звертаються до одного і того самого файла БД. Але водночас цю стратегію важко контролювати з точки зору дублювання даних, чим ускладнюється реалізація проблеми узгодженості та цілісності даних. Значно складнішими є проблеми адміністрування та підтримування БД даних в актуальному стані.
Розподілена (децентралізована) стратегія з дублюванням. Ця стратегія полягає в тому, що база даних проектується як за централізованого підходу, але фізично дублюється в кожному вузлі мережі. Кожний вузол має свою копію, продубльовану стільки разів, скільки вузлів у мережі. Стратегія розподілу з дублюванням найбільш ефективно розв'язує проблеми доступу та вибірки даних з мінімальними витратами часу. Система