Термин · Глоссарий B2B-ПО

Иерархическая база данных (Hierarchical Database)

Иерархическая база данных – модель организации данных в виде дерева, где каждый элемент (сегмент) связан отношением «родитель–потомок». Одна из первых СУБД-моделей, реализованная в IBM IMS (1966). Эффективна для данных с чёткой древовидной структурой, но не поддерживает отношения «многие ко многим» без дублирования данных.

Буква «И» В категориях: 4 Платформ: 6+

Введение

Иерархическая база данных – одна из старейших моделей организации и хранения данных в ЭВМ, в которой все записи структурированы в виде перевёрнутого дерева. Каждый узел дерева называется сегментом и содержит набор полей данных. Между узлами установлены строгие отношения «родитель–потомок» (parent–child): каждый потомок имеет ровно одного родителя, а у родителя может быть множество потомков.

Классическим представителем иерархической СУБД является IBM IMS (Information Management System), разработанная в конце 1960-х годов совместно Rockwell и IBM для проекта Apollo. IMS до сих пор используется в мейнфрейм-системах крупнейших банков и телекоммуникационных компаний.

История и контекст

IBM IMS была разработана в 1966–1968 годах и впервые применена NASA для управления запасными частями ракетной программы Saturn V / Apollo. Официально выпущена IBM в 1968 году. В последующие десятилетия IMS стала стандартом де-факто для транзакционных систем на мейнфреймах IBM zSeries.

К 1970-м годам Эдгар Кодд предложил реляционную модель данных (реляционные СУБД), которая преодолевала ключевые ограничения иерархической модели. Тем не менее иерархические СУБД сохранились в критических корпоративных системах, и IBM продолжает развивать IMS – последние версии (IMS 15.4) добавляют поддержку SQL и REST API поверх классической иерархической структуры.

Как это работает

Структура иерархической базы данных строится вокруг нескольких ключевых понятий:

  • Корневой сегмент (Root Segment) – вершина дерева, не имеющая родителя. Определяет тип записи базы данных.
  • Зависимые сегменты (Dependent Segments) – все остальные сегменты, находящиеся ниже корневого. Делятся на прямые потомки и транзитивно зависимые.
  • Запись базы данных (Database Record) – корневой сегмент и все его зависимые сегменты.

Доступ к данным осуществляется двумя способами: последовательный (прход дерева в preorder: слева направо, сверху вниз) и случайный (по составному ключу, объединяющему ключевые поля сегментов от корня до нужного уровня). Язык манипулирования данными в IMS – DL/I (Data Language/I).

Для отношений «многие ко многим» иерархическая модель требует дублирования данных или использования логических баз данных – виртуальных представлений, объединяющих сегменты из нескольких физических баз через указатели.

Где применяется

  • Банковская сфера – ядровые АБС на мейнфреймах IBM z, обрабатывающие миллиарды транзакций в сутки.
  • Телекоммуникации – биллинговые системы крупных операторов связи.
  • XML и JSON – иерархическая структура как принцип организации данных (XML-документы, JSON-объекты с вложенностью).
  • Файловые системы – каталоги и подкаталоги файловой системы реализуют иерархическую модель.
  • LDAP – протокол каталогов (Active Directory) использует иерархическую модель данных.

Преимущества и ограничения

Преимущества: высокая скорость навигации по предопределённым путям доступа, предсказуемая производительность для транзакционных нагрузок, простота модели при чётко выраженной иерархии сущностей, зрелость и надёжность реализаций (IMS используется 50+ лет).

Ограничения: неэффективность для отношений «многие ко многим» (требует дублирования), жёсткость схемы (сложно реструктурировать), сложность ad-hoc запросов по сравнению с SQL, ограниченная поддержка современных аналитических инструментов.

Связь с другими понятиями

Иерархическая модель является одной из трёх исторических моделей СУБД наряду с сетевой моделью (CODASYL) и реляционной моделью (SQL). Современные NoSQL-базы данных (документоориентированные – MongoDB, документы JSON/XML) концептуально реализуют иерархическую модель для неструктурированных данных. Протокол LDAP и система Active Directory используют иерархический принцип для хранения объектов каталога. XML-документы, которые являются иерархическими по природе, обрабатываются с помощью XPath/XQuery – языков, аналогичных DL/I для иерархических БД.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «Иерархическая база данных».

Платформы класса «Иерархическая база данных»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

Tarantool Data Grid

Tarantool Data Grid

Данные и аналитика
Tarantool — высокопроизводительная СУБД с поддержкой in-memory и дискового хранения данных, обеспечивающая ACI...
Цена по запросу
★ 4.8
Подробнее →
ЛИНТЕР БАСТИОН

ЛИНТЕР БАСТИОН

ИТ-инфраструктура
ЛИНТЕР БАСТИОН — полностью отечественная реляционная СУБД, разработанная АО НПП «РЕЛЭКС» (Воронеж). Не основан...
Цена по запросу
★ 4.6
Подробнее →
СИНЕРГИЯ-БД

СИНЕРГИЯ-БД

ИТ-инфраструктура
СИНЕРГИЯ-БД — импортонезависимая защищённая система управления базами данных, разработанная РФЯЦ-ВНИИЭФ (Всеро...
Цена по запросу
★ 4.7
Подробнее →
БАРС.Мониторинг-ЖКХ

БАРС.Мониторинг-ЖКХ

Данные и аналитика
Информационно-аналитическая система для мониторинга и управления жилищно-коммунальным хозяйством на региональн...
Цена по запросу
★ 5.0
Подробнее →
Field Connect

Field Connect

ИТ-инфраструктура
Программное обеспечение для удалённого управления и мониторинга сельскохозяйственного оборудования: дождевальн...
Цена по запросу
★ 4.7
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «Иерархическая база данных».

Где применяется

Отрасли, в которых «Иерархическая база данных» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про Иерархическая база данных

Что такое иерархическая СУБД?

База данных с древовидной структурой, где каждый элемент (сегмент) имеет ровно одного родителя и может иметь множество потомков. Пример: IBM IMS.

Чем иерархическая БД отличается от реляционной?

В реляционной БД данные хранятся в таблицах с гибкими связями через ключи. В иерархической – в строгой древовидной структуре, что ускоряет предопределённые запросы, но ограничивает гибкость.

Используются ли иерархические СУБД сегодня?

Да. IBM IMS по-прежнему работает в ключевых банковских и телекоммуникационных системах. Современные IMS-версии добавляют SQL и REST API.

Как иерархические БД связаны с XML?

XML-документы имеют иерархическую (древовидную) структуру. XPath и XQuery – языки навигации по XML-иерархии, концептуально аналогичные DL/I для IBM IMS.

Что такое корневой сегмент в иерархической БД?

Вершина дерева базы данных, не имеющая родителя. Определяет тип основной записи. Например, в медицинской БД корневым сегментом может быть ПАЦИЕНТ.