MongoDB — NoSQL document-store, разработан 10gen (сейчас MongoDB Inc.) с 2009. Хранит документы (BSON — бинарный JSON) в коллекциях. В отличие от реляционных БД, схема гибкая: разные документы в коллекции могут иметь разные поля. Основа MEAN/MERN-стека (JavaScript-fullstack).
Ключевые концепции: (1) replica set — primary + secondary для HA, автоматический failover, (2) sharding — горизонтальное разделение коллекции по shard key на N нод, (3) aggregation pipeline — SQL-like queries: `$match → $group → $sort → $project`, (4) indexes (btree, geospatial, text), (5) change streams — стриминг изменений (event-driven).
Сильные стороны: (1) удобно хранить полу-структурированные документы (пользовательские профили, каталоги товаров с разными атрибутами), (2) быстрая денормализация — embedded documents вместо JOIN, (3) sharding из коробки. Слабые: (1) не ACID до v4.0 (сейчас с transactions, но overhead), (2) high-write workload часто уступает Postgres, (3) SSPL-лицензия с 2018 (не OSI-approved).
У нас MongoDB ставится cloud-init'ом на VPS. Для стартапа single-node VPS-M €12/мес + replica set из 3 VPS €30/мес — production-ready. Managed alternative — MongoDB Atlas. См. `/vps/for-mongodb`.