MongoDB
MongoDB — документоориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных. Написана на языке C++
MongoDB – это кросс-платформенная, документо-ориентированная база данных, которая обеспечаивает высокую производительность и лёгкую масштабируемость. В основе данной БД лежит концепция коллекций и документов.
MongoDB — кроссплатформенная документо-ориентированная система управления базами данных. Классифицированная как база данных NoSQL, MongoDB отходит от традиционных основ реляционной структуры базы данных в пользу JSON-подобных документов с динамическими схемами (MongoDB называет этот формат BSON), что делает интеграцию данных в определенных видах приложений проще и быстрее. Выпущено под комбинацией GNU Affero General Public License и лицензией Apache, MongoDB является бесплатным программным обеспечением с открытым исходным кодом.
Особенности MongoDB
- MongoDB — это документо-ориентированная СУБД. Данные в MongoDB хранятся в документах, которые объединяются в коллекции. Каждый документ представляет собой JSON-подобную структуру. Проведя аналогию с реляционными СУБД, можно сказать, что коллекциям соответствуют таблицы, а документам — строки в таблицах. Максимальный размер документа в MongoDB 2.x составляет 16 Мб (в более ранних версиях — лишь 4 Мб).
- В отличие от РСУБД MongoDB не требует какого-либо описания схемы базы данных — она может постепенно меняться по мере развития приложения, что есть удобно.
- Поддерживаются индексы, в том числе по массивам и вложенным документам, а также геопространственные индексы. Поддерживаются уникальные и составные индексы.
- MongoDB есть атомарные операции, compare-and-swap, курсоры, запись без подтверждения и даже MapReduce (но я бы не спешил переходить с Hadoop на MongoDB).
- Размер коллекции в MongoDB может быть ограничен числом документов или мегабайтами. Если коллекция слишком разрастется, старые документы будут удалены.
- Интерфейс MongoDB сильно напоминают работу с DBIx::Class. В запросах могут использоваться функции на языке JavaScript.
- В MongoDB поддерживается журналирование, а также асинхронная репликация двух видов — master-slave репликация и наборы реплик. Разработчики MongoDB рекомендуют использовать последние. Набор реплик представляет собой тот же master-slave, но в случае падения мастера среди реплик автоматически выбирается новый мастер. После возобновления своей работы бывший мастер становится репликой.
- Документы могут быть автоматически сегментированы по нескольким наборам реплик. Сегментирование производится по диапазону; чтобы отнести документ к конкретному диапазону, используется сегментный ключ (shard key). Данные распределяются между наборами реплик так, чтобы каждый набор содержал примерно одинаковый объем данных. Если кластер перестает справляться с нагрузкой, можно просто добавить в него еще один набор реплик — перераспределение данных произойдет автоматически.
- В документах MongoDB можно хранить бинарные данные — картинки, mp3 и так далее. Однако для данных размером более 1 Мб рекомендуется использовать GridFS. GridFS — это соглашение о хранении файлов произвольного размера в MongoDB, поддерживаемое всеми официальными драйверами.
- MongoDB используют GitHub, SourceForge, Foursquare, Bit.ly, About.me, MTV, CNN, New York Times, Forbes, Disney, EA и многие другие.
-
Процессы, оптимизация & эффективность
Проекты & Управление задачами. Ознакомьтесь с нашим разнообразным списком сервисов и приложений, которые помогут вам повысить продуктивность и эффективность. Наши инновационные решения помогут вам автоматизировать задачи, улучшить коммуникацию и оптимизировать рабочие процессы. Используйте наши сервисы и приложения, чтобы достичь новых высот в вашем бизнесе. ... -
Разработка
-
OLAP БД
Аналоги и альтернативы для MongoDB
MongoDB - похожие продукты (инструменты, решения, сервисы)
Отзывы
Отзывов пока нет.