Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДОМАШКА.docx
Скачиваний:
7
Добавлен:
10.09.2019
Размер:
1.01 Mб
Скачать

Сервери баз даних

Термін “сервер баз даних” звичайно використовують для позначення всієї СУБД, заснованої на архітектурі “клієнт-сервер”, включаючи й серверну, і клієнтську частини. Такі системи призначені для зберігання й забезпечення доступу до баз даних.

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

Принципи взаємодії між клієнтськими й серверними частинами

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

Це мова по суті справи являє собою поточний стандарт інтерфейсу СУБД у відкритих системах. Назва SQL-сервер ставиться до всіх серверів баз даних, заснованих на SQL.

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

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

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

1.1.6 Переваги протоколів віддаленого виклику процедур

Згадані вище протоколи віддаленого виклику процедур особливо важливі в системах керування базами даних, заснованих на архітектурі “клієнт-сервер”.

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

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

1.1.7 Типовий поділ функцій між клієнтами й серверами

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

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

З іншого боку, іноді хотілося б перенести більшу частину прикладної системи на сторону сервера, якщо різниця в потужності клієнтських робочих станцій і сервера надто велика. Взагалі ж при використанні RPC це зробити неважко. Але потрібно, щоб базове програмне забезпечення сервера дійсно дозволяло це. Зокрема, при використанні ОС UNIX проблеми практично не виникають.