Сервери і системи управління базами даних

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст

1. Сервери .. 2
1.1. Основні поняття серверів і їх класифікація. 2
1.2. Апаратне забезпечення. 9
2. Бази даних. 12
2.1. Поняття бази даних (БД) 12
2.2. Поняття системи управління базами даних (СКБД) 14
2.3. Класифікація СУБД .. 17
Література. 23

1. Сервери

1.1 Основні поняття серверів і їх класифікація

Сервер (від англ. Server, обслуговуючий). У залежності від призначення існує кілька визначень поняття сервер.
1. Сервер (мережа) - логічний або фізичний вузол мережі, що обслуговує запити до одного адресою та / або доменному імені (суміжним доменних імен), що складається з одного або системи апаратних серверів, на якому виконуються один або система серверних програм
2. Сервер (програмне забезпечення) - програмне забезпечення приймає запити від клієнтів (в архітектурі клієнт-сервер).
3. Сервер (апаратне забезпечення) - комп'ютер (або спеціальне комп'ютерне обладнання) виділений і / або спеціалізований для виконання певних сервісних функцій.
3. Сервер в інформаційних технологіях - програмний компонент обчислювальної системи, що виконує сервісні функції по запиту клієнта, надаючи йому доступ до певних ресурсів.
Взаємозв'язок понять. Серверне додаток (сервер) запускається на комп'ютері, так само званому "сервер", при цьому при розгляді топології мережі, такий вузол називають "сервером". У загальному випадку може бути так, що серверний додаток запущено на звичайній робочій станції, або серверний додаток, запущене на серверному комп'ютері в рамках розглянутої топології виступає в ролі клієнта (тобто не є сервером з точки зору мережевої топології).
Поняття сервер і клієнт і закріплені за ними ролі утворюють програмну концепцію «клієнт-сервер».
Для взаємодії з клієнтом (або клієнтами, якщо підтримується одночасна робота з декількома клієнтами) сервер виділяє необхідні ресурси між процесами взаємодії (колективна пам'ять, пайп, сокет, і т. п.) і очікує запити на відкриття з'єднання (чи, власне, запити на наданий сервіс). Залежно від типу такого ресурсу, сервер може обслуговувати процеси в межах однієї комп'ютерної системи або процеси на інших машинах через канали передачі даних (наприклад COM-порт) або мережеві з'єднання.
Формат запитів клієнта і відповідей сервера визначається протоколом. Специфікації відкритих протоколів описуються відкритими стандартами, наприклад протоколи Інтернету визначаються в документах RFC.
У залежності від виконуваних завдань одні сервери, за відсутності запитів на обслуговування, можуть простоювати в очікуванні. Інші можуть виконувати якусь роботу (наприклад, роботу по збору інформації), у таких серверів робота з клієнтами може бути другорядним завданням.
Класифікація стандартних серверів. Як правило, кожен сервер обслуговує один (або кілька схожих) протоколів і сервери можна класифікувати за типом послуг, які вони надають.
Універсальні сервери - особливий вид серверної програми, не надає жодних послуг самостійно. Замість цього універсальні сервери надають серверів послуг спрощений інтерфейс до ресурсів між процесами взаємодії та / або уніфікований доступ клієнтів до різних послуг. Існують кілька видів таких серверів:
· Inetd від англ. I nterne t super-server d aemon демон сервісів IP - стандартний засіб UNIX-систем - програма, що дозволяє писати сервери TCP / IP (і мережевих протоколів інших родин), що працюють з клієнтом через переслані inetd потоки стандартного вводу та виводу (stdin і stdout).
· RPC від англ. R emote P rocedure C all віддалений виклик процедур - система інтеграції серверів у вигляді процедур доступних для виклику віддаленим користувачем через уніфікований інтерфейс. Інтерфейс винайдений Sun Microsystems для своєї операційної системи (SunOS, Solaris; Unix-система), в даний час іспользуетстся як у більшості Unix-систем, так і в Windows.
· Прикладні клієнт-серверні технології Windows:
o (D -) COM (англ. (D istributed) C omponent O bject M odel - модель складових об'єктів) та ін - Дозволяє одним програмами виконувати операції над об'єктами даних використовуючи процедури інших програм. Спочатку дана технологія призначена для їх «впровадження та зв'язування об'єктів» (OLE англ. O bject L inking and E mbedding), але, загалом, дозволяє писати широкий спектр різних прикладних серверів. COM працює тільки в межах одного комп'ютера, DCOM доступна віддалено через RPC.
o Active-X - Розширення COM і DCOM для створення мультимедіа-додатків.
Універсальні сервери часто використовуються для написання всіляких інформаційних серверів, серверів, яким не потрібна якась специфічна робота з мережею, серверів, що не мають ніяких завдань, крім обслуговування клієнтів. Наприклад, в ролі серверів для inetd можуть виступати звичайні консольні програми та скрипти.
Більшість внутрішніх і мережевих специфічних серверів Windows працюють через універсальні сервери (RPC, (D-) COM).
Мережеві служби забезпечують функціонування мережі, наприклад сервери DHCP і BOOTP забезпечують стартову ініціалізацію серверів і робочих станцій, DNS - трансляцію імен в адреси і навпаки.
Сервери тунелювання (наприклад, різні VPN-сервери) і проксі-сервери забезпечують зв'язок з мережею, недоступною роутингом.
Сервери AAA і Radius забезпечують в мережі єдину аутентифікацію, авторизацію та ведення логів доступу.
Інформаційні служби. До інформаційних служб можна віднести як найпростіші сервери повідомляють інформацію про хості (time, daytime, motd), користувачів (finger, ident), так і сервери для моніторингу, наприклад SNMP. Більшість інформаційних служб працюють через універсальні сервери.
Особливим видом інформаційних служб є сервери синхронізації часу - NTP, крім інформуванні клієнта про точний час NTP-сервер періодично опитує кілька інших серверів на предмет корекції власного часу. Крім корекції часу аналізується і коректується швидкість ходу внутрішнього годинника. Корекція часу здійснюється прискоренням або уповільненням ходу системних годин (залежно від напрямку корекції), щоб уникнути можливих проблем при простій перестановці часу.
Файл-сервери представляють собою сервери для забезпечення доступу до файлів на диску сервера.
Перш за все, це сервери передачі файлів на замовлення, по протоколах FTP, TFTP, SFTP і HTTP. Протокол HTTP орієнтований на передачу текстових файлів, але сервери можуть віддавати як запитаних файлів і довільні дані, наприклад динамічно створені веб-сторінки, картинки, музику і т. п.
Інші сервери дозволяють монтувати дискові розділи сервера в дисковий простір клієнта і повноцінно працювати з файлами на них. Це дозволяють сервери протоколів NFS і SMB. Сервери NFS і SMB працюють через інтерфейс RPC.
Недоліки файл-серверної системи:
• Дуже велике навантаження на мережу, підвищені вимоги до пропускної здатності. На практиці це робить практично неможливою одночасну роботу великої кількості користувачів з великими обсягами даних.
Обробка даних здійснюється на комп'ютері користувачів. Це спричиняє підвищені вимоги до апаратного забезпечення кожного користувача. Чим більше користувачів, тим більше грошей доведеться витратити на оснащення їх комп'ютерів.
• Блокування даних при редагуванні одним користувачем робить неможливою роботу з цими даними інших користувачів.
• Безпека. Для забезпечення можливості роботи з такою системою Вам буде необхідно дати кожному користувачеві повний доступ до цілого файлу, в якому його може цікавити тільки одне поле
Сервери доступу до даних обслуговують базу даних і віддають дані за запитами. Один з найпростіших серверів подібного типу - LDAP (англ. Lightweight Directory Access Protocol - полегшений протокол доступу до списків).
Для доступу до серверів баз даних єдиного протоколу не існує, проте всі сервери баз даних об'єднує використання єдиних правил формування запитів - мова SQL (англ. Structured Query Language - мова структурованих запитів).
Служби обміну повідомленнями дозволяють користувачеві передавати і отримувати повідомлення (зазвичай - текстові).
У першу чергу це сервери електронної пошти працюють за протоколом SMTP. SMTP-сервер приймає повідомлення і доставляє його в локальний поштову скриньку користувача або на інший SMTP-сервер (сервер призначення або проміжний). На багатокористувацьких комп'ютерах, користувачі працюють з поштою прямо на терміналі (або веб-інтерфейсі). Для роботи з поштою на персональному комп'ютері, пошта забирається з поштової скриньки через сервери, що працюють по протоколах POP3 або IMAP.
Для організації конференцій існує сервери новин, що працюють по протоколу NNTP.
Для обміну повідомленнями в реальному часі існують сервери чатів, стандартний чат-сервер працює по протоколу IRC - розподілений чат для інтернету. Існує велика кількість інших чат-протоколів, наприклад ICQ або Jabber.
Сервери вилученого доступу
Сервери вилученого доступу, через відповідну клієнтську програму, забезпечують користувача консольним доступом до віддаленої системи.
Для забезпечення доступу до командного рядка служать сервери telnet, RSH, SSH.
Графічний інтерфейс для Unix-систем - X Window System, має вбудований сервер віддаленого доступу, тому що з такою можливістю розроблявся одразу. Іноді можливість віддаленого доступу до інтерфейсу Х-Window неправильно називають «X-Server» (цим терміном в X-Window називається відеодрайвер).
Стандартний сервер віддаленого доступу до графічного інтерфейсу Microsoft Windows називається термінальний сервер.
Деяку різновид управління (точніше моніторингу і конфігурації), також, надає протокол SNMP. Комп'ютер або апаратний пристрій для цього має мати SNMP-сервер.
Ігрові сервери, служать для одночасної гри декількох користувачів в єдиній ігрової ситуації. Деякі ігри мають сервер в основний постачання і дозволяють запускати його в невиділений режимі (тобто дозволяють грати на машині, на якій запущений сервер).
Серверні рішення - операційні системи та / або пакети програм, оптимізовані під виконання комп'ютером функцій сервера і / або містять у своєму складі комплект програм для реалізації типового сервісів.
Прикладом серверних рішень можна привести Unix-системи, спочатку призначені для реалізації серверної інфраструктури, або серверні модифікації платформи Microsoft Windows.
Також необхідно виділити пакети серверів і супутніх програм (наприклад, комплект веб-сервер/PHP/MySQL для швидкої розгортки хостингу) для встановлення під Windows (для Unix властива модульна або «пакетна» установка кожного компонента, тому такі рішення рідкісні).
В інтегрованих серверних рішеннях установка всіх компонентів виконується одноразово, всі компоненти в тій чи іншій мірі тісно інтегровані й попередньо налаштовані один на одного. Однак у цьому випадку, заміна одного з серверів або вторинних додатків (якщо їх можливості не задовольняють потреб) може представляти проблему.
Серверні рішення служать для спрощення організації базової ІТ-інфраструктури компаній, тобто для оперативної побудови повноцінної мережі в компанії в тому числі і «з нуля». Компонування окремих серверних додатків в рішення має на увазі, що рішення призначене для виконання більшості типових завдань; при цьому значно знижується складність розгортання і загальна вартість володіння ІТ-інфраструктурою, побудованої на таких рішеннях.
Проксі-сервер (від англ. Proxy - «представник, уповноважений») - служба в комп'ютерних мережах, що дозволяє клієнтам виконувати непрямі запити до інших мережних служб. Спочатку клієнт підключається до проксі-сервера і запитує який-небудь ресурс (наприклад, e-mail), розташований на іншому сервері. Потім проксі-сервер або підключається до вказаного серверу і отримує ресурс у нього, або повертає ресурс з власного кешу (у випадках, якщо проксі має свій кеш). У деяких випадках запит клієнта або відповідь сервера може бути змінений проксі-сервером в певних цілях. Також проксі-сервер дозволяє захищати клієнтський комп'ютер від деяких мережевих атак.

1.2 Апаратне забезпечення

Сервером називається комп'ютер, виділений з групи персональних комп'ютерів (або робочих станцій) для виконання будь-якої сервісної завдання без безпосередньої участі людини. Сервер і робоча станція може мати однакову апаратну конфігурацію, тому що розрізняються лише по участі в своїй роботі людини за консоллю.
Деякі сервісні завдання можуть виконуватися на робочій станції паралельно з роботою користувача. Таку робочу станцію умовно називають невиділений сервером.
Консоль (зазвичай - монітор / клавіатура / миша) і участь людини необхідні серверів тільки на стадії первинної настройки, при апаратно-технічному обслуговуванні та управлінні в позаштатних ситуаціях (штатно, більшість серверів управляються віддалено). Для позаштатних ситуацій сервера зазвичай забезпечуються одним консольним комплектом на групу серверів (з комутатором, наприклад KVM-перемикачем, або без такого).
У результаті спеціалізації (див. нижче), серверне рішення може отримати консоль у спрощеному вигляді (наприклад, комунікаційний порт), або втратити її зовсім (у цьому випадку первинна настройка і позаштатне керування можуть виконуватися тільки через мережу, а мережеві настройки можуть бути скинуті в стан за замовчуванням).
Спеціалізація серверного устаткування йде кількома шляхами, вибір того в якому напрямку йти кожен виробник визначає для себе сам. Більшість спеціалізацій здорожують обладнання.
Серверне обладнання, як правило, комплектується більш надійними елементами:
- Пам'яттю з підвищеною стійкістю до збоїв, наприклад для i386-сумісних комп'ютерів, пам'ять, призначена для серверів, має технологію корекції помилок (ECC англ. Error Checking and Correction). На деяких інших платформах, наприклад Sparc (Sun Microsystems), корекцію помилок має вся пам'ять.
- Резервуванням, в тому числі: блоків харчування (у тому числі з гарячим підключенням), жорстких дисків (RAID; в тому числі з гарячими підключенням і заміною). Не плутати з «RAID»-системами звичайних комп'ютерів; більш продуманим охолодженням (функцією)
Розміри та інші деталі зовнішнього виконання. Сервери (і інше устаткування), які потрібно встановлювати на деякий стандартне шасі (наприклад, в 19-дюймові стійки і шафи) наводяться до стандартних розмірів і забезпечуються необхідними кріпильними елементами. Сервери, які не потребують високої продуктивності і великої кількості зовнішніх пристроїв найчастіше зменшують у розмірах. Часто це зменшення супроводжується зменшенням ресурсів.
У, так званому, «промисловому виконанні», крім зменшених розмірів, корпус має більшу міцність, захищеність від пилу (забезпечений змінними фільтрами) (і, іноді, вологості), а також має дизайн кнопок, що запобігає випадкові вимкнення.
Конструктивно апаратні сервери можуть виконуватися в настільному, підлоговому, стоєчном і стельовому варіантах. Останній варіант забезпечує найбільшу щільність розміщення обчислювальних потужностей на одиницю площі, а також максимальну масштабованість. З кінця 1990-х все більшу популярність в системах високої надійності і масштабованості отримали так звані блейд-сервери (від англ. Blades - лезо) - компактні модульні пристрої, що дозволяють скоротити витрати на електроживлення, охолодження, обслуговування і т.
Ресурси. По ресурсах (частота та кількість процесорів, кількість пам'яті, кількість і продуктивність жорстких дисків, продуктивність мережевих адаптерів) сервери спеціалізуються у двох протилежних напрямках - нарощуванні ресурсів та їх зменшенні.
Нарощування ресурсів має на меті збільшення ємності (наприклад, спеціалізація для файл-сервера) і продуктивності сервера. Коли продуктивність досягає певної межі, подальше нарощування продовжують іншими методами, наприклад, распаралеліваніем завдання між декількома серверами. Зменшення ресурсів переслідує мети зменшення розмірів і енергоспоживання серверів.
Апаратні рішення. Крайній ступенем спеціалізації серверів є, так звані апаратні рішення (апаратні роутери, мережеві дискові масиви, апаратні термінали і т. п.). Апаратне забезпечення таких рішень будується "з нуля" або переробляється з існуючої комп'ютерної платформи без урахування сумісності, що робить неможливим використання пристрою зі стандартним програмним забезпеченням.
Програмне забезпечення в апаратних рішеннях завантажується на постійну і / або енергонезалежну пам'ять виробником. Апаратні рішення, як правило, більш надійні в роботі, ніж звичайні сервери, але менш гнучкі й універсальні. За ціною, апаратні рішення можуть бути як дешевше, так і дорожче серверів, в залежності від класу устаткування.
Псевдоаппаратние рішення. Останнім часом, поширилося велика кількість бездискових серверних рішень, на базі комп'ютерів (як правило x86) формфактора Mini-ITX і менше cо спеціалізованої переробкою GNU / Linux на SSD-диску (ATA-флеш або флеш-карті), які позиціонують як « апаратні рішення ». Дані рішення не належать до класу апаратних, а є звичайними спеціалізованими серверами. На відміну від (більш дорогих) апаратних рішень вони успадковують проблеми платформи і програмних рішень, на яких засновані.
Сервери розміщуються у так званих серверних кімнатах. Управління серверами здійснюють системні адміністратори.

2. Бази даних

2.1 Поняття бази даних (БД)

Основи сучасної інформаційної технології складають бази даних (БД) і системи управління базами даних (СКБД), роль яких як єдиного засобу зберігання, обробки і доступу до великих обсягів інформації постійно зростає. При цьому істотним є постійне підвищення обсягів інформації, що зберігається в БД, що тягне за собою вимога збільшення продуктивності таких систем. Різко зростає також у різноманітних застосуваннях попит на інтелектуальний доступ до інформації. Це особливо проявляється при організації логічної обробки інформації в системах баз знань, на основі яких створюються сучасні експертні системи.
База даних - засіб організації зберігання і управління великою кількістю впорядкованої різнорідної інформації. Зазвичай її характеризує жорстка внутрішня структура і взаємозв'язок між окремими елементами збережених даних. Працюючи з базою даних, користувач абстрагується від конкретного способу їх фізичного зберігання на комп'ютері.
І замість того, щоб мати справу з великою кількістю окремих файлів, наприклад, текстових, табличних і графічних, ми оперуємо єдиним інтерфейсом, за допомогою якого додаємо нові записи, редагуємо чи видаляємо вже наявні. Крім того, база даних передбачає наявність механізму генерації аналітичних звітів, який позбавляє користувача від розрахунку будь-яких складних показників вручну і пошуку необхідних фрагментів в різних файлах.
У базі даних підприємства, наприклад, може зберігатися: вся інформація про штатний розклад, про робітників і службовців підприємства; відомості про матеріальні цінності; дані про надходження сировини і комплектуючих; відомості про запаси на складах; дані про випуск готової продукції; накази і розпорядження дирекції і т.п.
Навіть невеликі зміни будь-якої інформації можуть призводити до значних змін у різних інших місцях.
Приклад. Видання наказу про підвищення на посаді одного працівника призводить до змін не тільки в особистій справі працівника, але і до змін у списках підрозділу, в якому він працює, у відомостях на зарплату, у графіку відпусток і т.п.
Організація структури БД формується виходячи з таких міркувань:
1. Адекватність описуваного об'єкту / системі - на рівні концептуальної та логічної моделі.
2. Зручність використання для ведення обліку і аналізу даних - на рівні так званої фізичної моделі.
За моделлю представлення даних БД класифікуються: картотеки, ієрархічні, мережеві, реляційні, багатовимірні, об'єктно-орієнтовані.
На рівні фізичної моделі електронна БД являє собою файл або їх набір у форматі TXT, CSV, Excel, DBF, XML або в спеціалізованому форматі конкретної СУБД. Також в СУБД в поняття фізичної моделі включають спеціалізовані віртуальні поняття, існуючі в її рамках - таблиця, табличний простір, сегмент, куб, кластер і т. д.
Хороша модель і правильний проект бази даних формують основу інформаційної системи. Побудова шару даних - часто перший критичний крок у напрямку створення нової системи, який правомірно вимагає уваги до деталей і ретельного планування. База даних, як і будь-яка комп'ютерна система, є моделлю невеликої частини реального світу. І, як будь-яка модель, це - вузьке уявлення, яке значно спрощує складність реальної речі. Сучасні системи баз даних грунтуються на реляційної моделі зберігання та відновлення.

2.2 Поняття системи управління базами даних (СКБД)
Бази даних використовуються під управлінням систем управління базами даних (СКБД).
Система управління базами даних (СКБД) - це система програмного забезпечення, що дозволяє обробляти звертання до бази даних, що надходять від прикладних програм кінцевих користувачів. Системи управління базами даних дозволяють об'єднувати великі обсяги інформації та обробляти їх, сортувати, робити вибірки за визначеними критеріями і т.п.
Сучасні СУБД - це багатокористувацькі системи управління базою даних, які спеціалізується на управлінні масивом інформації одним або безліччю одночасно працюючих користувачів. Вони мають
розвинений користувальницький інтерфейс, який дозволяє вводити і модифікувати інформацію, виконувати пошук і представляти інформацію в графічному або текстовому режимі, дають можливість включати звукові фрагменти та навіть відеокліпи.
СУБД забезпечують правильність, повноту і несуперечність даних, а також зручний доступ до них. Простота використання СУБД дозволяє створювати нові бази даних, не вдаючись до програмування, а користуючись тільки вбудованими функціями.
До числа функцій СУБД прийнято відносити наступні:
1. Безпосереднє управління даними у зовнішній пам'яті
Ця функція включає забезпечення необхідних структур зовнішньої пам'яті як для зберігання даних, які безпосередньо входять у БД, так і для службових цілей, наприклад, для прискорення доступу до даних у деяких випадках (звичайно для цього використовуються індекси). У деяких реалізаціях СУБД активно використовуються можливості існуючих файлових систем, в інших робота проводиться аж до рівня пристроїв зовнішньої пам'яті. СУБД підтримує власну систему іменування об'єктів БД.
2. Управління буферами оперативної пам'яті
СУБД зазвичай працюють з БД значного розміру, принаймні, цей розмір зазвичай істотно більше доступного об'єму оперативної пам'яті. Зрозуміло, що якщо при зверненні до будь-якого елементу даних буде проводитися обмін із зовнішньою пам'яттю, то вся система буде працювати зі швидкістю пристрою зовнішньої пам'яті. Практично єдиним способом реального збільшення цієї швидкості є буферизація даних в оперативній пам'яті. У розвинених СУБД підтримується власний набір буферів оперативної пам'яті з власною дисципліною заміни буферів.
3. Управління транзакціями
Транзакція - це послідовність операцій над БД, розглянутих СУБД як єдине ціле. Або транзакція успішно виконується, і СУБД фіксує (COMMIT) зміни БД, вироблені цією транзакцією, у зовнішній пам'яті, або ні одне з цих змін ніяк не відбивається на стані БД. Поняття транзакції необхідне для підтримки логічної цілісності БД.
4. Журналізація
Одним з основних вимог до СУБД є надійність зберігання даних у зовнішній пам'яті. Під надійністю зберігання розуміється те, що СУБД повинна бути в змозі відновити останнє узгоджене стан БД після будь-якого апаратного або програмного збою.
Підтримання надійності зберігання даних в БД вимагає надмірності зберігання даних, причому та частина даних, яка використовується для відновлення, повинна зберігатися особливо надійно. Найбільш поширеним методом підтримання такої надмірної інформації є ведення журналу змін БД.
5. Підтримка мов БД
Для роботи з базами даних використовуються спеціальні мови, в цілому звані мовами баз даних. У сучасних СУБД зазвичай підтримується єдиний інтегрований мову, що містить всі необхідні засоби для роботи з БД, починаючи від її створення, і забезпечує базовий призначений для користувача інтерфейс з базами даних. Стандартним мовою найбільш розповсюджених у даний час реляційних СУБД є мова SQL (Structured Query Language).
Зазвичай сучасна СУБД містить наступні компоненти:
· Ядро, яке відповідає за управління даними у зовнішній і оперативної пам'яті і журналізацію,
· Процесор мови бази даних, що забезпечує оптимізацію запитів на вилучення та зміну даних і створення, як правило, машинно-незалежного виконуваного внутрішнього коду,
· Підсистему підтримки часу виконання, яка інтерпретує програми маніпуляції даними, що створюють користувальницький інтерфейс із СУБД
· А також сервісні програми (зовнішні утиліти), що забезпечують ряд додаткових можливостей по обслуговуванню інформаційної системи.
Швидкий розвиток потреб застосувань БД висуває нові вимоги до СУБД:
Ø підтримка широкого спектру типів представляються даних та операцій над ними (включаючи фактографічні, документальні, картинно-графічні дані);
Ø природні та ефективні подання до БД різноманітних відносин між об'єктами предметних областей (наприклад, просторово-часових із забезпеченням візуалізації даних);
Ø підтримка несуперечності даних та реалізація дедуктивних БД;
забезпечення цілісності БД в широкому діапазоні різноманітних предметних областей та операційних обстановок;
Ø управління розподіленими БД, інтеграція неоднорідних баз даних;
Ø суттєве підвищення надійності функціонування БД.

2.3 Класифікація СУБД

За моделі даних
За типом керованої бази даних СУБД поділяються на:
- Ієрархічні. Ієрархічна модель бази даних складається з об'єктів з покажчиками від батьківських об'єктів до нащадків, з'єднуючи разом пов'язану інформацію.
Ієрархічні бази даних можуть бути представлені як дерево, що складається з об'єктів різних рівнів. Верхній рівень займає один об'єкт, другий - об'єкти другого рівня і т. д.
Між об'єктами існують зв'язки, кожен об'єкт може включати в себе декілька об'єктів більш низького рівня. Такі об'єкти перебувають у відношенні предка (об'єкт більш близький до кореня) до нащадка (об'єкт більш низького рівня), при цьому можливе, коли об'єкт-предок не має нащадків або має їх кілька, тоді як в об'єкта-нащадка обов'язково тільки один предок. Об'єкти, що мають загального предка, називаються близнюками.
Ієрархічної базою даних є файлова система, що складається з кореневої директорії, в якій є ієрархія піддиректорій і файлів.
- Мережеві. Мережні бази даних подібні до ієрархічним, за винятком того, що в них є покажчики в обох напрямках, які з'єднують споріднену інформацію.
Незважаючи на те, що ця модель вирішує деякі проблеми, пов'язані з ієрархічною моделлю, виконання простих запитів залишається досить складним процесом.
Також, оскільки логіка процедури вибірки даних залежить від фізичної організації цих даних, то ця модель не є повністю незалежною від програми. Іншими словами, якщо необхідно змінити структуру даних, то потрібно змінити і додаток.
- Реляційні. Ці моделі характеризуються простотою структури даних, зручним для користувача табличним поданням і можливістю використання формального апарата алгебри відносин і реляційного числення для обробки даних.
Реляційна модель орієнтована на організацію даних у вигляді двовимірних таблиць. Кожна реляційна таблиця являє собою двовимірний масив і має наступні властивості:
· Кожен елемент таблиці - один елемент даних
· Всі клітинки у стовпці таблиці однорідні, тобто всі елементи в стовпці мають однаковий тип (числовий, символьний і т. д.)
· Кожен стовпець має унікальне ім'я
· Однакові рядки в таблиці відсутні
· Порядок проходження рядків і стовпців може бути довільним
- Об'єктно-реляційні. Об'єктно-реляційна СУБД (ОРСУБД) - реляційна СУБД (РСУБД), що підтримує деякі технології, які реалізують об'єктно-орієнтований підхід.
Різниця між об'єктно-реляційними і об'єктними СУБД: перші являють собою надбудову над реляційної схемою, другі ж спочатку об'єктно-орієнтовані. Головна особливість і відмінність об'єктно-реляційних, як і об'єктних, СУБД від реляційних полягає в тому, що О (Р) СУБД інтегровані з об'єктно-орієнтовані (OO) мовою програмування, внутрішнім або зовнішнім як C + +, Java. Характерні властивості OРСУБД - 1) комплексні дані, 2) успадкування типу, і 3) об'єктне поведінку.
- Об'єктно-орієнтовані. Об'єктно-орієнтована СУБД - реалізує об'єктно-орієнтований підхід. Ця система управління обробляє дані як абстрактні об'єкти, наділені властивостями, у вигляді неструктурованих даних, і використовують методи взаємодії з іншими об'єктами навколишнього світу.
За архітектурі організації зберігання даних
· Локальні СУБД (всі частини локальної СУБД розміщуються на одному комп'ютері)
· Розподілені СУБД (частини СУБД можуть розміщуватися на двох і більше комп'ютерах)
За способом доступу до БД
· Файл-серверні
У файл-серверних СУБД файли даних розташовуються централізовано на файл-сервері. Ядро СУБД розташовується на кожному клієнтському комп'ютері. Доступ до даних здійснюється через локальну мережу. Синхронізація читань і оновлень здійснюється за допомогою файлових блокувань. Перевагою цієї архітектури є низьке навантаження на ЦП сервера, а недоліком - висока завантаження локальної мережі.
На даний момент файл-серверні СУБД вважаються застарілими.
Приклади: Microsoft Access, Borland Paradox.
· Клієнт-серверні
Такі СУБД складаються з клієнтської частини (яка входить до складу прикладної програми) і сервера. Клієнт-серверні СУБД, на відміну від файл-серверних, забезпечують розмежування доступу між користувачами і мало завантажують мережу і клієнтські машини. Сервер є зовнішньою по відношенню до клієнта програмою, і за потреби його можна замінити іншим. Недолік клієнт-серверних СУБД в самому факті існування сервера (що погано для локальних програм - в них зручніше вбудовувані СУБД) і великих обчислювальних ресурсах, які споживаються сервером.
Приклади: Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL, Лінтера.
· Вбудовувані
Вбудована СУБД - бібліотека, яка дозволяє уніфікованим чином зберігати великі обсяги даних на локальній машині. Доступ до даних може відбуватися через SQL або через особливі функції СУБД. Вбудовувані СУБД швидше звичайних клієнт-серверних і не вимагають установки сервера, тому затребувані в локальному ПЗ, яке має справу з великими обсягами даних (наприклад, геоінформаційні системи).
Приклади: OpenEdge, SQLite, BerkeleyDB, один з варіантів Firebird, один з варіантів MySQL, Sav Zigzag, Microsoft SQL Server Compact, Лінтера.
В даний час найбільшого поширення набули реляційні бази даних. Картотеками користувалися до появи електронних баз даних. Мережеві і ієрархічні бази даних вважаються застарілими, об'єктно-орієнтовані поки ніяк не стандартизовані і не набули широкого поширення. Деякий відродження отримали ієрархічні бази даних у зв'язку з появою і поширенням XML.
Етапи створення бази даних. Процес розробки структури бази даних відповідно до вимог користувачів називається проектуванням бази даних. На етапі проектування необхідно передбачити всі можливі дії, які можуть виникнути на різних етапах життєвого циклу БД.
1. Концептуальне проектування - збір, аналіз і редагування вимог до даних. На даному етапі необхідно проаналізувати запити користувачів, вибрати інформаційні об'єкти та їх характеристики і на основі аналізу структурувати предметну область.
Для цього здійснюються такі заходи:
· Обстеження предметної області, вивчення її інформаційної структури, аналіз концептуальних вимог та інформаційних потреб;
· Виявлення всіх фрагментів, кожен з яких характеризується користувальницьким поданням, інформаційними об'єктами і зв'язками між ними, процесами над інформаційними об'єктами
· Побудова концептуальної моделі предметної області та проектування концептуальної схеми БД.
Після закінчення даного етапу отримуємо концептуальну модель, інваріантну до структури бази даних. Часто вона представляється у вигляді моделі «сутність-зв'язок».
Логічне проектування являє собою необхідний етап при створенні БД. Основним завданням логічного проектування є розробка логічної схеми, орієнтованої на обрану систему управління базами даних. Процес логічного проектування складається з наступних етапів:
1. Вибір конкретної СУБД;
2. Відображення концептуальної схеми на логічну схему;
3. Вибір мови маніпулювання даними.
На виході отримуємо СУБД-орієнтовану структуру бази даних і специфікації прикладних програм. На цьому етапі часто моделюють бази даних стосовно різних СУБД і проводять порівняльний аналіз моделей.
3. Фізичне проектування - визначення особливостей зберігання даних, методів доступу і т. д.
Досягнення прийнятного для всіх користувачів рівня експлуатаційних характеристик бази даних є складним завданням. Проектувальник БД повинен постійно пам'ятати про вартість різних послуг, що надаються користувачем однієї або декількох інтегрованих БД. Очікувана економія пам'яті і широке використання бази даних у діяльності організації повинна супроводжуватися критичним аналізом потенційного зниження якості обслуговування деяких користувачів.
Цією неможливості необхідно уникати. Метою має бути - прийнятні експлуатаційні характеристики для всіх користувачів. Іншим аспектом функціонування БД є її гнучкість. БД, тісно прив'язані до поточних програм, можуть мати дуже обмежену сферу застосування в інших подібних організаціях. Швидка зміна вимог і введення нових типів елементів даних можуть мати наслідком підвищення вартості супроводу програм, розкладання тимчасових файлів і сортувань, а також зниження продуктивності системи.

Література

1. Дейт К. Дж. Введення в системи баз даних - 8-е изд. - М.: «Вільямс», 2006.
2. Дрога А. А., Жукова П. М., Копонев Д. М., Лук'янов Д. Б., Прокопенко О. М. Інформатика і математика. - Бєлгород.: Бєлгородський юридичний інститут МВС РФ, 2008.
3. Конноллі Т., Бегг К. Бази даних. Проектування, реалізація й супровід. Теорія і практика - 3-е вид. - М.: «Вільямс», 2003.
4. Кузнєцов С. Д. Основи баз даних. - 1-е вид. - М.: «Інтернет-університет інформаційних технологій - ІНТУІТ.ру», 2005.
5. Скотт В. Емблер, Прамодкумар Дж. Садаладж. Рефакторинг баз даних: еволюційне проектування - М.: «Вільямс», 2007.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
70.6кб. | скачати


Схожі роботи:
Системи управління базами даних 2
Системи управління базами даних 2
Системи управління базами даних
Системи управління базами даних
Системи управління базами даних
Настільні системи управління базами даних
Сучасні системи управління базами даних
Системи управління базами даних 2 Розгляд ієрархічної
Використання системи управління базами даних Acceess при веденні бухгалтерського обліку витрат
© Усі права захищені
написати до нас