Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

БД, які підтримуються в Delphi




 

Є чотири різновиди архітектури баз даних:

 

• локальні бази даних;

 

• архітектура "файл-сервер";

 

• архітектура "клієнт-сервер";

 

• багаторівнева (трирівнева N-tier або multi-tier) архітектура.

 

Локальні та файл-серверні бази даних

 

В локальних та файл-серверних БД, базами даних можуть розташовуватись на машині клієнта (локальні БД) або на мережному файл-сервері (файл-серверні БД).

 

 

Рис. Загальна схема однокористувацької архітектури

 

 

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

 

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

 

 

Рис. Загальна схема архітектури "файл-сервер"

 

Клієнт-серверні БД

 

Архітектура "файл-сервер" неефективна принаймні в двох відношеннях:

 

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

 

2. Цілісності БД забезпчеується клієнтськими програмами. Це потенційне джерело помилок, що порушують фізичну і логічну цілісність БД, оскільки різні клієнти можуть проводити контроль цілісності БД по-різному, або не проводити такого контролю зовсім. Набагато ефективніше управляти БД з єдиного місця і за єдиними законами. Тому безпека при роботі в архітектурі "файл-сервер" є невисокою і завжди присутній елемент невизначеності. В такій архітектурі важко забезпечити секретність даних та їх захист – таблиці зберігаються на сервері у вигляді звичайних файлів тому будь-хто, хто має доступ до каталогів мережевого сервера, де зберігається БД, може змінювати таблиці, копіювати їх, замінювати і так далі

 

В архітектурі "клієнт-сервер" між BDE і БД з’являється важлива проміжна ланка – сервер БД – спеціальна програма, яка керує віддаленою БД.

 

 

Рис. Клієнт-серверна архітектура

 

Клієнт формує запит до сервера, на якому розташована БД, на мові запитів SQL (Structured Query Languague – структурована мова запитів), що є промисловим стандартом в світі реляційних БД. SQL-сервер забезпечує інтерпретацію запиту, його виконання, формування результата і видачу цього результата клієнту. При цьому ресурси клієнтського комп'ютера не беруть участь у фізичному виконанні запиту; клієнтський комп'ютер лише посилає запит до серверної БД і отримує результат, після чого інтерпретує його потрібним чином і надає користувачеві. Оскільки клієнтському застосуванню посилається результат виконання запиту, по мережі передаються тільки ті дані, які насправді необхідні клієнтові. У результаті знижується навантаження на мережу. Крім того, SQL-сервер, якщо це можливо, оптимізує отриманий запит так, щоб він був виконаний за мінімальний час. Все це підвищує швидкодію системи і знижує час очікування результату запиту.

 

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

 

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

 

У архітектурі "клієнт-сервер" використовуються промислові сервери даних типу Oracle, Gupta, Informix, Sybase, MS SQL Server, Db2, Interbase, MySQL і ряд інших.

 

 

Таким чином, функціями додатку-клієнта є:

1. посилка до сервера запитів;

2. інтерпретація результатів запитів, отриманих від сервера, і представлення їх користувачеві в необхідній формі;

3. реалізація інтерфейсу користувача.

SQL-сервер - це програма, розташована на комп'ютері мережевого сервера. SQL-сервер має бути завантажений на момент ухвалення запиту від клієнта. Функціями сервера БД є:

1. прийом запитів від додатків-клієнтів, інтерпретація запитів, виконання запитів в БД, відправка результату виконання запиту додатку-клієнтові;

2. управління цілісністю БД, забезпечення системи безпеки, блокування невірних дій додатків-клієнтів;

3. зберігання бізнес-правил, часто використовуваних запитів у вже інтерпретованому вигляді;

4. забезпечення одночасної безпечної і відмовостійкої многопользовательськой роботи з одними і тими ж даними.

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

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

 

Використання архітектури "клієнт-сервер":

1. різко зменшує мережевий графік;

2. знижує складність додатків-клієнтів (оскільки тим вже немає 1 необхідності забезпечувати цілісність і безпеку БД і стежити за параметрами многопользовательськой роботи з БД);

3. знижує вимоги до апаратних засобів, на яких ці застосування функціонують (тобто до комп'ютерів пользователей- клієнтів);

4. підвищує надійність БД, її цілісність, безпеку і секретність.

 

 

Трирівнева архітектура "клієнт-сервер" (архітектура із сервером додатків).

 

Розвиток ідеї архітектури "клієнт-сервер" привів до появи трирівневої архітектури доступу до баз даних (у літературі її також називають багаторівневою архітектурою, N-tier або multi-tier архітектурою).

 

Архітектура "клієнт-сервер" є дворівневою. Першою ланкою є додаток клієнта, другою - сервер БД і сама БД.

 

У трирівневій архітектурі створюється допоміжна програма в яку включаються всі компоненти-набори даних, які раніше були власністю клієнтських додатків а також додаткові компоненти TDatabase та TSession. Надалі ця програма реєструється як окремий "сервер додатків". Спільно з ним розташовується BDE. Клієнтські програми звертаються до віддаленого сервера додатків, який і надає доступ до серверних даних. Як правило, сервер додатків розташовується на одному комп’ютері з сервером БД.

 

 

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

 

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

 

Рис. Архітектура із сервером додатків

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 298.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...