Розподілені баз даних і розподілених СУБД - реферат, сторінка 1

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

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

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

Централізовані БД, особливо побудовані на класичному підході, не могли задовольнити новим вимогам.

Швидке поширення мереж передачі даних, різке збільшення обсягу зовнішньої пам'яті ПК при її здешевлення в 80-і роки сприяли широкому впровадженню розподілених баз даних.

До переваг розподілених баз даних відносяться:

1) відповідність структури розподілених баз даних структурі організацій;

2) гнучке взаємодія локальних БД;

3) широкі можливості централізації вузлів;

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

5) високі системні характеристики (малий час відгуку за рахунок розпаралелювання процесів, висока надійність);

6) модульна реалізація взаємодії, розширення апаратних засобів, можливість використання об'єктно-орієнтованого підходу в програмуванні;

7) можливість розподілу файлів відповідно до їх активністю;

8) незалежні розробки локальних БД через стандартний інтерфейс.

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

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

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

Метою даної курсової роботи є дослідження розподілених баз даних і розподілених СУБД. Для досягнення поставленої мети в роботі були реалізовані наступні завдання:

Розглянуто поняття розподілених баз даних;

Розглянуто властивості розподілених БД;

Розглянуто поняття цілісності даних;

Розглянуто принцип побудови розподілених баз даних на прикладі SYSTEM R *

Розроблено додаток в середовищі Delphi.

1 РОЗПОДІЛЕНІ ІНФОРМАЦІЙНІ СИСТЕМИ І БАЗИ ДАНИХ

Поняття розподілених баз даних

Під розподіленої (Distributed DataBase - DDB) зазвичай мають на увазі базу даних, що включає фрагменти з кількох баз даних, які розташовуються на різних вузлах мережі комп'ютерів, і, можливо управляються різними СУБД. Розподілена база даних виглядає з точки зору користувачів і прикладних програм як звичайна локальна база даних. У цьому сенсі слово "розподілена" відбиває спосіб організації бази даних, але не зовнішню її характеристику. ( "Розподіленість" бази даних невидима ззовні).

Основне завдання систем управління розподіленими базами даних полягає в забезпеченні засоби інтеграції локальних баз даних, розміщених в деяких вузлах обчислювальної мережі, з тим, щоб користувач, що працює в будь-якому вузлі мережі, мав доступ до всіх цих баз даних як до єдиної бази даних [1] .

При цьому повинні забезпечуватися:

простота використання системи;

можливості автономного функціонування при порушеннях зв'язності мережі або при адміністративних потребах;

високий ступінь ефективності.

Можливі однорідні і неоднорідні розподілені бази даних. В однорідному випадку кожна локальна база даних управляється однією і тією ж СУБД. У неоднорідній системі локальні бази даних можуть ставитися навіть до різних моделей даних. Мережева інтеграція неоднорідних баз даних - це актуальна, але дуже складна проблема. Багато рішень відомі на теоретичному рівні, але поки не вдається впоратися з головною проблемою - недостатньою ефективністю інтегрованих систем. Зауважимо, що більш успішно практично вирішується проміжна задача - інтеграція неоднорідних SQL-орієнтованих систем. Зрозуміло, що цьому великою мірою сприяє стандартизація мови SQL і загальне дотримання виробників СУБД принципам відкритих систем [2].

1.2 Властивості розподілених баз даних

Визначення розподілених баз даних (DDB) запропонував Дейта (C.J. Date). Він встановив 12 властивостей або якостей ідеальної DDB [4]:

Локальна автономія (local autonomy)

Незалежність вузлів (no reliance on central site)

Безперервні операції (continuous operation)

Прозорість розташування (location independence)

Прозора фрагментація (fragmentation independence)

Прозоре тиражування (replication independence)

Обробка розподілених запитів (distributed query processing)

Обробка розподілених транзакцій (distributed transaction processing)

Незалежність від устаткування (hardware independence)

Незалежність від операційних систем (operationg system independence)

Прозорість мережі (network independence)

Незалежність від баз даних (database independence)

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

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

Безперервні операції. Це якість можна трактувати як можливість безперервного доступу до даних (відоме «24 години на добу, сім днів на тиждень») в рамках DDB незалежно від їх розташування і незалежно від операцій, що виконуються на локальних вузлах. Це якість можна виразити гаслом «дані доступні завжди, а операції над ними виконуються безперервно» [4].

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

Прозора фрагментація. Це властивість трактується як можливість розподіленого (тобто на різних вузлах) розміщення даних, логічно що становлять єдине ціле. Існує фрагментація двох типів: горизонтальна і вертикальна. Горизонтальна означає зберігання рядків однієї таблиці на різних вузлах (фактично, зберігання рядків однієї логічної таблиці в декількох ідентичних фізичних таблицях на різних вузлах). Вертикальна означає розподіл стовпців логічної таблиці по декільком вузлам.

Розглянемо приклад, який ілюструє обидва типи фрагментації. Є таблиця employee (emp_id, emp_name, phone), певна в базі даних на вузлі в Феніксі. Є така сама таблиця, певна в базі даних на вузлі в Денвері. Обидві таблиці зберігають інформацію про співробітників компанії. Крім того, в базі даних на вузлі в Далласі визначена таблиця emp_salary (emp_id, salary). Тоді запит «отримати інформацію про співробітників компанії» може бути сформульований так:

SELECT * FROM employee @ phoenix, employee @ denver ORDER BY emp_id

У той же час запит "отримати інформацію про заробітну плату співробітників компанії" буде виглядати наступним чином:

SELECT employee.emp_id, emp_name, salary FROM employee @ denver, employee @ phoenix, emp_salary @ dallas ORDER BY emp_id

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

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

SELECT customer.name, customer.address, order.number, order.date FROM customer @ london, order @ paris WHERE customer.cust_number = order.cust_number

Обробка розподілених транзакцій. Це якість DDB можна трактувати як можливість виконання операцій оновлення розподіленої бази даних (INSERT, UPDATE, DELETE), що не руйнує цілісність і узгодженість даних. Ця мета досягається застосуванням двофазного протоколу фіксації транзакцій (two-phase commit protocol), що став фактичним стандартом обробки розподілених транзакцій. Його застосування гарантує узгоджене зміна даних на декількох вузлах в рамках розподіленої транзакції.

Незалежність від обладнання. Це властивість означає, що в якості вузлів розподіленої системи можуть виступати комп'ютери будь-яких моделей і виробників - від мейнфреймів до "персоналок".

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

Прозорість мережі. Доступ до будь-яких баз даних здійснюється по мережі. Спектр підтримуваних конкретної СУБД мережевих протоколів не повинен бути обмеженням системи з розподіленими базами даних. Дана якість формулюється максимально широко - в розподіленої системі можливі будь-які мережеві протоколи.

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

Виходячи з визначення Дейта, можна розглядати DDB як слабо зв'язаної мережеву структуру, вузли якої являють собою локальні бази даних. Локальні бази даних автономні, незалежні і самовизначитися; доступ до них забезпечуються СУБД, в загальному випадку від різних постачальників. Зв'язки між вузлами - це потоки тиражованих даних. Топологія DDB варіюється в широкому діапазоні - можливі варіанти ієрархії, структур типу «зірка» і т.д. В цілому топологія DDB визначається географією інформаційної системи і спрямованістю потоків тиражування даних [4].

Схожі статті