MongoDB

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
MongoDB
Тип

документоориентированная СУБД

Разработчик

10gen

Написана на

C++

Операционная система

кроссплатформенное программное обеспечение

Первый выпуск

2009

Последняя версия

3.2.8 (12 июля 2016)[1]

Лицензия

GNU AGPL (СУБД) и Apache License (драйверы)

Сайт

mongodb.org

Commons-logo.svg MongoDB на Викискладе

MongoDB (от англ. humongous — огромный) — документоориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++.

Возможности[править | править вики-текст]

Основные возможности:

Архитектура[править | править вики-текст]

СУБД управляет наборами JSON-подобных документов, хранимых в двоичном виде в формате BSON. Хранение и поиск файлов в MongoDB происходит благодаря вызовам протокола GridFS. Подобно другим документоориентированным СУБД (CouchDB и др.), MongoDB не является реляционной СУБД. В СУБД:

  • Нет такого понятия, как «транзакция». Атомарность гарантируется только на уровне целого документа, то есть частичного обновления документа произойти не может.
  • Отсутствует понятие «изоляции». Любые данные, которые считываются одним клиентом, могут параллельно изменяться другим клиентом.

В MongoDB реализована асинхронная репликация в конфигурации «ведущий — ведомый» (англ. master — slave), основанная на передаче журнала изменений с ведущего узла на ведомые. Поддерживается автоматическое восстановление в случае выхода из строя ведущего узла. Серверы с запущенным процессом mongod должны образовать кворум, чтобы произошло автоматическое определение нового ведущего узла. Таким образом, если не используется специальный процесс-арбитр (процесс mongod, только участвующий в установке кворума, но не хранящий никаких данных), количество запущенных реплик должно быть нечётным.

Сотрудничество[править | править вики-текст]

6 июня 2012 года компания-разработчик MongoDB 10gen[en] начала длительное сотрудничество с корпорацией Microsoft, предоставив MongoDB её облаку Microsoft Azure. В результате этого партнёрства разработчики получили простой установщик для запуска MongoDB на виртуальных машинах Microsoft Azure. В дополнение к расширению опций облака и хостинга, доступных разработчикам MongoDB, этот шаг объединяет возможности ведущей базы данных NoSQL с технологиями Microsoft, включая Microsoft Azure, .NET и другие технологии с открытым исходным кодом, которые поддерживает Microsoft.

Прочее[править | править вики-текст]

Имеется подробная и качественная документация, большое число примеров и драйверов под популярные языки Java, JavaScript, Node.js, C++, C#, PHP, Python, Perl, Ruby, Grails&Groovy[2].

Заявляется, что релиз MongoDB 1.0.0 готов к использованию в производстве как в качестве единичного мастера, так и в связках «ведущий — ведомые». Код этого релиза достаточно стабилен и проверен в промышленной эксплуатации на протяжении 1,5 лет[3]. По возможности MongoDB должна быть развернута минимум на двух серверах, используя репликацию Master/Slave[4]. Это обеспечивает наличие актуальных данных при выходе из строя одной из СУБД.

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

  • Кайл Бэнкер. MongoDB в действии = MongoDB in Action. — ДМК Пресс, 2014. — 394 с. — ISBN 978-5-97060-057-3.
  • Kristina Chodorow. MongoDB: The Definitive Guide, 2nd Edition. — O'Reilly Media, Inc., 2013. — 432 с. — ISBN 978-1-4493-4468-9.
  • David Hows, Peter Membrey, Eelco Plugge, Tim Hawkins. The Definitive Guide to MongoDB: A complete guide to dealing with Big Data using MongoDB, Third Edition. — Apress, 2015. — 376 с. — ISBN 978-1-4842-1183-0.
  • Eelco Plugge, Peter Membrey, Tim Hawkins. The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing. — Apress, 2010. — 327 с. — ISBN 1-4302-3051-7.
  • Mithun Satheesh; Bruno Joseph D'mello; Jason Krol. Web Development with MongoDB and NodeJS - Second Edition. — Packt Publishing, 2015. — 300 с. — ISBN 978-1-78528-745-9.
  • Steve Hoberman. Data Modeling for MongoDB. — Technics Publications, 2014. — 226 с. — ISBN 978-1-935504-70-2.
  • Mitch Pirtle. MongoDB for Web Development. — Addison-Wesley Professional, 2011. — С. 360. — ISBN 9780321705334.

Ссылки[править | править вики-текст]

Сайты и порталы
Прочее