околи віддаленого виклику процедур особливо важливі в системах управління базами даних, заснованих на архітектурі «клієнт-сервер».
перше, використання механізму віддалених процедур дозволяє дійсно перерозподіляти функції між клієнтської і серверної частинами системи, оскільки в тексті програми віддалений виклик процедури нічим не відрізняється від віддаленого виклику, і отже, теоретично будь-який компонент системи може розташовуватися і на стороні сервера, і на стороні клієнта.
друге, механізм віддаленого виклику приховує відмінності між взаємодіючими комп'ютерами. Фізично неоднорідна локальна мережа комп'ютерів приводиться до логічно однорідної мережі взаємодіючих програмних компонентів. В результаті користувачі не зобов'язані серйозно піклуватися про разову закупівлю сумісних серверів і робочих станцій.
У типовому на сьогоднішній день випадку на стороні клієнта СУБД працює тільки таке програмне забезпечення, яке не має безпосереднього доступу до баз даних, а звертається для цього до сервера з використанням мови SQL.
У деяких випадках хотілося б включити до складу клієнтської частини системи деякі функції для роботи з «локальним кешем» бази даних, тобто з тією її частиною, яка інтенсивно використовується клієнтської прикладної програмою. У сучасній технології це можна зробити тільки шляхом формального створення на стороні клієнта локальної копії сервера бази даних і розгляду всієї системи як набору взаємодіючих серверів.
З іншого боку, іноді хотілося б перенести більшу частину прикладної системи на сторону сервера, якщо різниця в потужності клієнтських робочих станцій і сервера надто велика. Вобщем-то при використанні RPC це зробити неважко. Але потрібно, щоб базове програмне забезпечення сервера дійсно дозволяло це. Зокрема, при використанні ОС UNIX проблеми практично не виникають.
Основна частина будь-якої системи «клієнт-сервер»- Це сервер БД. З часу виникнення архітектури «клієнт-сервер» з'явилося багато варіантів архітектури процесора БД, оскільки він багато в чому визначає успіх всієї системи. Основна вимога до сервера БД - забезпечення мінімального часу виконання запитів при максимально можливому числі користувачів. Існують дві основні архітектури для побудови процесора БД: архітектура з декількома процесами і багатопотокова архітектура.
Характеризується тим, що кілька екземплярів виконуваного файлу працюють одночасно. Ці системи відрізняються гарною масштабованість, але вимагають значних витрат пам'яті, так як пам'ять кожного примірника додатка виділяється окремо. Ця архітектура має на увазі наявність ефективного механізму взаємодії процесів і покладається на операційну систему при поділі процесорного часу між окремими екземплярами програми. Найвідоміший приклад сервера, побудованого за цією архітектурі, - Oracle Server. Коли користувач підключається до БД Oracle, він насправді запускає окремий екземпляр виконуваного файлу процесора бази даних.
Багаторівнева архітектура.
Ця архітектура використовує тільки один виконуваний файл, з декількома потоками виконання. Головна перевага - більш скромні вимоги до обладнання, ніж для архітектури з декількома процесами. Тут сервер бере на себе поділ часу між окремими потоками, іноді даючи перевагу деяким завданням над іншими. Крім того, відп...