Система управления базами данных: что это такое и зачем она нужна

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

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

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

Чтобы понять, что такое СУБД, нужно сначала узнать, что такое база данных (БД).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ядро. Отвечает за работу всей системы в целом. Через него проходят все процессы обработки данных и их хранения. Ядро следит за всеми изменениями баз данных и фиксирует их.

Процессор, или компилятор. Занимается обработкой запросов от пользователей. Главная его задача — преобразовать SQL-запрос в понятные для компьютера команды, а затем вернуть результаты.

Программные средства, или утилиты. Нужны, чтобы пользователь мог вводить запросы, а администраторы могли настраивать доступ и другие необходимые параметры.

Базы данных. Место, где хранятся данные в упорядоченном, а иногда и в зашифрованном виде. Базы могут различаться по структуре и типам представления данных.

Виды СУБД

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

По расположению баз данных

СУБД бывают локальные и распределённые.

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

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

Современные СУБД могут быть одновременно локальными и распределёнными.

По хранению и обработке данных

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

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

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

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

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

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

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

По языку запросов

СУБД поддерживают язык структурированных запросов и неструктурированных.

SQL. Это язык для создания структурированных запросов к базам данных. Такие СУБД самые популярные в использовании.

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

По структуре и организации данных

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

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

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

Реляционные базы данных используют, когда объём данных не превышает нескольких терабайт. Это делает их подходящими практически любому проекту.

Самые популярные среди реляционных баз данных — PostgreSQL, Microsoft SQL Server, MySQL, Oracle.

По материалам https://skillbox.ru