Что такое база данных и зачем она аналитику
Коротко
База данных (БД) — это организованное хранилище данных, к которому можно обращаться с запросами. Не папка с файлами и не Excel-таблица, а структура, которая хранит миллионы записей, отдаёт их за миллисекунды и не ломается, когда два человека редактируют одно и то же одновременно.
Если вы идёте на позицию аналитика данных — данные, с которыми вы будете работать, живут именно в базах данных. А основной инструмент доступа к ним — SQL.
База данных vs Excel
Excel — это таблица на одном компьютере. Вы открыли файл, отредактировали, сохранили. Для 10 000 строк работает нормально. Для 10 миллионов — зависает. Если два человека открыли файл одновременно — конфликт.
База данных решает эти проблемы:
- Масштаб. Миллиарды строк — не проблема.
- Одновременный доступ. Сотни пользователей и сервисов работают с данными параллельно.
- Целостность. Данные не теряются при сбое, транзакции либо выполняются полностью, либо откатываются.
- Скорость. Запрос к таблице с миллионами строк выполняется за секунды — благодаря индексам и оптимизатору.
Таблица, строка, столбец
Главная единица в реляционной БД — таблица. Таблица похожа на лист в Excel: у неё есть столбцы (поля) и строки (записи).
Пример — таблица users:
| id | name | created_at | |
|---|---|---|---|
| 1 | Анна | anna@mail.ru | 2025-01-15 |
| 2 | Борис | boris@ya.ru | 2025-02-03 |
| 3 | Вера | vera@gmail.com | 2025-03-20 |
- Столбец (column) — это атрибут: имя, email, дата регистрации. У каждого столбца фиксированный тип данных.
- Строка (row) — одна запись: конкретный пользователь с конкретными значениями.
Первичный и внешний ключ
Первичный ключ (PRIMARY KEY) — столбец, который однозначно идентифицирует каждую строку. Обычно это id. Два пользователя не могут иметь одинаковый id.
Внешний ключ (FOREIGN KEY) — столбец в одной таблице, который ссылается на первичный ключ другой. Так таблицы связываются между собой.
Пример: таблица orders ссылается на users:
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
user_id INT REFERENCES users(id),
amount NUMERIC,
created_at TIMESTAMP
);Здесь user_id — внешний ключ. Он говорит: «этот заказ принадлежит пользователю с таким id». Благодаря ключам можно объединять данные из нескольких таблиц через JOIN.
Связи между таблицами: практический пример
Представьте интернет-магазин. Данные разложены по трём таблицам:
users — кто покупает:
| id | name | city |
|---|---|---|
| 1 | Анна | Москва |
| 2 | Борис | Казань |
orders — что заказали:
| id | user_id | product_id | amount | created_at |
|---|---|---|---|---|
| 101 | 1 | 10 | 2500 | 2025-03-01 |
| 102 | 1 | 20 | 800 | 2025-03-05 |
| 103 | 2 | 10 | 2500 | 2025-03-07 |
products — каталог товаров:
| id | name | category |
|---|---|---|
| 10 | Наушники | Электроника |
| 20 | Чехол | Аксессуары |
Чтобы узнать, кто что купил — соединяем таблицы:
SELECT
u.name AS buyer,
p.name AS product,
o.amount,
o.created_at
FROM orders o
JOIN users u ON o.user_id = u.id
JOIN products p ON o.product_id = p.idДанные хранятся раздельно, но собираются в любую комбинацию через SQL-запрос. Это принцип нормализации — каждый факт хранится один раз.
Типы баз данных
Реляционные (SQL)
Данные в таблицах, связанных ключами. Запросы пишутся на SQL. Самый распространённый тип — и тот, с которым работает аналитик 95% времени.
- PostgreSQL — самая популярная в продуктовых компаниях. Поддерживает сложные типы, JSON, оконные функции.
- MySQL — распространена в веб-проектах и стартапах.
Подробное сравнение SQL и NoSQL — в статье SQL vs NoSQL.
Аналитические (OLAP)
Заточены под тяжёлые аналитические запросы по огромным объёмам данных. Не для записи отдельных строк, а для агрегации миллиардов.
- ClickHouse — колоночная БД от Яндекса. Считает метрики по миллиардам событий за секунды.
- BigQuery — облачное хранилище от Google. Бессерверное, платите за объём обработанных данных.
Нереляционные (NoSQL)
Данные хранятся не в таблицах, а в других структурах — документах, парах ключ-значение, графах.
- MongoDB — документная БД. Хранит данные как JSON-объекты. Популярна в бэкенде.
- Redis — хранилище ключ-значение в оперативной памяти. Используется для кэша и очередей.
Аналитику NoSQL встречается реже, но полезно понимать, что это такое — особенно если данные приходят из MongoDB и вы разбираете структуру.
СУБД — система управления базой данных
СУБД (Database Management System, DBMS) — это программа, которая создаёт базы, хранит данные, обрабатывает запросы и следит за целостностью. PostgreSQL, MySQL, ClickHouse — это всё СУБД.
Когда говорят «база данных PostgreSQL», имеют в виду: данные хранятся и управляются через СУБД PostgreSQL.
Как данные попадают в базу
Аналитик обычно не записывает данные в БД — он их читает. Но полезно понимать, откуда данные берутся:
- Приложение записывает события. Пользователь нажал кнопку — бэкенд записал строку в таблицу events.
- ETL-процессы. Данные из внешних систем (CRM, рекламные кабинеты, платёжные системы) загружаются в хранилище по расписанию: Extract → Transform → Load.
- Логи и трекеры. Системы аналитики (PostHog, Amplitude, Google Analytics) собирают события и складывают в свои хранилища.
Всё это попадает в БД, и аналитик достаёт нужное через SQL-запросы.
Зачем аналитику понимать базы данных
- Данные живут в БД. Не в Excel, не в головах коллег — в таблицах базы данных. Без понимания структуры вы не напишете корректный запрос.
- SQL — основной инструмент. На собеседованиях 80% задач — SQL. А SQL — это язык для работы с базами данных.
- Связи между таблицами. Данные о пользователях, заказах, платежах разложены по разным таблицам. Чтобы собрать отчёт — нужно понимать ключи и JOIN-ы.
- Типы БД определяют возможности. В PostgreSQL можно писать сложные оконные функции. В ClickHouse — считать агрегаты по миллиардам строк. Знание типов БД помогает выбрать правильный подход.
Вопросы с собеседований
— Что такое база данных? — Организованное хранилище данных с возможностью структурированного доступа через запросы. В отличие от файлов и таблиц Excel, БД обеспечивает целостность, масштабируемость и параллельный доступ.
— Чем отличается первичный ключ от внешнего? — Первичный ключ (PRIMARY KEY) однозначно идентифицирует строку в таблице — обычно это id. Внешний ключ (FOREIGN KEY) — ссылка на первичный ключ другой таблицы, он создаёт связь между таблицами.
— Какие типы БД вы знаете? — Реляционные (PostgreSQL, MySQL) — таблицы и SQL. Аналитические (ClickHouse, BigQuery) — для тяжёлых агрегаций. NoSQL (MongoDB, Redis) — документы, ключ-значение, графы. Для аналитика ключевые — реляционные и аналитические.
— Что такое СУБД? — Система управления базой данных — программа, которая создаёт БД, хранит данные, обрабатывает запросы. PostgreSQL — это СУБД. База данных — это данные внутри неё.
— Как данные попадают в базу? — Приложение записывает события (клики, заказы, регистрации). ETL-процессы загружают данные из внешних систем. Аналитик обычно читает данные, а не записывает.
Потренируйтесь на задачах — откройте тренажёр с 1500+ вопросами для подготовки к собеседованиям аналитиков.
FAQ
Нужно ли аналитику уметь создавать базы данных?
Создавать — нет. Понимать структуру — обязательно. Аналитик работает с готовыми таблицами: пишет SELECT-запросы, соединяет таблицы через JOIN, агрегирует данные. Создание и администрирование БД — задача инженеров данных и DBA.
Какую базу данных изучать первой?
PostgreSQL. Это самая популярная СУБД в продуктовых компаниях, она поддерживает все возможности SQL, которые спрашивают на собеседованиях: оконные функции, CTE, подзапросы. Начните с основ SQL, а дальше всё будет понятно.
Чем реляционная БД отличается от нереляционной?
Реляционная хранит данные в таблицах со строгой схемой: столбцы, типы данных, ключи. Запросы — на SQL. Нереляционная (NoSQL) хранит данные в других форматах — документах (JSON), парах ключ-значение, графах. Схема гибкая или отсутствует. Для аналитика 95% работы — реляционные БД.
Как тренироваться
Базы данных — фундамент, на котором строится вся аналитика. Дальше — SQL, запросы, соединения таблиц, агрегации. В тренажёре Карьерник есть задачи по всем темам — от базового SELECT до оконных функций. Больше примеров вопросов — в каталоге.