Код #Статьи

7 июля, 2025

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

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

Получите востребованные навыки веб-разработки, закрепите теорию практическими заданиями, получайте обратную связь от кураторов на курсе «Профессия Веб-разработчик». Вернем деньги, если не трудоустроишься.

Узнать больше

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

Что такое СУБД

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

Базу данных можно представить как таблицу. Иллюстрация: Оля Ежак для Skillbox Media

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

СУБД — это прослойка между базой данных и пользователем. Иллюстрация: Оля Ежак для Skillbox Media

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

Базы данных без СУБД — примерно то же, что эта машина. Изображение: Big Pants Production / Shutterstock / Skillbox Media

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

Для чего нужны СУБД

СУБД нужны для всех манипуляций с базами данных, а именно чтобы:

  • создавать базы данных и администрировать их — удалять, изменять и объединять;
  • держать данные в структурированном виде и необходимом формате;
  • защищать данные от нежелательных изменений и попыток взлома;
  • загружать и сортировать данные с помощью фильтров;
  • делать резервные копии, восстанавливать базы данных после сбоев и поддерживать общую целостность.

С помощью СУБД разработчики следят за всеми изменениями в базах данных. А БД хранят информацию пользователей: их транзакции и действия.

СУБД всегда наблюдает за действиями пользователей. Иллюстрация: Оля Ежак для Skillbox Media

Например, чтобы создать базу данных с каталогом всех товаров на маркетплейсе, нужно завести огромную таблицу со строками, где у каждой будут определенные свойства. Они могут быть такими:

  • название товара;
  • стоимость;
  • количество единиц на складе;
  • поставщик.

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

Из чего состоит СУБД

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

Примерное представление устройства СУБД изнутри. Иллюстрация: Оля Ежак для Skillbox Media

Ядро. Отвечает за работу всей системы в целом. Через него проходят все процессы обработки данных и их хранения. Ядро следит за всеми изменениями баз данных и фиксирует их.
Процессор, или компилятор. Занимается обработкой запросов от пользователей. Главная его задача — преобразовать SQL-запрос в понятные для компьютера команды, а затем вернуть результаты.
Программные средства, или утилиты. Нужны, чтобы пользователь мог вводить запросы, а администраторы могли настраивать доступ и другие необходимые параметры.
Базы данных. Место, где хранятся данные в упорядоченном, а иногда и в зашифрованном виде. Базы могут различаться по структуре и типам представления данных.

Виды СУБД

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

  • Локальные. Это когда все содержимое базы данных располагается на одном компьютере — обычно на сервере компании.
  • Распределенные. Это когда база данных частично находится на разных компьютерах — например, в облаке.

Современные СУБД могут быть одновременно локальными и распределенными.
Здесь СУБД делятся на клиент-серверные, файл-серверные и встраиваемые.

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

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

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

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

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

Например, Microsoft Access и «1С:Бухгалтерия» имеют такой тип СУБД.
СУБД поддерживают язык структурированных запросов и неструктурированных.

  • SQL. Это язык для создания структурированных запросов к базам данных. Такие СУБД самые популярные в использовании.
  • NoSQL. Это язык для запросов, который основан на другом языке программирования — например, Python или JavaScript. СУБД с NoSQL обычно используют при работе с большими данными.

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

Так в реляционной базе данных происходит связка элементов. Изображение: andreycha / habr.com

Каждая строка имеет уникальный идентификатор, или ключ. Поэтому найти нужные данные и связать их между собой в такой базе данных легко.
Реляционные базы данных используют, когда объем данных не превышает нескольких терабайт. Это делает их подходящими практически любому проекту.
Самые популярные среди реляционных баз данных — PostgreSQL, Microsoft SQL Server, MySQL, Oracle.
Реляционные базы данных применяют, когда важны следующие характеристики:

  • Транзакционность. Для выполнения операции нужно сделать несколько запросов к базе данных. Это может быть, например, перевод денег с одной карты на другую через приложение банка.
  • Частые изменения данных. Так как в реляционных базах данных строгая структура.
  • Поиск по индексам. Каждый элемент такой базы данных — это строка, а искать элементы по строкам удобно.
  • Запросы небольшого количества записей за раз. Реляционные базы данных работают как раз по этому принципу.
  • Объем данных не превышает нескольких терабайт. Если будет больше, такая база данных будет работать медленнее.

Ключ — значение. Каждый элемент базы данных использует для хранения уникальный идентификатор, который состоит из ключа и значения. Этот способ хранения похож на тип данных «словарь» в языках программирования.
Базы данных типа «ключ — значение» имеют вид хеш-таблиц, в которых у каждой записи — только один индекс. При этом жестких ограничений по структуре элементов нет.

Ключи — это просто числа, а значения могут быть чем угодно. Изображение: Tzoof Avny Brosh / medium.com

Такие базы данных используют по принципу логов, когда новые записи заносят в конец хранилища. Удаляют элементы с помощью добавления специальной записи.
Еще несколько способов использования баз данных типа «ключ — значение» — очереди, кэш и логирование.
Популярные базы данных типа «ключ — значение» — Redis, DynamoDB и Aerospike.
Документные. В отличие от реляционных баз данных, документоориентированные хранят информацию в виде «документов», а не таблиц и строк. Главное преимущество документных баз данных — возможность хранить информацию без строгого ограничения по структуре.

Элементы документной базы данных могут иметь разную структуру. Изображение: Тольяттинский государственный университет

