Открыть сервисСервис

Структура базы данных

База данных — это упорядоченная совокупность данных, организованная и хранимая так, чтобы к ней можно было обращаться и управлять ею с помощью систем управления базами данных (СУБД). База данных состоит из взаимосвязанных элементов: данных, схемы, индексов, журналов и служебных файлов, каждый из которых выполняет определённую функцию в общей архитектуре информационной системы.

Основные компоненты

База данных состоит из нескольких ключевых элементов, совокупность которых определяет её функциональность.

Данные

Данные — это фактические сведения, сохраняемые в базе: записи таблиц, документы, объекты, изображения, потоки. В реляционных СУБД данные хранятся в виде строк (кортежей) таблиц, в документо-ориентированных — в виде JSON- или BSON-документов, в графовых — в виде узлов и рёбер. Данные разделяются на пользовательские (видимые приложениям) и служебные (служебные таблицы, кэши, метаданные, используемые самой СУБД).

Схема

Схема — это логическое описание структуры данных: имена таблиц и полей, типы данных, ограничения целостности, связи между объектами. Схема определяет, как данные организованы и какие операции с ними допустимы. В реляционных СУБД схема описывается с помощью DDL (Data Definition Language) — языка определения данных. Существует трёхуровневая архитектура ANSI/SPARC, разделяющая схему на внешнюю (представления для пользователей), концептуальную (общая логическая структура) и внутреннюю (физическое хранение).

Индексы

Индекс — это служебная структура данных, ускоряющая поиск и сортировку. Индексы строятся по полям таблиц и хранят ссылки на строки. Наиболее распространены B-деревья и B+-деревья, а также хеш-индексы. Индексы занимают дополнительное место и замедляют операции записи, поэтому их набор подбирается с учётом профиля нагрузки.

Журналы транзакций

Журнал транзакций (журнал повторного воспроизведения, WAL — Write-Ahead Logging) записывает все изменения данных до их применения к основным файлам. Журнал обеспечивает атомарность и долговечность транзакций (свойства ACID) и позволяет восстановить базу после сбоя.

Служебные файлы и каталоги

СУБД использует системные файлы: файлы данных, файлы журналов, файлы контрольных точек, словарь данных (каталог), где хранится информация обо всех объектах базы. Каталог (системная таблица) содержит метаданные: описания таблиц, прав доступа, статистику по индексам.

Классификация по типам СУБД

Тип данных и способ их хранения зависят от модели СУБД:

МодельОсновные структурыПримеры
РеляционнаяТаблицы, строки, столбцыPostgreSQL, Oracle, Microsoft SQL Server, MySQL, 1С:Предприятие
Документо-ориентированнаяДокументы (JSON, BSON)MongoDB, CouchDB
ГрафоваяУзлы, рёбра, свойстваNeo4j, OrientDB
Ключ-значениеПары ключ-значениеRedis, Riak
КолоночнаяСтолбцы, колонкиCassandra, ClickHouse

Физическое хранение

На физическом уровне база данных состоит из файлов на диске или в блочном хранилище. СУБД размещает данные в страницах (блоках) фиксированного размера — обычно от 4 КБ до 64 КБ. Страницы объединяются в сегменты, сегменты — в файлы таблиц. Управление свободным пространством, буферным кэшем и распределением страниц выполняется системой.

Целостность и безопасность

База данных состоит не только из данных, но и из механизмов их защиты:

Примеры

Крупнейшие реляционные базы данных включают системы государственных реестров, банковские и телекоммуникационные платформы. В России развитием отечественных СУБД занимаются компании «Постгрес Про», «Ред Софт» (СУБД «Ред База Данных» на базе PostgreSQL), «Лаборатория Касперского» и «Ай Ти Эксперт», а также проекты на базе отечественных СУБД «Элбрус» и «Линтер».

См. также

Источники

  • Катт, Д. Базы данных. Проектирование и реализация. — М.: Вильямс, 2014.
  • Дейт, К. Введение в системы баз данных. — М.: Вильямс, 2015.
  • Гарсия-Молина, Х., Ульман, Дж., Видом, Дж. Системы баз данных. Полный курс. — М.: Вильямс, 2013.
  • Анненков, В. П. Базы данных. 2-е изд. — М.: БХВ-Петербург, 2016.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru