Анализ данных  •  31 августа 2022  •  5 мин чтения

Найти, сохранить и защитить: как СУБД помогают аналитикам и маркетологам

Разбираемся с тем, как устроены эти системы и какие примеры использования СУБД существуют.

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

СУБД — это система управления базами данных. Первые СУБД появились ещё в 1970-х, и сегодня их используют в каждой второй компании: от небольших интернет-магазинов до Facebook*, Google и Amazon.

Чтобы управлять базами данных и находить нужную информацию, запросы к ним пишут на специальных языках. Самый популярный из них — SQL (от англ. Structured Query Language — «язык структурированных запросов»).

Так СУБД применяют на практике: пользователи отправляют через них SQL-запросы к базам данных и в ответ получают нужные данные
База без СУБД — просто набор данных, с которым ничего нельзя сделать, как КамАЗ без кабины. Технически это машина: можно заливать бензин и масло, менять детали. Но водитель с таким камазом не сможет ничего делать. Стоит только добавить кабину, то есть систему управления, и всё меняется: можно ехать, рулить и поворачивать. Так и СУБД позволяет управлять и пользоваться данными.
Материал по теме:
Что такое DevOps: зачем он нужен, где применяется и в чём его плюсы и минусы

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

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

Основные функции СУБД:

● Создание баз данных, изменение, удаление и объединение их по определённым признакам.
● Хранение данных, в том числе больших массивов, в структурированном виде и нужном формате.
● Защита данных от взлома и нежелательных изменений при помощи распределённого доступа: когда разным группам пользователей доступны разный объём и сегменты данных.
● Выгрузка и сортировка данных по заданным фильтрам при помощи SQL-запросов.
● Поддержка целостности баз данных, резервное копирование и восстановление после сбоёв.

Системы управления БД нужны специалистам, которые работают с данными в IT:

● Разработчикам приложений и сайтов, чтобы хранить и обрабатывать данные о пользователях, транзакциях и содержимом каталога.

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

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

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

Из чего состоят системы управления базами данных

Вот главные элементы, которые есть в каждой СУБД, и их функции:

Ядро. Это основа всей системы, которая отвечает за хранение и обработку баз данных. В ядре фиксируются все изменения: добавление, удаление или исправление целых баз и отдельных ячеек.

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

Процессор, или компилятор. Обрабатывает запросы к базам данных на внутренних языках и SQL, преобразуя их в нужные команды и передавая результаты.
Программные средства, или утилиты. С их помощью пользователи вводят запросы, а администраторы баз данных настраивают доступ и другие параметры.
Базы данных. То, где хранятся данные, организованные особым образом, иногда — в зашифрованном виде. Если это реляционные базы, то данные представлены в виде таблиц, связанных с друг другом. Если объектные — в виде объектов: блоков информации с определёнными свойствами и параметрами.

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

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

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

Узнайте больше про работу с базами данных и SQL
Скачайте нашу памятку с основными SQL-командами, чтобы они всегда были под рукой

Основные виды СУБД

СУБД можно классифицировать по разным параметрам:
Хранение баз данных:

Локальные.
Все элементы системы и баз данных находятся на одном сервере, как правило внутри компании.
Распределённые.
Элементы находятся на разных серверах, в том числе облачных.

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

Хранение и обработка данных и запросов:

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

Примеры: Firebird, MS SQL Server, Oracle, PostgreSQL.

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

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

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

Примеры: OpenEdge, SQLite, Microsoft SQL Server Compact.

Язык запросов:

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

Примеры: MySQL, Microsoft SQL Server, PostgreSQL.

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

Примеры: Oracle NoSQL Database.

Структура и организация данных:

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

Примеры: MySQL, PostgreSQL.

● Ключ-значение.
Те, где для хранения данных используют уникальный идентификатор из двух частей — ключ и значение, — который присваивается каждой единице данных.

Примеры: Redis, Memcached.

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

Примеры: Amazon DocumentDB, CouchDB, MongoDB.

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

Примеры: Amazon Neptune, Neo4j, InfoGrid.

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

Примеры: SAP IQ, Google Bigtable, Vertica.

Примеры современных СУБД

PostgreSQL

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

В качестве основного языка запросов используется SQL, но СУБД также поддерживает его расширения на базе языков программирования: PL/Perl, PL/Python и PL/Java. Одно из главных преимуществ PostgreSQL в том, что здесь нет ограничений по размеру баз данных и числу записей в таблицах.

Интерфейс СУБД PostgreSQL
Интерфейс СУБД PostgreSQL
На курсе «SQL для работы с данными и аналитики» студенты учатся решать рабочие задачи с помощью популярных СУБД, чтобы принимать решения на основе данных и структурировать их в больших массивах.
MySQL

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

СУБД работает онлайн с высокой скоростью и позволяет хранить до 50 млн единиц данных. Однако её функциональность всё же уже, чем у PostgreSQL. MySQL используют для хранения и управления данными сайтов и интернет-магазинов, среди которых Facebook*, Twitter, Alibaba, Wikipedia. Она также может работать в комбинации с другими популярными СУБД.

Интерфейс MySQL
Интерфейс MySQL
Microsoft SQL Server

Реляционная СУБД, расширенную платную версию которой используют в крупных компаниях. Бесплатная версия Express подходит для небольших проектов с объёмом данных до 10 Гб.

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

В систему можно выгружать данные из других программ Microsoft (например, Access и Excel), а также вносить изменения в режиме онлайн. Для запросов в СУБД используется расширение SQL T-SQL (Transact-SQL).

Интерфейс MS SQL Server
Интерфейс MS SQL Server
MongoDB

Документная система управления NoSQL, где данные хранятся в виде JSON-файлов (от англ. JavaScript Object Notation), то есть текстовых документов в формате, основанном на JavaScript. Его же СУБД поддерживает в качестве языка запросов вместо SQL.

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

Эта СУБД подходит для работы с большими данными разных типов и из множества разных источников. Данные автоматически распределяются между разными базами так, чтобы оптимизировать нагрузку и ускорить обработку запросов. MongoDB используют для хранения локальных данных такие компании, как Google, Facebook*, Twitter, IBM, Forbes, а также многие интернет-магазины.

Интерфейс MongoDB
Интерфейс MongoDB
SQLite

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

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

Интерфейс SQLIte
Интерфейс SQLIte

Что нужно запомнить о СУБД

● При помощи СУБД можно собирать, хранить, защищать базы данных, управлять ими. А ещё предоставлять распределённый доступ: чтобы разным группам пользователей были доступны разные объёмы данных и операции с ними.

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

● Чтобы работать с СУБД, нужно освоить основы языка запросов (самый популярный и универсальный — SQL). Для некоторых СУБД пригодятся также языки программирования: JavaScript, Python, C++.

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

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

* сервис предоставляется организацией, признанной экстремистской на территории РФ

Статью подготовили:

Ася Зуйкова
Яндекс Практикум
Редактор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Mon Oct 07 2024 15:50:14 GMT+0300 (Moscow Standard Time)