Архітектура систем баз даних
Архітектура СУБД має кілька важливих аспектів. Прийнято розрізняти функціональну, інформаційну та просторову архітектуру. Під час обговорення архітектури систем баз даних зазвичай основна увага приділяється функціональної архітектурі. Решта аспекти архітектури часто залишаються поза розглядом. Тим самим не дається досить повного уявлення про можливості системи.
Функціональна архітектура характеризує склад функціональних компонентів системи, їх функції, взаємозв'язки, засоби зв'язку між собою і з системним персоналом (звані інтерфейсами кінцевого користувача), а також ролі функціональних компонентів в їх взаємодіях.
До числа функціональних компонент СУБД відносяться:
§ управління середовищем зберігання даних;
§ методи доступу до даних;
§ підтримка рівнів подання даних (концептуального, внутрішнього і зовнішнього);
§ механізми управління транзакціями;
§ підтримка функцій адміністратора системи;
§ інтерактивні інтерфейси;
§ інтерфейси прикладного програмування.
Інформаційна архітектура характеризує рівні подання інформаційних ресурсів, як фактичних, так і віртуальних, їх властивості та взаємозв'язки. Однією з найбільш важливих функцій СУБД є забезпечення користувачів можливістю абстрактного бачення даних, незалежно від методів їх фізичного зберігання в зовнішній пам'яті (логічний рівень даних). Це властивість системи називається незалежністю даних. Наприклад, користувачеві СУБД, що подала запит дані з бази даних, немає необхідності знати, як розміщені запитувані їм дані в просторі пам'яті. У той же час знання того, яким чином організована база даних в середовищі зберігання (фізичний рівень даних), необхідні адміністратору системи бази даних, відповідального за використання системних ресурсів і за забезпечення високої продуктивності системи.
З кожним архітектурним рівнем системи бази даних пов'язана деяка модель, в термінах якої забезпечується уявлення даних на цьому рівні. Мовні засоби цієї моделі даних, якщо вони представляються розробником СУБД користувачам і системному персоналу, дозволяють налаштовувати рівневі механізми СУБД і управляти їх функціонуванням. Зокрема, мова визначення даних (МОД) дозволяє визначати уявлення бази даних, асоційоване з логічним рівнем архітектури, а оператори мови маніпулювання даними (ЯМД) дають можливість виконувати різні операції над елементами цього подання.
У сучасних системах нерідко використовується трирівнева модель архітектури системи бази даних. яка включає концептуальний, внутрішній і зовнішній рівні інформаційної архітектури. Така модель описує архітектуру будь-якої системи з тією лише застереженням, що в кожній конкретній СУБД будь-які компоненти або функції, що забезпечують підтримку такої моделі, можуть бути відсутніми.
Концептуальний рівень архітектури служить для підтримки єдиного погляду на базу даних, загального для всіх її додатків і в цьому сенсі незалежного від них. Саме в середу концептуального рівня при проектуванні бази даних відображається концептуальна модель предметної області системи бази даних. Подання бази даних на концептуальному рівні системи називається концептуальною базою даних. а опис такого уявлення - концептуальною схемою бази даних.
Механізми СУБД, що підтримують внутрішній рівень архітектури, служать для підтримки уявлення бази даних в середовищі зберігання, яке називається внутрішньої або збереженої базою даних. Це - єдиний архітектурний рівень, де база даних в дійсності представлена повністю в "матеріалізованих" вигляді. На всіх інших рівнях в процесі виконання різних операцій над базою даних з'являються і зникають лише окремі екземпляри або безлічі екземплярів її об'єктів. Опис уявлення бази даних на внутрішньому рівні архітектури називається внутрішньою схемою або схемою зберігання.
Нарешті, користувачі бази даних мають справу з уявленнями бази даних на зовнішньому рівні, з так званими зовнішніми базами даних. Описи таких уявлень називаються зовнішніми схемами. В системі бази даних при єдиній схемі зберігання може одночасно підтримуватися кілька зовнішніх схем для різних груп користувачів або додатків.
Слід підкреслити, що на відміну від інформації, що зберігається бази даних, концептуальна і зовнішні бази даних є віртуальними. Складові їх дані матеріалізуються тільки при зверненні до них.
Просторова архітектура системи бази даних характеризує розміщення функціональних компонентів системи і її інформаційних ресурсів в мережевому просторі. За цим критерієм розрізняються зосереджені і розподілені системи. У зосередженої системі все функціональні компоненти і дані функціонують на окремому комп'ютері. Велика кількість систем з такою архітектурою базується на платформах персональних комп'ютерів, а також мейнфреймів. Розподілені системи базуються на комп'ютерних мережах різного масштабу - локальних, територіальних, глобальних і т.д. Функціональні компоненти і / або інформаційні ресурси систем з такою архітектурою підтримуються на різних вузлах мережі.
Системи з розподіленою архітектурою дають можливість усуспільнювати інформаційні, обчислювальні і комунікаційні ресурси вузлів мережі для використання їх в рамках даного програму або комплект програм. У деяких випадках при цьому забезпечується прозорість розподілу усуспільнюється ресурсів, наприклад, в розподілених системах баз даних з глобальної схемою.
Найбільш поширеним варіантом розподіленої архітектури ще з початку 90-х років стала архітектура «клієнт-сервер». При цьому передбачається виділення одного з функціональних компонентів системи, званого сервером. для надання певних послуг за запитами інших компонентів, які називаються клієнтами. Ролі клієнта і сервера в даній архітектурної моделі є відносними, оскільки вони асоціюються з конкретним набором послуг. Функціональний компонент, який є клієнтом щодо одного набору послуг, може бути разом з тим сервером, що надає інші послуги.
У системах баз даних, заснованих на такому підході, сервер підтримує базу даних і обробляє запити, що надходять з боку клієнтів. У свою чергу, клієнтські вузли підтримують інтерфейси і функціональність додатків. Така архітектура називається двухзвенной архітектурою «клієнт-сервер».
Концепція «клієнт-сервер» може також використовуватися в середовищі зосередженої архітектури.
Системи з двухзвенной архітектурою «клієнт-сервер» мають обмеженими можливостями масштабування, і нарощування навантаження на сервер бази даних вище деякого порога призводить до різкого зниження продуктивності системи. До того ж, при Дволанковий підході ускладнюється модифікація додатків - зміни можуть зачіпати цілий ряд клієнтських систем. У зв'язку з цим в розробках великих систем стала застосовуватися "трехзвенная архітектура« клієнт-сервер »" (клієнти, сервер додатки і сервер бази даних). При такій архітектурі функціональність програми підтримується спеціальним сервером. Сервер бази даних і сервер додатка можуть підтримуватися на різних платформах і при необхідності незалежно масштабироваться, породжуючи тим самим многозвенную архітектуру «клієнт-сервер».
Однією з різновидів розподілених архітектур є архітектура проміжного шару. Функціональні компоненти проміжного шару займають проміжне положення між додатками, з одного боку, і засобами операційної системи і мережевого програмного забезпечення, з іншого боку. Популярність такої архітектури пов'язана з тим, що вона забезпечує додатком, що використовує засновані на її принципах програмні засоби, незалежність від мережевих протоколів і специфіки операційних систем. Зазначені можливості досягаються завдяки стандартизації інтерфейсів і протоколів, підтримуваних програмним забезпеченням проміжного шару. Розроблені технології, засновані на концепції проміжного шару, забезпечують прозорість розподілу ресурсів прикладної системи та її неоднорідності для розробника додатків.
Програмне забезпечення, що базується на принципах архітектури проміжного шару, є подальшим розвитком архітектури «клієнт-сервер». Такий підхід є в даний час домінуючим при створенні великих інформаційних систем.
Архітектурний рівень будемо називати керованим або некерованим в залежності від того, чи має він зовнішніми інтерфейсами. Саме керовані архітектурні рівні СУБД забезпечують підтримку незалежних уявлень даних, адекватних потребам різних груп системного персоналу і користувачів.
Зауважимо на закінчення, що сучасні технології розробки програмних систем передбачають визначення компонентів функціональної архітектури створюваних систем шляхом опису їх інтерфейсів.
Контрольні питання по темі.
1. Які властивості системи бази даних характеризує її інформаційна архітектура?
2. Які властивості системи бази даних характеризує її функціональна архітектура, якими засобами вона втілюється?
3.Необходімость забезпечення якої функції СУБД справила визначальний вплив на що сформувався підхід до інформаційної архітектури систем баз даних?
4.Кратко охарактеризуйте основні принципи інформаційної архітектури сучасної системи бази даних.
5.Охарактерізуйте властивості системи бази даних, які визначаються її просторової архітектурою.
6. У чому полягає головна властивість зосереджених систем бази даних?
7.Какова особливості і цілі створення розподілених систем баз даних?
8.Каково основні принципи архітектури «клієнт-сервер»?
9.Чем розрізняються двухзвенная і трехзвенная архітектура «клієнт-сервер»?
Генерація сторінки за: 0.008 сек.