Найти в Дзене

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

Современный мир — это информация. Данные, с которыми человек взаимодействует каждый день, с утра до вечера. Мы слушаем музыку, вызываем такси, листаем ленты соцсетей. В это время мы постоянно взаимодействуем с данными, которые должны где-то храниться. И хранятся в базах прямо в наших устройствах или на удаленных серверах. База данных — это набор информации, которая хранится упорядоченно в электронном виде. Но данные недостаточно просто хранить: они непрерывно создаются, изменяются, копируются, удаляются, восстанавливаются и так далее. Для всего этого и нужна система управления базой данных —СУБД. СУБД обеспечивает: В качестве аналогии можно привести в пример автомобиль. Если у вас есть только один двигатель, то никуда уехать не выйдет: понадобятся кузов, трансмиссия, подвеска, колеса, тормоза и другие составляющие. Также и с СУБД: базой данных без управляющей ей системой практически невозможно пользоваться. Какими бывают СУБД? В зависимости от специфики решаемых задач используются сист
Оглавление

Современный мир — это информация. Данные, с которыми человек взаимодействует каждый день, с утра до вечера. Мы слушаем музыку, вызываем такси, листаем ленты соцсетей. В это время мы постоянно взаимодействуем с данными, которые должны где-то храниться. И хранятся в базах прямо в наших устройствах или на удаленных серверах.

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

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

СУБД обеспечивает:

  • централизованное хранение данных и доступ к ним;
  • целостность и согласованность данных;
  • резервное копирование и восстановление,
  • многопользовательскую работу, разграничение доступа и безопасность.

В качестве аналогии можно привести в пример автомобиль. Если у вас есть только один двигатель, то никуда уехать не выйдет: понадобятся кузов, трансмиссия, подвеска, колеса, тормоза и другие составляющие. Также и с СУБД: базой данных без управляющей ей системой практически невозможно пользоваться.

Какими бывают СУБД? В зависимости от специфики решаемых задач используются системы разных типов, каждая со своими преимуществами и недостатками. Вариантов их классификации великое множество, ограниченное только фантазией их составителей. Но есть ключевой признак, по которому можно разделить СУБД на основные типы – используемая модель данных.

По этому критерию системы управления базами данных делятся на иерархические, сетевые, реляционные, объектно-ориентированные, объектно-реляционные и NoSQL. Иерархические и сетевые БД, а значит и СУБД использовались в 1960-1970-е годы и уже давно ушли в историю, поэтому останавливаться на них не будем. А про остальные расскажем подробнее.

Реляционные СУБД

Начнем с доминирующего класса баз данных, а значит и систем для их управления. Реляционные БД хранят данные в виде связанных таблиц – отношений. Модель предложена еще в 1970-м году британским математиком Эдгаром Коддом с тех пор является стандартом и используется в большинстве информационных систем.

Отметим, что известны более ранние проекты, которые также использовали модели реляционного типа. Так, например, в 1960-е годы в Академии наук СССР была разработана система «Автодиректор», которая использовалась для структурирования данных АСУ ТП (Автоматизированная система управления технологическим процессом) Днепродзержинского металлургического комбината и Объединенного центра ядерных исследований в Дубне.

Таблицы в реляционных БД содержат в себе строки и столбцы. В строках хранятся записи (наборы связанных данных), а в столбцах – атрибуты (характеристики) данных. Каждая строка обладает уникальным идентификатором или ключом, что позволяет легко находить нужные данные и связывать их между собой. Для управления данными используется язык запросов SQL (Structured Query Language).

-2

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

Конечно, есть и недостатки. Ключевые из них – это ограниченная горизонтальная масштабируемость и снижение производительности при работе с очень большими объемами данных.

Реляционные СУБД применяются там, где на первый план выходят надежность и строгая целостность данных: в корпоративных системах для бухгалтерии, банковских системах, различных ERP и CRM, интернет-магазинах, системах бронирования, государственных реестрах, а также налоговых и учетных системах.

Примеры популярных реляционных систем:

  • MySQL — популярная реляционная СУБД для веб-разработки, простая и производительная.
  • Firebird (FirebirdSQL) — компактная реляционная СУБД с низкими требованиями к ресурсам.
  • PostgreSQL — мощная реляционная СУБД для сложных и масштабируемых систем.

