Мартовский Код

MongoDB

MongoDB — это документная база данных. Вместо таблиц со строгими колонками, как в PostgreSQL, MongoDB хранит данные в виде JSON-документов. Каждый документ может иметь свою структуру: один товар — с 5 полями, другой — с 20. Никаких миграций при добавлении нового поля.

Это удобно, когда структура данных неоднородна или часто меняется. Контент-платформа: у статьи одни поля, у видео — другие, у подкаста — третьи. В реляционной БД пришлось бы городить десяток таблиц или хранить всё в одной с кучей NULL-полей. В MongoDB каждый тип контента — просто документ со своими полями.

MongoDB легко масштабируется горизонтально: добавляете серверы — данные автоматически распределяются между ними (шардирование). Это делает MongoDB популярной для высоконагруженных проектов с большими объёмами данных.

Но у MongoDB есть ограничения: нет полноценных транзакций между коллекциями (хотя с версии 4.0 появилась базовая поддержка), нет JOIN-ов (данные дублируются или запрашиваются несколькими запросами), нет строгой типизации. Для финансовых систем и сложной аналитики PostgreSQL подходит лучше.

Ключевые преимущества

  • Документная БД: данные хранятся в JSON-документах
  • Гибкая схема: не нужны миграции при изменении структуры
  • Горизонтальное масштабирование через шардирование
  • Отличная производительность на чтение при правильной модели
  • Удобна для неоднородных и часто меняющихся данных

Примеры

Контент-платформа: статьи, видео, подкасты — разные структуры в одной коллекции. IoT: датчики отправляют данные с разными полями — MongoDB принимает без миграций. Каталог товаров с разными характеристиками: у телефонов — RAM и экран, у одежды — размер и материал. Агрегация логов и аналитических событий.

Когда это нужно

MongoDB подходит, когда: структура данных неоднородна и часто меняется, нужно хранить JSON-документы «как есть», требуется горизонтальное масштабирование, проект — каталог, CMS, IoT или агрегатор данных. Не подходит для: финансовых систем (нужны транзакции), сложной аналитики (нужны JOIN-ы), проектов со строгими связями между данными.

Связанные термины

Частые вопросы

MongoDB или PostgreSQL — что выбрать?

Для большинства проектов — PostgreSQL: он поддерживает и реляционные данные, и JSON (jsonb). MongoDB выбирайте, если вам принципиально нужно: горизонтальное шардирование из коробки, полностью документная модель, хранение данных без схемы. Если сомневаетесь — начните с PostgreSQL, перейти на MongoDB сложнее, чем наоборот.

MongoDB бесплатная?

Community Edition — бесплатная и open-source. MongoDB Atlas (облачный сервис) имеет бесплатный тариф (512 МБ). Платные тарифы Atlas: от $57/мес. Self-hosted на VPS: бесплатно + стоимость сервера. Для прототипов и MVP бесплатного тарифа Atlas более чем достаточно.

Где это применяется

Заказная разработка ПО

Разрабатываем заказное ПО под ваши процессы: корпоративные системы, интеграция с 1С, ERP-модули, API. MVP-ядро от 260 000 ₽, корпоративные платформы от 2,6 млн. Бесплатное демо за 3–5 дней. Архитектура с запасом ×10 по нагрузке.

Как мы это делаем

Разобраться, нужен ли вам mongodb

Проекты — от 130 000 ₽, прототип бесплатно

Опишите задачу в двух предложениях — за 48 часов вернём письменный разбор: какая технология её закрывает, какая будет лишней тратой и в какую вилку бюджета это укладывается. Разбор остаётся у вас в любом случае.

Если задачу закрывает готовая коробка — так и скажем. Комиссий от вендоров не берём.

Продолжите изучение

Читайте также

Услуга

От 200К · 5 дней

Веб-приложения

Создаём веб-приложения: личные кабинеты, B2B-порталы, дашборды. Next.js, React, интеграция с 1С и CRM. От 200К, кликабельный прототип — бесплатно за 5 дней.

Подробнее
Глоссарий

Redis

Redis — in-memory хранилище ключ-значение: кеш, сессии, счётчики, очереди, pub/sub. Скорость до 100К операций в секунду, структуры данных, репликация и кластеры.

Подробнее
Глоссарий

Elasticsearch

Elasticsearch — поисковый и аналитический движок на инвертированных индексах. Полнотекстовый поиск, аналитика логов, агрегации. Стек ELK, примеры внедрений.

Подробнее
Глоссарий

PostgreSQL

PostgreSQL — open-source реляционная СУБД с поддержкой JSON, полнотекстового поиска и расширений. ACID, репликация, отличие от MySQL и MongoDB, когда выбрать.

Подробнее