Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vidpovidi_BD_2009.doc
Скачиваний:
11
Добавлен:
18.09.2019
Размер:
690.69 Кб
Скачать

14. Архітектура клієнт-сервер: визначити властивості цієї схеми, перелічити переваги і недоліки; порівняти сервер файлів із сервером бази даних.

Характерною особливістю цієї архітектури є максимальне розвантаження клієнта, перенесення обчислювального навантаження на сервер БД (SQL-сервер), а також суттєве укріплення безпеки даних – як від зловмисних так і від помилкових змін.

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

Таким чином, доступ до БД регулюється спеціальною програмою – сервером БД (SQL-сервером). Взаємодія сервера БД та клієнта реалізується за допомогою SQL-запитів, які формує і відсилає серверу клієнт. Сервер, прийнявши запит, виконує його і повертає результат клієнтові. У клієнтському застосуванні в основному виконується інтерпретація отриманих від сервера даних, реалізація інтерфейсу користувача, а також реалізація частини бізнес-правил.

Клієнт формує запит до сервера на мові запитів SQL(Structured Query Language – структурна мова запитів), яка є промисловим стандартом для реляційних БД. SQL-сервер забезпечує інтерпретацію запиту, його виконання, формування результату та видачу цього результату клієнту. При цьому ресурси клієнтського комп’ютера не приймають участі у фізичному виконанні запиту:

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

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

Для реалізації архітектури клієнт-сервер використовують так звані промислові сервери баз даних, такі як InterBase, Oracle, Gupta, Informix, Sybase SQL Server, DB2, MS SQL Server.

Переваги архітектури клієнт-сервер:

1) Більшість обчислювальних процесів виконується на сервері, що знижує потреби до обчислювальних потужностей комп’ютера клієнта;

2) Знижується мережевий трафік за рахунок пересилки сервером клієнтським застосуванням тільки тих даних, які вони запитували;

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

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

5) Безпека системи збільшується за рахунок переносу більшої частини бізнес-правил на сервер;

У більшості СУБД, побудовані на архітектурі архітектурі клієнт-сервер, відсутні такиі недоліки файл-серверних систем:

  • вся трудність обчислювальної роботи перекладається на комп’ютер клієнта;

  • оскільки БД представляє собою набір файлів на сітьовому сервері і доступ до таблиць регулюється лише сітьовою оперативною системою, це робить таку БД, по суті, беззахисною від випадкового або спеціального спотворення інформації, що зберігається в ній, її знищення або розкрадання;

  • бізнес–правила в системах файл-сервер реалізуються в програмі клієнта, що, в принципі, не виключає проектування суперечливих бізнес–правил в різних програмах, змістовна цілісність інформації в БД при цьому може порушуватись;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]