ьних мереж з'явилися передумовами появи нової архітектури файл-сервер.
Ця архітектура баз даних з мережевим доступом припускає призначення одного з комп'ютерів мережі як виділеного сервера, на якому зберігатимуться файли бази даних.
Відповідно до запитів користувачів файли з файл-сервера передаються на робочі станції користувачів, де і здійснюється основна частина обробки даних.
Центральний сервер виконує в основному тільки роль сховища файлів, не беручи участь в обробці самих даних (рис.2.1.1 Архітектура «файл-сервер»).
Рис. 1.1.1 Архітектура «файл-сервер»
Робота побудована таким чином:
· База даних у вигляді набору файлів знаходиться на жорсткому диску спеціально виділеного комп'ютера (файлового сервера).
· Існує локальна мережа, що складається з клієнтських комп'ютерів, на кожному з яких встановлені СУБД і додаток для роботи з БД.
· На кожному з клієнтських комп'ютерів користувачі мають можливість запустити додаток. Використовуючи надаваний додатком користувальницький інтерфейс, він ініціює звернення до БД на вибірку/оновлення інформації.
· Усі звернення до БД йдуть через СУБД, яка інкапсулює усередині себе всі відомості про фізичну структуру БД, розташованої на файловому сервері.
· СУБД ініціює звернення до даних, що знаходяться на файловому сервері, в результаті яких частина файлів БД копіюється на клієнтський комп'ютер і обробляється, що забезпечує виконання запитів користувача.
· При необхідності (у разі зміни даних) дані відправляються назад на файловий сервер з метою оновлення БД.
· Результат СУБД повертає в додаток.
· Додаток, використовуючи користувальницький інтерфейс, відображає результат виконання запитів.
У рамках архітектури «файл-сервер» були виконані перші версії популярних так званих настільних СУБД, таких, як dBase і Microsoft Access.
У літературі вказуються наступні основні недоліки даної архітектури:
· При одночасному зверненні безлічі користувачів до одних і тих же даних продуктивність роботи різко падає, тому необхідно дочекатися поки користувач, що працює з даними, завершить свою роботу. В іншому випадку можливе затирання виправлень, зроблених одними користувачами, змінами інших користувачів.
· Весь тягар обчислювального навантаження при доступі до БД лягає на додаток клієнта, так як при видачі запиту на вибірку інформації з таблиці вся таблиця БД копіюється на клієнтську машину і вибірка здійснюється на клієнті. Таким чином, неоптимально витрачаються ресурси клієнтського комп'ютера та мережі. В результаті зростає мережевий трафік і збільшуються вимоги до апаратних потужностей для користувача комп'ютера.
· Як правило, використовується навігаційний підхід, орієнтований на роботу з окремими записами.
· У БД на файл-сервері набагато простіше вносити зміни в окремі таблиці, минаючи додатки, безпосередньо з інструментальних засобів; подібна можливість полегшується тією обставиною, що фактично у таких СУБД база даних - поняття більш логічне, ніж фізичне, оскільки під БД розуміється набір окремих таблиць, що співіснують в окремому каталозі на диску. Все це дозволяє говорити про низький рівень безпеки - як з точки зору розкрадання та завдання шкоди, так і з точки зору внесення помилкових змін.
· Недостатньо розвинений апарат транзакцій служить потенційним джерелом помилок в плані порушення смислової та посилальної цілісності інформації при одночасному внесенні змін в одну і ту ж запис.
. 1.2 Технологія «клієнт - сервер»
Використання технології «клієнт - сервер» передбачає наявність деякої кількості комп'ютерів, об'єднаних в мережу, один з яких виконує особливі керуючі функції (є сервером мережі).
Так, архітектура «клієнт - сервер» розділяє функції програми користувача (званого клієнтом) і сервера. Додаток-клієнт формує запит до сервера, на якому розташована БД, на структурному мові запитів SQL (Structured Query Languague), що є промисловим стандартом у світі реляційних БД. Віддалений сервер приймає запит і переадресує його SQL-серверу БД. SQL-сервер - спеціальна програма, що керує віддаленою базою даних. SQL-сервер забезпечує інтерпретацію запиту, його виконання базі даних, формування результату виконання запиту і видачу його додатку-клієнту. При цьому ресурси клієнтського комп'ютера не беруть участь у фізичному виконанні запиту; клієнтський комп'ютер лише відсилає запит до серверної БД і отримує результат, після чого інтерпретує його необхідним чином ...