Розподілені БД. Основні моделі архітектури клієнт-сервер. Сервер бази даних

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

Розподілені системи - це системи "клієнт-сервер". Сучасна СУБД зобов'язана володіти розмежуванням на клієнтську і серверну основу. Загальна|спільна| схема взаємодії в клієнт-серверній моделі виглядає так:

Клієнт- Сервер- База, тобто клієнт безпосередньо|прямо| з|із| базою не зв'язується.

Клієнт – довільне застосування, яке направлене|спрямоване| на управління базою(додавання|добавляти|, видалення|віддалення|, зміна, сортування, пошук).

Сервер – модель або об'єкт, який відповідає за швидкість виконання запитів, служить мостом між клієнтом і базою і покликаний розвантажити додаток|застосування| від рутинної роботи.

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

Архітектури серверів поділяють на дворівневі та троьхрівневі:

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

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

Розрізняють наступні|слідуючі| моделі клієнт-серверної архітектури:

1. Модель файлового сервера - File| Server| – FS|

Клієнт Сервер

Дана модель – базова для локальних мереж|сітей| ПК. Взаємодія між клієнтом і сервером побудована|спорудити| на передачі інформації у вигляді файлів, при цьому клієнт займається формуванням файлу, сервер – розформуванням файлу, знаходженням потрібної інформації, формуванням файлу і відправки до клієнта. Переваги моделі – файли структурувати легко, ніж запити або пакети. Недоліки|нестачі| – високий мережевий|мережний| трафік, відсутність засобів|коштів| безпеки доступу до даним.

2. Модель доступу до видалених|віддалених| даних - Remote| Data| Access| – RDA|

Клієнт Сервер

 

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

 

3. Модель сервера БД - DataBase| – DBS|

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

4. Модель сервера додатків|застосувань| - Application| Server| - AS|

Клієнт з|із| сервером спілкуються за допомогою API-функцій|, а сервер роздільний на 2 частини|частки| і між собою вони спілкуються через SQL-запит|. Використання API-функцій| значно збільшило безпеку, тому що|бо| тут йде мова про кодування чисел.