Огляд систем управління базами даних
Вся життєдіяльність людини нерозривно пов`язана з безліччю інформаційних каталогів та баз даних. Бібліотечний реєстр, записна книжка, адреси у мобільному телефоні або планшеті - ось далеко не повний перелік структурованої інформації, якою ми користуємося. Але комп`ютери люблять точність, тому дамо визначення.
Отже, база даних (БД) - набір логічно взаємопов`язаних даних, що описує інформаційний стан об`єктів у різних предметних областях і оброблювані комп`ютерною технікою.
Системою управління базами даних є програмна і мовне середовище для створення, управління і обробки інформаційних баз. Призначення СУБД:
- робота з базами на зовнішній (диски, стрічки і т. д.) і оперативної пам`яті;
- спільний доступ користувачів;
- контроль змін, архівування та відновлення баз;
- надання мови доступу для обробки інформації;
- утиліти для створення, модифікації та управління базами.
Якщо говорити простіше, то база даних визначає методику зберігання інформації, а СУБД надає засоби для її обробки. Додатково системи управління базами поділяються на системи загального застосування, які можуть обробляти різні дані і спеціалізовані, розроблені під конкретну предметну область або тип інформації. Прикладом спеціалізованих систем управління базами даних є об`єктно-орієнтовані.
Реляційні системи управління
З моменту появи комп`ютерних баз даних було створено безліч моделей їх роботи, але реляційна модель виявилася самою універсальною. Вона являє собою зв`язаний набір інформаційних таблиць, гарантує цілісність і мінімальну надмірність інформації. Таблична модель виявилася застосовна до більшості предметних областей, і ринок реляційних систем управління базами даних став розвиватися швидкими темпами. На малюнку показаний приклад реляційної структури «База студентів».
Всі реляційні СУБД підтримують ANSI стандарт мови SQL і базові принципи реляційної моделі, що забезпечує роботу додатків на різних СУБД. Додатково великі СУБД мають свої доповнення розширення SQL. Приклади системи управління базами даних для великих проектів - це Microsoft SQL Server і ORACLE.
Реляційна модель успішно використовується і в розробці Інтернет-проектів. Прикладами є СУБД MySQL і PostgreSQL.
Технологія NoSQL
Збільшення обсягів інформації і ускладнення взаємозв`язків призвело до появи нових систем управління базами даних. Інформація перестала бути незалежною один від одного, і іноді взагалі неможливо жорстко описати її структуру. Реляційні бази вже не можуть справлятися з такими завданнями. Це призвело до появи нового типу інформаційних баз і систем управління ними, отримали загальну назву NoSQL («немає SQL»).
Основні категорії баз NoSQL:
- «Ключ-Значення». Найпопулярніші СУБД - Redis, Voldemort, Tokyo Cabinet і Dynomite.
- Клони СУБД BigTable. Розроблено Google для внутрішнього використання в пошуковій системі. Офіційно BigTable не пропонується, але є СУБД на її основі. Це Hadoop, Hypertable і Cassandra.
- Документо-орієнтовані. Найбільш популярні Berkeley DB XML, MongoD, eXist і CouchDB.
- Бази на основі теорії графів. Використовується в Neo4j, Sones graphDB і AllegroGraph.
Майбутнє СУБД
Ринок систем управління базами даних продовжує розвиватися і все більше схиляється до використання NoSQL-рішень. Звичайно, на «класичному» SQL реалізовано величезна кількість програмних систем різної складності, і за ним стоять такі гіганти ринку як Microsoft і ORACLE. Але з великою часткою впевненості можна припустити, що NoSQL в найближчі роки зможуть значно потіснити лідерів у розробці складних інформаційних систем.