Объектно-ориентированные СУБД

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

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

К недостаткам таких систем относят отсутствие единых стандартов, сложность запросов и ограниченную распространенность. Применяются объектно-ориентированные СУБД в инженерных CAD/CAM-системах, научном моделировании, симуляторах, телекоммуникационных системах, а также в проектах на Java или C++, где требуется хранение большого количества взаимосвязанных объектов сложной структуры.

Примеры популярных объектно-ориентированных СУБД.

  • ObjectDB — широко используется в Java-приложениях.
  • db4o — легкая объектная СУБД для встраиваемых и настольных приложений.
  • Versant Object Database — применяется в телекоммуникационных и инженерных системах.

Объектно-реляционные СУБД

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

Таким образом достигается расширение классической табличной модели при помощи введения пользовательских типов данных, вложенных структур, массивов и объектов с сохранением поддержки стандартного языка запросов SQL. Благодаря этим свойствам объектно-реляционные СУБД демонстрируют большую гибкость при описании сложных данных, например, географических объектов, мультимедиа или иерархических структур.

К недостаткам объектно-реляционных СУБД относится более сложная архитектура и модель данных по сравнению с «чистыми» реляционными или объектными СУБД. Это накладывает повышенные требования к проектированию и администрированию.

Примеры популярных объектно-реляционных СУБД.

  • PostgreSQL — поддерживает пользовательские типы данных, JSON, массивы.
  • Oracle Database — реализует объектные типы и коллекции.
  • IBM Db2 — используется в корпоративных и аналитических системах.

NoSQL СУБД

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

В основе NoSQL СУБД лежат различные модели данных: документоориентированная, ключ–значение, колоночная и графовая. Такой подход удобен в ситуациях, когда структура данных часто меняется. Например, профили пользователей в социальных сетях или каталоги товаров интернет-магазинов удобно хранить в документоориентированных базах данных, а данные о сессиях пользователей и корзинах покупок — в СУБД типа ключ–значение.

Благодаря распределенной архитектуре NoSQL СУБД обеспечивают высокую производительность и отказоустойчивость, что делает их подходящими для веб-сервисов, онлайн-игр и мобильных приложений с большим количеством пользователей.

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

Примеры популярных NoSQL СУБД:

MongoDB — хранение профилей пользователей и каталогов товаров.

Redis — кэширование данных, хранение пользовательских сессий.

Apache Cassandra — обработка больших объёмов данных в высоконагруженных системах., применяется в системах аналитики, мессенджерах и сервисах с высокой нагрузкой.

Как выбрать СУБД для вашего проекта?

С основными типами СУБД мы познакомились, теперь немного расскажем о том, как выбрать СУБД под задачи конкретного проекта. Итоговое решение зависит от задач информационной системы и характера обрабатываемых данных.

Реляционные СУБД подходят для систем со строгой структурой данных и высокой требованиями к целостности и транзакциям. Они применяются в банковских и бухгалтерских системах, ERP и CRM, интернет-магазинах, системах бронирования и государственных реестрах.

Объектно-ориентированные СУБД используются в системах со сложной объектной моделью, тесно связанной с логикой приложения. Это инженерные CAD/CAM-платформы, научные симуляторы и телекоммуникационные решения, особенно при разработке на объектно-ориентированных языках программирования.

Объектно-реляционные СУБД применяются там, где необходима надежность реляционных БД и поддержка сложных типов данных. Они востребованы в геоинформационных системах, аналитических платформах и корпоративных приложениях, работающих с иерархиями, массивами и документами.

NoSQL СУБД оптимальны для высоконагруженных распределенных систем с гибкой структурой данных. Именно они широко используются в соцсетях, мессенджерах, онлайн-играх, мобильных приложениях и системах аналитики, где важны масштабируемость и скорость работы.

Какие СУБД представлены на российском рынке

