MongoDB: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
РоманСузи (обсуждение | вклад) орфография и убрал см также так как есть в тексте |
РоманСузи (обсуждение | вклад) →Литература: пересмотрел |
||
Строка 48: | Строка 48: | ||
== Литература == |
== Литература == |
||
* {{книга |
* {{книга |
||
|заглавие = |
| заглавие = MongoDB в действии |
||
⚫ | |||
|оригинал = [http://oreilly.com/catalog/9781449381561 MongoDB: The Definitive Guide] |
|||
⚫ | |||
|автор = Кристина Чодороу, Майкл Дирольф |
|||
⚫ | |||
|isbn = 9781449381561 |
|||
| год = 2014 |
|||
⚫ | |||
| страниц = 394 |
|||
⚫ | |||
| isbn = 978-5-97060-057-3 |
|||
|место = |
|||
| ref = Бэнкер |
|||
⚫ | |||
}} |
}} |
||
* {{книга |
* {{книга |
||
| автор = Kristina Chodorow |
|||
|заглавие = |
|||
| заглавие = MongoDB: The Definitive Guide, 2nd Edition |
|||
⚫ | |||
⚫ | |||
|автор = Тим Хоукинс, Илько Пладж, Питер Мембри |
|||
| год = 2013 |
|||
|isbn = 9781430230519 |
|||
| страниц = 432 |
|||
|страницы = 350 |
|||
⚫ | |||
|год = 2010 |
|||
| ref = Chodorow |
|||
|место = |
|||
⚫ | |||
}} |
}} |
||
* {{книга |
* {{книга |
||
| автор = 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 |
|||
|оригинал = [http://oreilly.com/catalog/0636920018308/ Scaling MongoDB] |
|||
⚫ | |||
|автор = Кристина Чодороу |
|||
| год = 2015 |
|||
|isbn = 978-1-4493-0321-1 |
|||
| страниц = 376 |
|||
|страницы = 62 |
|||
⚫ | |||
|год = 2011 |
|||
| ref = Hows et al |
|||
|место = |
|||
⚫ | |||
}} |
}} |
||
* {{книга |
* {{книга |
||
| автор = Eelco Plugge, Peter Membrey, Tim Hawkins |
|||
|заглавие = |
|||
⚫ | |||
|оригинал = [http://www.informit.com/store/product.aspx?isbn=0132489708 MongoDB for Web Development] |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
| страниц = 327 |
|||
|страницы = 360 |
|||
| isbn = 1-4302-3051-7 |
|||
|год = 2011 |
|||
| ref = Plugge, Membrey, Hawkins |
|||
|место = |
|||
⚫ | |||
}} |
}} |
||
* {{книга |
* {{книга |
||
| автор = Mithun Satheesh; Bruno Joseph D'mello; Jason Krol |
|||
|заглавие = |
|||
| заглавие = Web Development with MongoDB and NodeJS - Second Edition |
|||
⚫ | |||
⚫ | |||
⚫ | |||
| год = 2015 |
|||
|isbn = 9781935182870 |
|||
| страниц = 300 |
|||
|страницы = 375 |
|||
⚫ | |||
|год = 2011 |
|||
| ref = Satheesh et al |
|||
|место = |
|||
⚫ | |||
}} |
}} |
||
* {{книга |
* {{книга |
||
| автор = Steve Hoberman |
|||
|заглавие = |
|||
| заглавие = Data Modeling for MongoDB |
|||
|оригинал = [http://oreilly.com/catalog/0636920019893/ 50 Tips and Tricks for MongoDB Developers] |
|||
⚫ | |||
|автор = Кристина Чодороу |
|||
| год = 2014 |
|||
⚫ | |||
| страниц = 226 |
|||
|страницы = 66 |
|||
| isbn = 978-1-935504-70-2 |
|||
|год = 2011 |
|||
| ref = Hoberman |
|||
|место = |
|||
⚫ | |||
}} |
}} |
||
* {{книга |
* {{книга |
||
|заглавие = |
|заглавие = MongoDB for Web Development |
||
⚫ | |||
|оригинал = [http://oreilly.com/catalog/0636920018391/ Document Design for MongoDB] |
|||
⚫ | |||
|автор = Райан Нитц |
|||
⚫ | |||
⚫ | |||
|страницы = 50 |
|||
|год = 2011 |
|год = 2011 |
||
|место = |
|место = |
||
|издательство = |
|издательство = Addison-Wesley Professional |
||
| ref = Pirtle |
|||
}} |
}} |
||
Версия от 09:01, 27 февраля 2016
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
MongoDB | |
---|---|
| |
Тип | документоориентированная СУБД |
Разработчик | 10gen |
Написана на | C++, Go, JavaScript, Си и Python[2] |
Операционные системы | Linux, macOS, Windows и OpenBSD |
Первый выпуск | 2009 |
Последняя версия | |
Репозиторий | github.com/mongodb/mongo |
Лицензия | GNU AGPL (СУБД) и Apache License (драйверы) |
Сайт | mongodb.com (англ.) |
Медиафайлы на Викискладе |
MongoDB (от англ. humongous — огромный) — документоориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++.
Возможности
В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
Основные возможности:
- Документоориентированное хранение (JSON-подобная схема данных)
- Javascript как язык для формирования запросов
- Динамические запросы
- Поддержка индексов
- Профилирование запросов
- Атомарная операция «Нашел и обновил»[уточнить]
- Эффективное[обтекаемое выражение] хранение двоичных данных больших объёмов, например, фото и видео
- Журналирование операций, модифицирующих данные в базе данных
- Поддержка отказоустойчивости и масштабируемости: асинхронная репликация, набор реплик и распределения базы данных на узлы
- Может работать в соответствии с парадигмой MapReduce
- Полнотекстовый поиск, в том числе на русском языке, с поддержкой морфологии
Архитектура
СУБД управляет наборами JSON-подобных документов, хранимых в двоичном виде в формате BSON. Хранение и поиск файлов в MongoDB происходит благодаря вызовам протокола GridFS. Подобно другим документоориентированным СУБД (CouchDB и др.), MongoDB не является реляционной СУБД. В СУБД:
- Нет такого понятия, как «транзакция». Атомарность гарантируется только на уровне целого документа, то есть частичного обновления документа произойти не может.
- Отсутствует понятие «изоляции». Любые данные, которые считываются одним клиентом, могут параллельно изменяться другим клиентом.
В MongoDB реализована асинхронная репликация в конфигурации «ведущий — ведомый» (англ. master — slave), основанная на передаче журнала изменений с ведущего узла на ведомые. Поддерживается автоматическое восстановление в случае выхода из строя ведущего узла. Серверы с запущенным процессом mongod должны образовать кворум, чтобы произошло автоматическое определение нового ведущего узла. Таким образом, если не используется специальный процесс-арбитр (процесс mongod, только участвующий в установке кворума, но не хранящий никаких данных), количество запущенных реплик должно быть нечётным.
История разработки
Сотрудничество
6 июня 2012 года компания-разработчик MongoDB 10gen[англ.]* начала длительное сотрудничество с корпорацией 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[3].
Заявляется, что релиз MongoDB 1.0.0 готов к использованию в производстве как в качестве единичного мастера, так и в связках «ведущий — ведомые». Код этого релиза достаточно стабилен и проверен в промышленной эксплуатации на протяжении 1,5 лет[4]. По возможности MongoDB должна быть развернута минимум на двух серверах, используя репликацию Master/Slave[5]. Это обеспечивает наличие актуальных данных при выходе из строя одной из СУБД.
Примечания
Литература
- Кайл Бэнкер. 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.
Ссылки
- Сайты и порталы
- Официальный сайт (англ.)
- Официальная документация (англ.)
- The Little MongoDB Book по-русски (рус.)
- Прочее