Архітектура СУБД - системи управління базами даних

Архітектура баз даних запропонована дослідницькою групою ANSI / SPARC включає три рівні: внутрішній, концептуальний і зовнішній. У загальних рисах вони є наступними:

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

Для прикладного програміста це або один з поширених мов програмування.

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

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

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

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

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

Внутрішнє представлення - це уявлення нижнього рівня всієї БД; воно складається з багатьох примірників кожного типу внутрішньої записи.

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

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

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

Файл - серверна архітектура.

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

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

Клієнт - серверна архітектура.

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

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

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

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

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

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