Документные базы данных умеют хранить информацию целиком и получать ее одним запросом. Даже если структура элементов будет разной. Еще документные базы данных позволяют использовать ссылки на другие записи в базе, что чем-то напоминает реляционную модель.
Популярные документные базы данных — MongoDB, CouchDB и Amazon DocumentDB.
Графовые. В них элементы имеют взаимосвязи в виде графа, где у каждого его узла есть множество связей с другими узлами. Такой вид баз данных напоминает паутину. Обычно эти базы данных используют в соцсетях или рекомендательных сервисах.
Каждый узел графовой базы данных содержит в себе данные, а чтобы составить взаимосвязи между узлами, используют ребра. В них хранятся начальный и конечный узлы, направление и тип. Ребра описывают взаимосвязи между двумя узлами — например, «родитель — потомок», — а также действия над ними.

Каждый узел — это данные, а каждая стрелочка — связь между узлами. Изображение: Amazon

Обойти весь граф можно очень быстро, потому что связи между узлами не считаются во время запроса, а сразу хранятся в базе данных. Поэтому графовые базы данных применяются в соцсетях, рекомендательных сервисах и системах выявления мошенничества, когда нужно построить взаимосвязи между данными и запросить их.
Популярные графовые базы данных — Amazon Neptune, Neo4j и InfiniteGraph.
Колоночные. В них данные хранятся последовательно в виде одной колонки, и предполагается, что на одном и том же месте в каждой колонке хранятся элементы, которые относятся к одной строке. Это позволяет эффективно сжимать данные и анализировать их — находить сумму, количество или среднее значение.

Колоночные базы данных можно представить в виде куба. Изображение: GrapeCity

Колоночные базы данных позволяют загружать новые данные непрерывным потоком или порциями. При этом удалять их так нельзя.
Главная область применения колоночных баз данных — анализ данных. Такие базы аналитики и менеджеры компаний используют, чтобы хранить историю событий.
Популярные колоночные базы данных — ClickHouse, Apache Druid, Vertica, BigQuery и Teradata.

Популярные СУБД

СУБД существует много, но часто программисты пользуются семью самыми популярными — PostgreSQL, Microsoft SQL Server, MySQL, SQLite, MongoDB, Redis и Oracle.

PostgreSQL

Тип. Реляционная СУБД клиент-серверного вида.
Стоимость. Бесплатно.
Лицензия. PostgreSQL License, Open Source.
Для кого. Подходит для проектов любой сложности и объема.
Преимущества. СУБД имеет большую функциональность и высокую производительность — например, она без проблем может работать с большими данными под высокой нагрузкой.
Язык запросов — SQL, но его можно поменять через расширения на PL/Python, PL/Java и PL/Perl. И еще одно преимущество PostgreSQL — в ней нет лимита по размеру баз данных и числу записей в таблицах.
Скачать СУБД можно на официальном сайте.

Интерфейс PostgreSQL. Изображение: PostgreSQL

MySQL

Тип. Реляционная СУБД клиент-серверного вида.
Стоимость. Бесплатно.
Лицензия. GPLv2, проприетарная.
Для кого. Подходит для небольших и средних команд и проектов.
Преимущества. Интерфейс программы позволяет работать с таблицами разных форматов. MySQL работает онлайн и вмещает до 50 млн элементов. Но по функциональности она уступает PostgreSQL. При этом ее можно интегрировать с другими СУБД.
MySQL использовали для сайтов и интернет-магазинов такие компании, как Twitter, Alibaba, «Фейсбук», Wikipedia.
После того как MySQL купила компания Oracle, пользователи стали немного переживать, что в скором времени база данных может стать платной. Но пока она остается бесплатной.
Скачать СУБД можно бесплатно на официальном сайте.

Интерфейс MySQL. Изображение: MySQL

Microsoft SQL Server

Тип. Реляционная СУБД.
Стоимость. Бесплатно.
Лицензия. Проприетарная.
Для кого. Платную версию используют в крупных компаниях, а бесплатную можно без проблем применять в проектах с объемом данных до 10 ГБ.
Преимущества. Эта СУБД добавляет автоматизацию задач — например, можно задать скрипт, который будет управлять памятью. Еще Microsoft SQL Server позволяет удобно хранить сложные структуры данных и быстро искать их.
СУБД совместима с другими программами Microsoft — например, Excel и Access. С ними можно сделать интеграцию и выгружать данные оттуда, а также изменять их онлайн.
В качестве языка запросов Microsoft SQL Server использует язык SQL.
Скачать СУБД можно на официальном сайте.

Интерфейс Microsoft SQL Server. Изображение: Microsoft

SQLite

Тип. Однофайловая СУБД в виде библиотеки для языков программирования.
Стоимость. Бесплатно.
Лицензия. GPLv2, проприетарная.
Для кого. Подходит для небольших проектов.
Преимущества. SQLite очень компактная СУБД, которая не использует серверы и другие утилиты. Все данные хранятся на одном устройстве.
На SQLite можно написать простой сайт или приложение, у которого будет ограничен трафик и объем хранимых данных. СУБД работает на любых устройствах — смартфонах, компьютерах, телевизорах и других, куда можно загрузить библиотеку. Она не нуждается в администрировании, а ее язык запросов — C.
Скачать СУБД можно на официальном сайте.

Интерфейс SQLite. Изображение: sqliteexpert.com

Oracle Database

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

Интерфейс Oracle Database. Изображение: sqlmanager.net

Освойте JavaScript, TypeScript и инструменты разработчика, научитесь создавать и тестировать React-компоненты с использованием хуков. Выполняйте практические задания, получайте обратную связь от кураторов и подготовьте портфолио на курсе «Профессия Веб-разработчик»

Узнать подробнее