ENIGMA AI
ENIGMA AI

Какие существуют типы баз данных?

встречается 10× junior database

Как ответить

Базы данных делятся на два больших класса: реляционные (SQL) и нереляционные (NoSQL). Внутри каждого есть подтипы, а ещё существуют гибридные решения и специализированные СУБД. Выбор типа зависит от структуры данных, требований к согласованности и нагрузки.

Реляционные базы данных — это таблицы со строгими схемами, связи через внешние ключи, язык SQL. Они гарантируют ACID (атомарность, согласованность, изоляция, долговечность). Примеры: PostgreSQL, MySQL, SQLite. Хороши для финансовых систем, ERP, где важна целостность.

NoSQL делятся на четыре основных вида:

  • Документные — хранят JSON-подобные документы, гибкая схема. Пример: MongoDB. Удобны для каталогов товаров, блогов.
  • Key-Value — простейшая модель «ключ-значение», высокая скорость. Примеры: Redis, DynamoDB. Используются для кэширования, сессий.
  • Колоночные — данные организованы по колонкам, а не строкам. Пример: ClickHouse, Cassandra. Оптимальны для аналитики и агрегаций.
  • Графовые — узлы и рёбра, удобны для сложных связей. Пример: Neo4j. Применяются в соцсетях, рекомендательных системах.

Также есть NewSQL (CockroachDB, TiDB) — пытаются объединить ACID реляционных с горизонтальным масштабированием NoSQL. И in-memory СУБД (Redis, Memcached) — хранят данные в оперативной памяти для максимальной скорости, но теряют при перезагрузке, если не настроен персистентность.

На практике часто используют комбинацию: например, PostgreSQL для основных данных и Redis для кэша. Junior-разработчику важно понимать, что выбор базы — это не вопрос «какая лучше», а вопрос «какая подходит под задачу».

Ключевые тезисы

  • Реляционные БД (SQL) — таблицы, строгая схема, ACID, подходят для транзакционных систем.
  • NoSQL: документные (MongoDB) — гибкая схема; key-value (Redis) — быстрый доступ; колоночные (ClickHouse) — аналитика; графовые (Neo4j) — связи.
  • NewSQL (CockroachDB) — ACID + горизонтальное масштабирование; in-memory (Redis) — скорость, но риск потери данных без персистентности.
  • Выбор типа зависит от сценария: структурированные данные с транзакциями — SQL; быстрые кэши — key-value; сложные связи — графы.

Что спросят дальше

  • — Какие критерии выбора между PostgreSQL и MongoDB для нового проекта?
  • — Что такое ACID и BASE? Приведите примеры, когда BASE предпочтительнее.
  • — Как устроено индексирование в реляционных и документных БД? В чём разница?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение