SQLLab
Все статьи

Сравнение баз данных: PostgreSQL, MySQL, SQLite, MongoDB

Сравнение популярных баз данных: PostgreSQL vs MySQL, SQLite, MongoDB. Что выбрать для стартапа, аналитики, мобильного приложения или учёбы.

22 марта 2026 г.·3 мин чтения·

Выбор базы данных — одно из первых решений в новом проекте. Разбираем самые популярные варианты.

Быстрый выбор

ЗадачаВыбор
Веб-приложение, стартапPostgreSQL
Учёба, прототипSQLite
Мобильное приложениеSQLite
Гибкая схема, документыMongoDB
Высокая нагрузка на записьCassandra / ClickHouse
Аналитика, OLAPClickHouse / BigQuery

PostgreSQL

Лучший выбор для большинства задач.

Сильные стороны:

  • Полная поддержка SQL-стандарта
  • Мощные функции: оконные функции, CTE, JSONB, полнотекстовый поиск, геоданные (PostGIS)
  • Строгий — не позволяет хранить некорректные данные
  • Расширяемый — тысячи расширений
  • Бесплатный и открытый

Минусы:

  • Требует настройки для высокой производительности
  • Немного сложнее в администрировании чем MySQL

Когда использовать: веб-приложения, аналитика, стартапы, продакшн-системы.

-- PostgreSQL умеет то, что MySQL не умеет
SELECT name,
       RANK() OVER (PARTITION BY department ORDER BY salary DESC) as rank
FROM employees;

MySQL / MariaDB

Популярен в веб-разработке, особенно со старыми проектами.

Сильные стороны:

  • Простота настройки
  • Широкая поддержка хостингов
  • WordPress, Drupal, многие CMS работают на MySQL
  • InnoDB — надёжный движок с транзакциями

Минусы:

  • Слабее PostgreSQL в аналитических функциях
  • Исторически более «мягкий» — мог принимать некорректные данные
  • Oracle владеет проектом (спорный момент для open-source)

Когда использовать: legacy-проекты, WordPress-сайты, если уже используется.

SQLite

Файловая база — вся БД в одном файле.

Сильные стороны:

  • Не нужен сервер
  • Один файл — легко копировать и переносить
  • Встроен в Python, Go, браузеры, мобильные ОС
  • Быстрый для чтения

Минусы:

  • Нет параллельной записи
  • Не подходит для высоконагруженных приложений
  • Меньше функций

Когда использовать: мобильные приложения (iOS/Android), десктопные приложения, учёба, прототипы, тесты.

# SQLite встроен в Python
import sqlite3
conn = sqlite3.connect('mydb.db')

MongoDB

Документоориентированная NoSQL база.

Сильные стороны:

  • Гибкая схема — каждый документ может иметь разную структуру
  • JSON-подобный формат (BSON)
  • Горизонтальное масштабирование

Минусы:

  • Нет JOIN (нужно делать в приложении или через $lookup)
  • Нет транзакций на несколько коллекций (в старых версиях)
  • Не SQL — отдельный синтаксис запросов
  • Исторически были проблемы с целостностью данных

Когда использовать: каталоги с нефиксированной структурой, CMS, когда схема меняется часто.

ClickHouse

Колоночная БД для аналитики.

-- ClickHouse считает миллиарды строк за секунды
SELECT toStartOfMonth(created_at), sum(amount)
FROM orders
GROUP BY 1
-- На 10 млрд строк: <1 секунды

Когда использовать: аналитика больших данных, логи, метрики. Не подходит для OLTP (много мелких INSERT/UPDATE).

Redis

In-memory хранилище ключ-значение.

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

  • Кэш (сессии, результаты запросов)
  • Очередь задач (Celery + Redis)
  • Pub/Sub

Когда использовать: кэширование, сессии, очереди. Не для основного хранения данных.

Итог

Для большинства новых проектов — PostgreSQL. Мощный, бесплатный, универсальный. Вы не ошибётесь с этим выбором.

SQLite — для учёбы и мобильных приложений. MongoDB — если у вас действительно документы с нефиксированной схемой. ClickHouse — когда PostgreSQL перестаёт справляться с аналитическими запросами.

Похожие статьи

Попробуй на практике

Тренажёр с реальными задачами — бесплатно и без регистрации

Открыть тренажёр →