Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора БД.docx
Скачиваний:
300
Добавлен:
22.02.2016
Размер:
306.96 Кб
Скачать

31. Розподілені бази даних. Концепція розподілених баз даних. Розподілені транзакції. Реплікація даних. Розподілена оптимізація запитів.

Розподілена база даних (РБД) — це множина логічно взаємозалежних баз даних, розподілених у комп'ютерній мережі.

Розподілена система керування базами даних (РСКБД) — це програмне забез­печення, яке керує РБД і надає такі механізми доступу до них, що їх застосування дає користувачу можливість працювати з РБД як з однією цілісною базою даних. Розподілена система баз даних (РСБД) — це РБД разом із РСКБД. Не слід плутати РСБД з централізованою базою даних, що використовується в мережі (рис. 10.1). У цьому випадку база даних розташована на одному з ком­п'ютерів, а всі інші мають доступ до неї через комунікаційну мережу. Не є розпо­діленою також база даних, що працює в середовищі багатопроцесорних комп'ю­терів. У цьому випадку ми маємо справу з паралельною БД.

Рис. 10.1. Централізована база даних у комп'ютерній мережі

Архітектура розподіленої СКБД наведена нарис, 10.2. Кожний з вузлів мере­жі містить свою базу даних, однак вони розглядаються як логічно єдина база, а не як сукупність розкиданих у мережі файлів. Усі дані є логічно взаємозалежними.

Рис. 10.2. Розподілена база даних

Залежно від типу програмного забезпечення розрізняють два типи РСКБД:

♦        Однорідні;

♦        Неоднорідні.

Однорідні РСКБД

В однорідних РСКБД передбачається, як мінімум, що на всіх вузлах використову­ються однотипні СКБД (наприклад, реляційяі), які мають схожі функціональні можливості. Як максимум, припускається, що на всіх вузлах використовуються однакові технічні засоби, тобто однакові типи комп'ютерів і програмного забезпе­чення Це стосується операційних систем, програмного забезпечення СКБД та моделей даних, що підтримуються.

Неоднорідні РСКБД

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

Прозорість доступу до даних

Однією з важливих проблем РСКБД є досягнення логічної незалежності даних від місця зберігання, тобто прозорість доступу до даних. Це означає, що користу­вач повинен мати можливість сприймати всі необхідні йому дані як єдине ціле, не зважаючи на те, в який спосіб вони розподілені у мережі.

Розподілена СКБД — це повноцінна СКБД, що виконує всі необхідні функції з керування даними.

Розглянемо такий приклад. Нехай база даних містить відношення СЛУЖБОВЕЦЬ, ПРОЕКТ, РОБОТА з інформацією стосовно службовців, проектів, що розроблюються, та участі службовців у проектах компанії, яка має філії в Римі, Лондоні, Парижі й То­кіо. Бази даних цих філій містять дані згідно зі схемою, зображеною на рис. 10.3. Будь-який користувач у кожному з вузлів цієї мережі має сприймати логічну

Структуру бази даних так, ніби всі три відношення містяться в одній локальній базі даних. Розглянемо приклад.

SELECT ПРОЕКТ.Назва, СЛУЖБОВЕЦЬ.шзщ FROH       СЛУЖБОВЕЦЬ. ПРОЕКТ. РОБОТА

WHERE        СЛУЖБОВЕЦЬ.#Е = РОБОТА.#Е А® РОБОТА.#Р - ПРОЕКТ.#Р AND

(ПРОЕКТ.Mlcue = 'Париж* OR ПРОЕКТ_Місце ='Токіо1) AND СЛУЖБОВЕЦЬ.Зарплата > 40000 AND СЛУЖБОВЕЦЬ.Зарплата < 6000Q

Цей запит, згідно з яким вибираються назви проектів, що виконуються в Парижі чи Токіо, й імена службовців, які беруть у них участь, із зарплатою в діапазоні від 40 000 до 60 ÖÖÖ, буде виконано навіть тоді, коли його формулює користувач, що перебуває » Лондоні.

З погляду користувача існує єдина розподілена СКБД і єдина база даних, у якій с всі дані, що визначені у віртуальній таблиці користувача

 

Париж

Мережа

□ OD

□па

UDQ

Лондон

Реплікація

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

Доступність (у разі перебою в роботі вузла, що містить відношення Я, його доступність на інших вузлах зберігається);

4 паралелізм (виконання запитів до відношення Я може бути розпаралелено за всіма репліками відношення);

Зниження вартості передавання даних (відношення Я достуїпіе локально в усіх вузлах, де є його репліки). Недоліки реплікації:

Підвищується вартість зберігання, створення і відновлення даних; підвищуються вимоги до ресурсів;

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

Механізми реплікації

Для реалізації реплікації використовуються три сервери: видавець, дистриб'ютор і передплатник.

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

Дистриб'тотором називається сервер, що підтримує розподілену базу даних. Він виконує роль посередника, копіює всі публікації, підготовлені видавцем, і пе­ресилає їх передплатникам. Дистриб'ютором може бути виділений сервер або сервер^ сконфігурований як видавець чи передплатник. Конкретні функції, що їх виконує дистриб'ютор, залежать від методів реплікації.

Передплатником називається сервер, що отримує копії даних, надані видав­цем. Механізми зміни даних передплатником відрізняються від механізмів зміни даних видавцем.

Є два методи відновлення даних передплатників:

+ Реплікація за запитом. Передплатник періодично звертається до дистриб'ю­тора із запитом про зміни, що відбулися з моменту останнього з'єднання.

+ Примусова реплікація. Дистриб'ютор сам встановлює з'єднання з передплат­ником і пересилає йому необхідні дані.

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

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

€ такі моделі реплікації:

♦        Реплікація моментальних знімків;

♦        Реплікація транзакцій.

Реплікація моментальних знімків є найпростішою моделлю реплікації. Момен­тальний знімок - це повна копія даних, обраних для реплікації; вона розсилаєть­ся передплатникам.

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

Цей механізм зменшує завантаження мережі, його рекомендується використо­вувати у великих базах даних з невеликою кількістю змін.

Топологія реплікацій

Топологія реплікацій описує характер взаємозв'язків між учасниками реплікації:

4 реплікація «один-до-багатьох» передбачає наявність одного видавця і кількох передплатників;

+ реплікація «багато-до-одного» має місце, коли дані від кількох видавців пере­силаються одному передплатнику;

+ реплікація «багато-добагатьох» означає, що дані від кількох видавців переся- даюті>ся кільком передплатникам.