После 2022 года иностранные вендоры официально покинули российский рынок, что существенно сузило выбор СУБД до отечественных коммерческих решений и зарубежного программного обеспечения со свободной лицензией. В результате значительная, если не большая часть российских СУБД базируется на PostgreSQL — среди них Postgres Pro, Tantor, Arenadata Postgres и Ред База Данных, которые, несмотря на происхождение базового open source-проекта, соответствуют требованиям Реестра отечественного ПО и могут использоваться в государственных информационных системах и госзакупках.

  • Postgres Pro— объектно-реляционная СУБД на базе PostgreSQL с дополнительными оптимизациями, сертификацией и промышленной поддержкой для корпоративного и государственного сектора.
  • Tantor— объектно-реляционная СУБД корпоративного уровня на базе PostgreSQL, ориентированная на высокую доступность и замену зарубежных коммерческих решений.
  • Arenadata Postgres— промышленный дистрибутив объектно-реляционной СУБД PostgreSQL для корпоративных и аналитических систем.
  • Ред База Данных— объектно-реляционная СУБД на базе PostgreSQL, ориентированная на госсектор и интеграцию с отечественными операционными системами.

Наряду с решениями на базе PostgreSQL, на российском рынке представлены и полностью отечественные разработки.

  • ClickHouse— колоночная аналитическая СУБД для обработки больших объемов данных и выполнения высокопроизводительных OLAP-запросов.
  • «ЛИНТЕР»— полностью отечественная реляционная СУБД для защищённых и критически важных информационных систем.
  • SoQoL— отечественная реляционная СУБД, ориентированная на высоконагруженные транзакционные приложения.
  • ODANT — NoSQL СУБД, являющаяся неотъемлемой частью технологической Low-code-платформы для создания информационных систем. Рассчитана на работу с большими объемами данных и распределенной структурой организаций, обеспечивает синхронность информации и легко масштабируется.
  • Tarantool — отечественная высокопроизводительная in-memory СУБД, совмещающая функции базы данных и сервера приложений. Она ориентирована на высоконагруженные системы и работу с данными в оперативной памяти, обеспечивая низкие задержки и высокую скорость обработки. Поддерживает NoSQL и SQL, встроенный язык Lua, репликацию, отказоустойчивость и ACID-транзакции. Используется как распределённое хранилище «горячих» данных, кэш, очередь задач и основа микросервисных архитектур.

ODANT

На СУБД ODANT остановимся подробнее. Система разработана специально для решения задач по построению одноименной Low-code-платформы в связи с тем, что ни одна из российских систем на момент начала разработки платформы не удовлетворяла предъявляемым требованиям.

В ODANT используется язык запросов XQuery, который по назначению похож на SQL, но рассчитан на работу с иерархическими, а не табличными данными. В отличие от SQL, здесь не требуются сложные JOIN-операции, так как запросы напрямую работают с вложенными объектами и их связями. Это хорошо соответствует объектной и древовидной модели данных ODANT.

-3

В результате разработчик получает простой и единый способ доступа к данным и формирования результатов в нужной структуре.

Технологическая платформа ODANT, неотъемлемой частью которой является одноименная СУБД, использует Low-code-подход, основанный на принципе «моделирование вместо программирования». Системы создаются в визуальной среде, где можно настраивать модели данных и бизнес-логику без написания кода. Это позволяет быстрее разрабатывать и изменять решения, а также привлекать к созданию систем специалистов предметной области, а не только программистов.

При помощи ODANT можно создавать децентрализованные иерархические системы, с полной синхронностью данных, работающих в режиме Data Lake – в качестве единой системы сбора информации, обработки, анализа и визуализации.

-4

ODANT является полностью российской разработкой, состоит в Реестре отечественного ПО. На его основе созданы информационные системы, эксплуатируемые органами государственной власти и местного самоуправления, а также крупными корпоративными заказчиками.

В следующих материалах на канале мы подробнее расскажем о возможностях ODANT и наиболее значимых проектах, реализованных на основе платформы.

Статья подготовлена коллективом компании Инфостандарт — разработчика информационных систем для корпоративного сектора, органов государственной власти и местного самоуправления. Компания работает с 2012 года, за это время реализовано более 100.

Команда Инфостандарт использует популярные российские и открытые технологии, а также имеет глубокие компетенции в построении отраслевых информационных систем на основе уникальной российской технологической платформы ODANT.