Что такое база данных и зачем она аналитику

Коротко

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

Если вы идёте на позицию аналитика данных — данные, с которыми вы будете работать, живут именно в базах данных. А основной инструмент доступа к ним — SQL.

База данных vs Excel

Excel — это таблица на одном компьютере. Вы открыли файл, отредактировали, сохранили. Для 10 000 строк работает нормально. Для 10 миллионов — зависает. Если два человека открыли файл одновременно — конфликт.

База данных решает эти проблемы:

  • Масштаб. Миллиарды строк — не проблема.
  • Одновременный доступ. Сотни пользователей и сервисов работают с данными параллельно.
  • Целостность. Данные не теряются при сбое, транзакции либо выполняются полностью, либо откатываются.
  • Скорость. Запрос к таблице с миллионами строк выполняется за секунды — благодаря индексам и оптимизатору.

Таблица, строка, столбец

Главная единица в реляционной БД — таблица. Таблица похожа на лист в Excel: у неё есть столбцы (поля) и строки (записи).

Пример — таблица users:

id name email 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.

Как данные попадают в базу

Аналитик обычно не записывает данные в БД — он их читает. Но полезно понимать, откуда данные берутся:

  1. Приложение записывает события. Пользователь нажал кнопку — бэкенд записал строку в таблицу events.
  2. ETL-процессы. Данные из внешних систем (CRM, рекламные кабинеты, платёжные системы) загружаются в хранилище по расписанию: Extract → Transform → Load.
  3. Логи и трекеры. Системы аналитики (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 до оконных функций. Больше примеров вопросов — в каталоге.