MongoDB — документо-ориентированная база данных (NoSQL)
MongoDB — это NoSQL хранилище данных, крайне удобное для хранения информации, которая не может быть нормально структурирована в рамках реляционных баз данных.
MongoDB — это СУБД с открытым исходным кодом, не требующая описания схемы таблиц и написанная на языке C++. Благодаря специализации базы данных удалось отойти от принципа «один размер подо всё», а за счёт минимизации методов работы с транзакциями появилась возможность решения целого ряда проблем, связанных с недостатком производительности, что также способствовало улучшению горизонтального масштабирования.
Документы в MongoDB хранятся в JSON или BSON, работа с такой моделью проще кодируется и проще управляется, а внутренняя группировка релевантных данных обеспечивает дополнительный выигрыш в быстродействии. MongoDB, по мнению разработчиков, должна заполнить разрыв между простейшими NoSQL-СУБД, хранящими данные в виде «ключ — значение» (простыми и легко масштабируемыми, но обладающими минимальными функциональными возможностями, такими как Memcached, например) и большими реляционными СУБД (со структурными схемами и мощными запросами).
Что есть в MongoDB:
- гибкий язык для формирования запросов
- динамические запросы
- индексация коллекций
- профилирование запросов
- журналирование операций записи
- отказоустойчивость и масштабируемость
- асинхронная репликация и шардинг
- MapReduce
- полнотекстовый поиск с поддержкой морфологии
Работа с MongoDB реализована на языках программирования Java, C++, C#, PHP, Python, Perl, Ruby и других, а соответствующие компоненты есть во многих фреймворках (в Ruby on Rails и в Yii, например).
MongoDB — документоориентированная система управления базами данных, написанная на языке C++. Относится к классу NoSQL и является Schema-less.
В MongoDB есть поддержка индексов, ускоряющих поиск. Система масштабируется горизонтально через механизм шардинга и может работать в распределённом режиме.Также поддерживается репликация (хранение нескольких копий данных).