Багатокористувацькі СУБД
В якості сервера може розглядатися програма, яка надає деякі послуги по запитах інших програм, що називаються клієнтами. Взаємодія між клієнтами і сервером здійснюється за допомогою передачі повідомлень відповідно до заданого протоколу.
В технології роботи з БД виділяють функції:
· вводу і відображення даних (представлення даних);
· прикладні функції, які визначають основні алгоритми розв’язання прикладних задач (застосування);
· обробки даних у застосуваннях;− управління інформаційними ресурсами (СУБД).
Представлення даних визначає те,що користувач бачить на своєму екрані. Тут визначаються екранні зображення, операції читання і запису даних, управління діалогом.
Прикладні функції (бізнес-логіка)визначають логікуроботи прикладних програм застосувань. Код застосування пишеться з використанням процедурних мов програмування.
Функції обробки даних пов'язані з обробкою даних всередині застосувань. Даними керує СУБД. Для забезпечення доступу до даних використовується мова SQL, яка найчастіше вбудовується в мови, які використовуються для створення коду застосування.
Функції управління інформаційними ресурсами − це СУБД, яка забезпечує зберігання і управління БД.
Залежно від того, де розташовані ці компоненти по відношенню одна до одної розрізняють монолітне виконання (найчастіше для персональних БД), дво- і трирівневе.
Дворівнева архітектура характеризується тим, що всі функції розподіляються між двома процесами, які виконуються на двох платформах: на клієнті і на сервері. В дворівневій архітектурі в свою чергу можлива реалізація таких моделей:
· модель файлового сервера;
· модель віддаленого доступу до даних;
· модель сервера бази даних.
У моделі файлового сервера (рис. 10.4) застосування розташовуються і виконуються на робочих станціях. На файловому сервері зберігаються тільки файли БД (файли даних, індекси і т.ін.) і деякі технологічні файли, які необхідні для роботи застосувань і самої СУБД. Клієнт звертається до СУБД на мові SQL, СУБД перекладає запит у послідовність файлових команд і передає файловому серверу. На кожну команду сервер передає блок даних. Обробка інформації виконується на робочій станції за допомогою СУБД. Системи цього класу коштують недорого, прості в установці й освоєнні. До недоліків можна віднести таке:
· на кожній робочій станції знаходиться копія СУБД;
· низька продуктивність систем, оскільки всі проміжні дані передаються по мережі, а обробка виконується на робочих станціях, потужність яких значно поступається потужності сервера;
· складність розподіленої обробки.
КЛІЄНТ
Представлення | Застосування | ||||||||
СУБД | |||||||||
Обробка даних | |||||||||
Файлові | Блоки | ||||||||
команди | даних | ||||||||
Система управління файлами
Дані
База
даних
Рис. 10.4. Модель файлового сервера
У моделі віддаленого доступу до даних (рис. 10.5) БД і СУБД знаходяться на сервері, застосування розташовуються і виконуються на робочих станціях. Клієнт звертається до серверу на мові SQL. В цій архітектурі сервер виконує функції обробки транзакцій, даних і запитів. Сервер не перевантажений виконанням застосувань. Значно зменшується завантаження мережі у порівнянні з сервером файлів, оскільки по мережі від клієнта до сервера передаються команди на мові SQL, а не файлові команди, обсяг яких значно більший. Від сервера до
клієнта передаються дані, які відповідають запиту, а не блоки файлів. Недоліками моделей є таке:
· запити на мові SQL при інтенсивній роботі можуть значно завантажити мережу;
· прикладні функції застосувань необхідно повторювати для кожного клієнтського комп'ютера;
· сервер виконує пасивну роль і тому функції управління інформаційними ресурсами повинні виконуватись клієнтом.
КЛІЄНТ
Представлення Застосування
SQL запити | Результати | |||||
запитів | ||||||
СЕРВЕР | ||||||
Обробка даних | СУБД | |||||
Дані
База
даних
Рис. 10.5. Модель віддаленого доступу
Модель сервера бази даних (рис. 10.6)є подальшимрозвитком моделі віддаленого доступу. Ця модель розширена механізмами процедур, що зберігаються і механізмами тригерів, які створюються на розширенні мови SQL.
КЛІЄНТ
Представлення
Виклики | Результати | |||||||||
процедур, що | ||||||||||
обробки | ||||||||||
зберігаються | ||||||||||
СЕРВЕР | ||||||||||
СУБД | Процедури, що | Тригери | ||||||||
зберігаються | ||||||||||
Дані | ||||||||||
База даних Тригери
Процедури, що зберігаються
Рис. 10.6. Модель сервера бази даних
Процедури, що зберігаються є засобом програмування SQL-сервера і являють собою підпрограми, які можуть викликатися або застосуваннями користувачів, або тригерами. Тригери являють собою особливий тип процедури,щозберігається, яка самостійно реагує на виникнення певної події в БД. Тригер може активізуватися після операцій додавання, модифікації і вилучення. Застосування тригерів дозволяє зробити сервер активним. Це означає,що сам сервер можебути ініціатором обробки даних в БД.
Застосування процедур, що зберігаються і тригерів на сервері дозволяє їх використовувати різним клієнтам, що суттєво зменшує дублювання алгоритмів обробки даних. Недоліком цієї моделі в першу чергу є велике завантаження сервера.
Подальшим розвитком моделі сервера бази даних є трирівнева архітектура (рис.10.7). Ця архітектура ще називається моделлю із сервером застосувань.
КЛІЄНТ | |||||||||||
Представлення | |||||||||||
Запуск | Результати | ||||||||||
процедур | обробки | ||||||||||
СЕРВЕР ЗАСТОСУВАНЬ | |||||||||||
Застосування | |||||||||||
Запити | Результати | ||||||||||
запитів | |||||||||||
СЕРВЕР БАЗИ ДАНИХ | |||||||||||
Процедури, що | Обробка даних | ||||||||||
зберігаються | |||||||||||
Дані | |||||||||||
База | |||||||||||
даних |
Рис. 10.7. Модель сервера застосувань
Сервер застосувань −в триланковій архітектурі"клієнт-сервер" компонент прикладної системи, який розташовується між клієнтом і сервером БД і реалізує логіку застосування.
У цій моделі клієнт виконує тільки представлення інформації, сервер БД − виконує функції управління інформаційними ресурсами БД, забезпечує функції створення і ведення БД, підтримує цілісність БД. Сервер застосувань виконує загальні функції для клієнтів, забезпечує обмін повідомленнями, підтримує запити, зберігає і виконує найбільш загальні правила бізнес-логіки.
Перевагою моделі із сервером застосувань є гнучкість і універсальність внаслідок розділення функцій на три незалежні складові. Головним недоліком є більш високі витрати ресурсів комп'ютера на обмін інформацією між компонентами застосування у порівнянні з дворівневими моделями.
Дата добавления: 2016-03-22; просмотров: 1147;