Вся жизнедеятельность человека неразрывно связана со множеством информационных каталогов и баз данных. Библиотечный реестр, записная книжка, адреса в мобильном телефоне или планшете – вот далеко не полный перечень структурированной информации, которой мы пользуемся. Но компьютеры любят точность, поэтому дадим определение.
Итак, база данных (БД) – набор логически взаимосвязанных данных, описывающий информационное состояние объектов в различных предметных областях и обрабатываемые компьютерной техникой.
Системой управления базами данных является программная и языковая среда для создания, управления и обработки информационных баз. Назначение СУБД:
- работа с базами на внешней (диски, ленты и т. д.) и оперативной памяти;
- совместный доступ пользователей;
- контроль изменений, архивирование и восстановление баз;
- предоставление языка доступа для обработки информации;
- утилиты для создания, модификации и управления базами.
Реляционные системы управления
С момента появления компьютерных баз данных было создано множество моделей их работы, но реляционная модель оказалась самой универсальной. Она представляет собой связанный набор информационных таблиц, гарантирует целостность и минимальную избыточность информации. Табличная модель оказалась применима к большинству предметных областей, и рынок реляционных систем управления базами данных стал развиваться быстрыми темпами. На рисунке показан пример реляционной структуры «База студентов».
Все реляционные СУБД поддерживают 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 в ближайшие годы смогут значительно потеснить лидеров в разработке сложных информационных систем.