Professional Documents
Culture Documents
Курсова Витак
Курсова Витак
КУРСОВИЙ ПРОЕКТ
З навчальної дисципліни
«Методи і засоби комп'ютерних інформаційних технологій»
на тему
“Аналіз систем управління базами даних”
Спеціальність 05.01.01 “Комп’ютерні науки”
Львів-2021
Зміст
Вступ..........................................................................................................................................................3
1. Теоретичні основи.................................................................................................................................4
1.1 Поняття «Бази даних» і загальна класифікація.......................................................................4
1.2 Класифікація БД по структурі організації даних....................................................................4
1.3 Класифікація БД за характером збереженої інформації.........................................................7
1.4 Класифікація БД за способом зберігання даних.....................................................................7
1.5 Поняття “СУБД”........................................................................................................................9
1.6 Основні функції СУБД............................................................................................................10
1.7 Класифікація СУБД за способом доступу до БД..................................................................11
1.8 Класифікація СУБД за стратегією роботи з зовшішньою пам’яттю...................................13
1.9 Класифікація СУБД за характером користування................................................................13
2 Порівняльний аналіз............................................................................................................................17
2.1 Oracle........................................................................................................................................17
2.2 Microsoft SQL Server................................................................................................................24
2.3 IBM DB2...................................................................................................................................25
2.4 Порівняння продуктивності....................................................................................................26
2.5 Порівняння масштабованості.................................................................................................28
2.6 Тригери і збережені процедури..............................................................................................28
2.7 Розмір блоку.............................................................................................................................29
2.8 Індекси......................................................................................................................................30
2.9 Вартість обслуговування.........................................................................................................31
2.10 IBM DB2 UDB і OracleDatabase..............................................................................................33
Висновок..................................................................................................................................................36
Список використаної літератури............................................................................................................38
2
Вступ
3
1. Теоретичні основи
4
Рис. 1 – Приклад ієрархічної бази даних
5
об'єктів, що дуже зручно. Але на сьогоднішній день такі БД ще не поширені,
тому що поступаються в продуктивності реляційним.
6
Рис. 3 – Приклад об’єктно-орієнтованої бази даних
7
1.3 Класифікація БД за характером збереженої інформації
8
Рис. 4 – Приклад централізованії бази даних
9
Рис. 5 – Приклад розподіленої бази даних
10
1.6 Основні функції СУБД
12
На даний момент файл-серверна технологія вважається застарілою, а її
використання в великих інформаційних системах - недоліком. Приклади:
MicrosoftAccess, Paradox, dBase, FoxPro, VisualFoxPro.
Клієнт-серверна СУБД розташовується на сервері разом з БД і здійснює
доступ до БД безпосередньо, в монопольному режимі. Всі клієнтські запити
на обробку даних обробляються клієнт-серверної СУБД централізовано.
Стандарти. Для сучасних СУБД архітектура "клієнт-сервер" стала
фактично стандартом. Якщо передбачається, що проектована інформація
буде мати архітектуру "клієнт-сервер", то це означає, що прикладні
програми, реалізовані в її рамках, будуть мати розподілене характер, тобто
частина функцій додатків буде реалізована в програмі-клієнті, інша - в
програмі-сервері.
Принципи. Основний принцип технології "клієнт-сервер" полягає в
поділі функцій стандартного інтерактивного додатки на чотири групи:
функції введення і відображення даних;
прикладні функції, характерні для предметної області;
фундаментальні функції зберігання і управління ресурсами (базами
даних);
службові функції.
Недолік клієнт-серверних СУБД полягає в підвищених вимогах до
сервера. Переваги: потенційно більш низьке завантаження локальної мережі;
зручність централізованого управління; зручність забезпечення таких
важливих характеристик як висока надійність, висока доступність і висока
безпека. Приклади: Oracle, Firebird, Interbase, IBMDB2, Informix,
MSSQLServer, SybaseAdaptiveServerEnterprise, PostgreSQL, MySQL, Caché,
Лінтера.
Вбудована СУБД - СУБД, яка може поставлятися як складова частина
деякого програмного продукту, не вимагаючи процедури самостійної
установки. Вбудована СУБД призначена для локального зберігання даних
свого програми, але не розрахована на колективне використання в мережі.
13
Фізично вбудована СУБД найчастіше реалізована у вигляді підключається
бібліотеки. Доступ до даних з боку додатка може відбуватися через SQL або
через спеціальні програмні інтерфейси. Приклади: OpenEdge, SQLite,
BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, Лінтера.
15
СУБД організовує зберігання інформації таким чином, щоб її було
зручно: переглядати, поповнювати, змінювати, шукати потрібні відомості,
робити будь-які вибірки, здійснювати сортування в будь-якому порядку.
Сучасні СУБД дають можливість включати в них не тільки текстову і
графічну інформаці , але і звукові фрагменти і навіть відеокліпи.
Простота використання СУБД дозволяє створювати нові бази даних, не
вдаючись до програмування, а користуючись лише вбудованими функціями.
СУБД забезпечують правильність, повноту і несуперечність даних, а також
зручний доступ до них.
Популярні СУБД - FoxPro, Access for Windows, Paradox. Для менш
складних застосувань замість СУБД використовуються інформаційно-
пошукові системи (ІПС), які виконують такі функції: зберігання великого
об'єму інформації, швидкий пошук необхідної інформації, додавання,
видалення і зміна інформації, що зберігається, виведення її в зручному для
людини вигляді. {{1}} Сьогодні відомо велика кількість різних серверів баз
даних SQL. Зупинимося на наступних трьох провідних серверних СУБД -
Oracle8i, IBM DB2, Microsoft SQL Server - і порівняємо їх в роботі на
кожному з основних етапів функціонування.
16
Рис. 8 – Світовий ринок використання систем управління базами даних
станом на 2020 рік.
17
2 Порівняльний аналіз
2.1 Oracle
Oracle8i. Пакет Oracle8i, наділений найрозвиненішим набором функцій
для роботи з мовою Java і доступу до даних через Інтернет, системою
оптимізації одночасного доступу. Єдиним недоліком даної СУБД є
складність адміністрування, однак усі витрати на її впровадження та
освоєння надалі окупляться ефективною і надійною роботою (складність і
дорожнеча-спірні). Серед основних властивостей СУБД Oracle слід зазначити
такі, як:
Найвища надійність;
Можливість розбиття великих баз даних на розділи, що дає можливість
ефективно управляти гігантськими гігабайтними базами;
Наявність універсальних засобів захисту інформації; Ефективні методи
максимального підвищення швидкості обробки запитів;
Індексація по битовому відображенню; Вільні таблиці (в інших СУБД
все таблиці заповнюються відразу при створенні);
Розпаралелювання операцій в запит;
Наявність широкого спектра засобів розробки, моніторингу та
адміністрування.
Орієнтація на інтернет технології. { {1}} Рішення, які не поступаються
розробкам Oracle можна знайти тільки в DB2 фірми IBM. Орієнтація на
інтернет технології - основний девіз сучасних продуктів Oracle. У зв'язку з
цим можна відзначити пакети interMedia, що забезпечує обробку даних в
мультимедійних форматах, і Jserver, вбудоване засіб для роботи з мовою
Java, яке об'єднує можливості мови Java з можливостями реляційних баз
даних. Компоненти EnterpriseJavaBeans представляють собою базові модулі з
яких складаються Інтернет-додатки на мові Java.Фірма Oracle дотримується
принципу, що всіма важливими функціями необхідно керувати з єдиного
центру, тому пропонований модуль interMedia надає в розпорядження
18
користувачів самі передові можливості для роботи з мультимедійними
об'єктами:
Дуже розвинені засоби для обробки аудіо кліпів;
нерухомих зображень;
відеофрагментів;
Географічних даних.
в Oracle8i реалізуються кращі на сьогоднішній день засоби для об'єктно-
орієнтованого конструювання баз даних, в тому числі табличні структури, що
допускають спадкування властивостей і методів інших табличних об'єктів
БД, що дозволять уникнути помилок при побудові БД і полегшує їх
обслуговування.
Також необхідно відзначити, що розроблена фірмою Oracle система
оптимізації одночасного доступу (multiversioningconcurrency) є однією з
найважливіших характеристик архітектури Oracle (подібна функція є лише в
СУБД InterBase компанії InterBase компанії Inprise). Ця функція дозволяє
виключити ситуацію, коли одному користувачеві доводиться чекати, поки
інший завершить зміни в вміст баз даних. Ця функція дозволяє СУБД
Oracle8i виконувати за секунду більше транзакцій в розрахунку на одного
користувача, ніж будь-яка інша база даних. За рівнем продуктивності при
роботі в WEB середовищі під LINUX Oracle займає почесне друге місце після
СУБД MySQL, при цьому значно перевершуючи всі інші СУБД по надійності
і безпеки. Також такі технології є унікальними, реалізованими тільки в СУБД
Oracle.
RAC.
Технологія RealApplicationCluster, що з'явилася в 9-й версії СУБД
Oracle, дозволяє об'єднувати сервера, які обслуговують СУБД в одну велику
базу даних, що дозволяє досягти двох ключових цілей:
Підвищення продуктивності системи в цілому шляхом додавання в
кластер нового обладнання, без заміни обладнання на більш потужне.
Продуктивність системи підвищується пропорційно потужності
19
підключеного вузла. Наслідком є збереження інвестицій в обладнання, часто
досить суттєвих.
Підвищення відмовостійкості СУБД: при виході з ладу або плановому
відключенні одного з серверів, що входять в кластер, СУБД повністю
зберігає свою працездатність.
Схожі технології реалізовані в Microsoft SQL Server 2008, але є одна
істотна відмінність: MicrosoftApplicationCluster дозволяє підвищити
відмовостійкість системи в цілому, але без впливу на продуктивність.
Таким чином, використання RAC дозволяє значно підвищити
продуктивність системи, яка дійшла до свого "фізичного стелі", зі
збереженням коштів, витрачених на це обладнання, і підвищити
відмовостійкість системи. Як наслідок - надійність і економія.
ActiveDataGuard.
Ця технологія дозволяє створити резервний сервер основної бази даних
із застосуванням всіх змін, зроблених на основному сервері. Виходить
система, де працюють як мінімум два сервера: основний і резервний. У разі
виходу з ладу або планової зупинки основного сервера в роботу автоматично
вступає резервний сервер, і всі користувачі автоматично перемикаються і
продовжують роботу на резервному сервері. Технологія проста в реалізації та
налагодженню і не вимагає великих витрат на розгортання і обладнання.
Фізично резервний сервер може знаходитися в іншому приміщенні, будівлі
або навіть місті. Все, що потрібно, - це звичайне мережеве з'єднання між
двома серверами.
Можна використовувати кілька резервних серверів для одного робочого
сервера.
20
Рис. 9 - Технологія Active Data Guard
RAT.
22
Використання TotalRecall дозволяє розвантажити таблиці бази даних від
накопиченої і рідко використовується інформації. Але зберігається
можливість виконати звичайний SQL запит і отримати таку інформацію на
будь-який момент в минулому, тобто не потрібно вносити якісь зміни в
існуючу програму, що працює з базою. Крім цього, TotalRecall забезпечує
незмінність історичної інформації і захист від її підробки.
24
Рис.13 - Технологія In Memory Database Cache
26
Загальносвітовою тенденцією в XXI столітті став практично повсюдний
перехід на платформу LINUX, а SQL Server функціонує тільки в середовищі
Windows. Тому використання SQL Server доцільно, тільки якщо для доступу
до вмісту БД використовується виключно стандарт ODBC, в іншому випадку
краще використовувати інші СУБД.
27
сумісність з іншими СУБД: пакет дозволяє використовувати розроблену
Microsoft специфікацію OLE DB, новий стандарт доступу до баз даних.
Засоби адміністративного управління СУБД DB2, які в новій версії
переписані на Java і можуть бути отримані з Web, заслуговують найвищої
оцінки.
Основними недоліками даної СУБД є відносна складність
адміністрування і відсутність (поки) реалізацій під популярні серверні ОС,
наприклад LINUX. У даній СУБД завдяки IndexSmart-Guide можливо
здійснювати настройку, формуючи оптимальні індекси для заданого числа
звернень, що характеризує типову навантаження на БД.
DB2 - єдиний пакет дозволяє генерувати зведені таблиці, що значно
ефективність роботи СУБД в якості сховищ даних. Зведена таблиця - це
тимчасова робоча зона, яка використовується базою даних для зберігання
відповідей на часто надходять запити. Модель DB2 6.1 перетворюється в
саму недорогу з високопродуктивних систем. Засоби адміністративного
управління цією СУБД цілком відповідають рівню розв'язуваних завдань,
крім того, вона надає виключно широкі можливості для роботи з
мультимедіа-даними і для програмування (чого явно бракує системі Microsoft
SQL Server).
Таблиця 2.1 - Информация о СУБД
Назва Дата випуску Розробник Мова
DB2 1983 г. IBM С, С++
Oracle 1979 г. Oracle Corporation С
Microsoft SQL Server 1989 г. Microsoft -
28
запитів, що обробляються за якийсь проміжок часу, до вартості всієї системи.
Слід зазначити, що для СУБД PostgreSQL не проводиться тест ТРС, а
система MSSQLServer проводить власні тести продуктивності.
Таблиця 2.2 - Результати теста TPC
Назва Кількість транзакцій, Вартість транзакції, Монітор
tpmC долл./tpmC транзакцій
MicrosoftSQLServer2005 661,475 1.16USD Microsoft COM+
х64
Oracle Database 631,766 1.08 USD Microsoft COM+
Ng Standard
30
2.6 Тригери і збережені процедури
31
(прочитаних блоків), і в OracleDatabase адміністратор має безліч механізмів
для вирішення цього завдання.
Крім того, в OracleDatabase реалізований механізм управління
заповненням простору блоку (pct_free, pct_used), що дозволяє ефективно
налаштовувати СУБД для вирішення того чи іншого завдання.
У SQL Server розмір блоку (pagesize) дорівнює 8 кілобайт і не може бути
змінений, що сильно обмежує можливість настройки системи, особливо DSS
систем (сховища даних). У OracleDatabase розмір блоку задається під час
створення бази даних, і, більш того, для кожного табличного простору може
бути заданий свій розмір блоку, наприклад, для табличних просторів з
маленькими, часто мінливими таблицями - менший розмір, для табличних
просторів з великими, рідко змінюються таблицями, що містять великий
обсяг даних - більший розмір, що істотно може вплинути на продуктивність
системи в цілому.
2.8 Індекси
У OracleDatabase підтримуються різні типи індексів, які не реалізовані в
MS SQL Server, наприклад: B-treeclusterindexes, Hashclusterindexes,
Reversekeyindexes, Bitmapindexes, Bitmapjoinindexes. Кожен з типів індексів
може забезпечити істотний приріст продуктивності в тій чи іншій ситуації.
Таблиця 2.5 – Порівняння спектру використовуваних індексів
Тип індекса OracleDatabase MS SQL Server
Bitmap Так Ні
Reverse Так Ні
32
поле. Використання такого типу індексу - один із шляхів вирішення
проблеми продуктивності в системах сховищ даних.
Використання Reverseindex дозволяє зменшити конкуренцію за блоки
БД при вставці в поле монотонно наростаючих значень: наприклад, номерів
документів або унікального ключа. Це ще один інструмент адміністратора
бази даних по підвищенню продуктивності системи без збільшення
потужності обладнання.
33
Аналізатор SQL запитів дозволяє вибрати і налаштовувати найбільш
важкі SQL запити, причому передбачений варіант, в якому адміністратор
просто вибирає проблемний SQL запит, переглядає і застосовує рекомендації
SQL TuningAdvisor , все це відбувається в консолі EM.В MS SQL Server
виконання аналогічного завдання виконується ручним способом, на порядок
довше, ніж в OracleDatabase, за винятком налаштування індексів.
Використання з'явилася в 10-й версії технології Flashbacktable дозволяє
значно спростити відновлення після призначених для користувача помилок.
Більше не потрібно відновлення з резервної копії, досить вибрати віддалений
об'єкт і відновити його з кошика. Слід зазначити, що в MS SQL Server також
можливе виконання аналогічної операції, але вимагає значно більше часу:
потрібне відновлення з резервної копії, вибір точки відновлення і накат
втрачених транзакцій вручну. Теж саме стосується і відновлення після
помилкової транзакції. У OracleDatabase це робиться як через консоль EM,
так і вручну, SQL операторами, причому потрібно просто вибрати момент в
минулому, на який потрібно відновлення. В MS SQL Server відновлення
також проводиться з резервної копії з подальшим ручним накатом журналів.
Таким чином, OracleDatabase надає користувачеві три варіанти:
повна самодіагностика і самонастройка, яка вдосконалюється від версії
до версії, узагальнюючи і базуючись на досвіді тисяч адміністраторів по
всьому і світу і математичних моделях; {{1}} потужну і зручну консоль
адміністратора, яка потребує установки будь-якого додатково пО на
комп'ютер адміністратора, і, отже, доступну з будь-якого комп'ютера в
мережі, в тому числі по мережі Інтернет, якщо це необхідно;
тонкі засоби діагностики і настройки, що залишилися з минулих версій і
дозволяють адміністратору в повній мері застосувати свої знання в області
налаштування продуктивності.
Аналогічні засоби інших СУБД або жорстко обмежують адміністратора
зважаючи повної автоматизації процесів настройки, наприклад, оперативної
34
пам'яті, або надають менш багатий функціонал для виконання стандартних
операцій.
Можливість самонастройки Self-tuning memory, free space, and I/O Немає еквівалентних або
management обмежених можливостей
35
Немає замків для читання Потрібно блокувати читача щоб униктути
забруднення перегляду
36
В Oracle Database більше підтримуваних варіантів партиціювання:
Rangepartitioning Так Ні
Listpartitioning Так Ні
Compositepartitioning Так Ні
37
Висновок
Підводячи підсумки, ми можемо сказати, що в плані доступності
адміністрування користувачами програма Oracle є лідером серед розглянутих
систем. Звичайно ми зауважимо, що адміністрування SQL Server
здійснюється з дійсно зручною і логічно-простий середовища SQL
ServerManagementStudio, однак Oracle надає як і повну самодіагностику і
самонастройку, так і тонкі засоби діагностики і настройки, що дозволяють
адміністратору в повній мері застосувати свої знання в області налаштування
продуктивності. В результаті в MS SQL Server йде відразу після Oracle, а на
останньому місці виявляється DB2, що характеризується відносною
складністю адміністрування.
39
Список використаної літератури
1. http://www.infosgs.narod.ru/31.htm
2. http://www.site-do.ru/db/db1.php
3. http://www.site-do.ru/db/db2.php
4. http://cs.karelia.ru/studies/filatova_information/CMD_1996566_M/
my_files/Inform/DataBase/a-2.htm
5. http://citforum.ru/database/osbd/glava_6.html
6. URL:http://oracle.axoft.ru/fordev/advantagesOracle.php
Размещено на Allbest.ru
40