28-04-2023
Логотип MongoDB |
|
Тип | |
---|---|
Разработчик |
MongoDB |
Написана на | |
Операционная система | |
Последняя версия |
2.0.3 (27.02.2012) |
Лицензия |
Creative Common |
Сайт |
www.mongodb.org |
MongoDB — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++ и распространяется в рамках лицензии Creative Commons.
Содержание |
При разработке авторы исходили из необходимости специализации баз данных, благодаря чему им удалось отойти от принципа «один размер подо всё». За счёт минимизации семантики для работы с транзакциями появляется возможность решения целого ряда проблем, связанных с недостатком производительности, причём горизонтальное масштабирование становится проще. Используемая модель документов хранения данных (JSON/BSON) проще кодируется, проще управляется (в том числе за счёт применения т. н. «бессхемного стиля» (англ. schemaless style)[1]), а внутренняя группировка релевантных данных обеспечивает дополнительный выигрыш в быстродействии. Нереляционный подход весьма удобен для создания баз данных, у которых горизонтальное масштабирование подразумевает разворачивание на множестве машин. Возможность обеспечивать наилучшую производительность должна существовать параллельно с поддержкой более обширной функциональности, чем это позволяет использование пар «ключ-значение» (в чистом виде). Технология баз данных должна работать везде, начиная с серверов пользователя и виртуальных машин и заканчивая облачными технологиями[2].
MongoDB, по мнению разработчиков, должна заполнить разрыв между простыми хранилищами данных типа «ключ-значение» (быстрыми и легко масштабируемыми) и большими РСУБД (со структурными схемами и мощными запросами).
Основные возможности данной СУБД:
СУБД управляет наборами JSON-подобных документов, хранимых в двоичном виде в формате BSON. Хранение и поиск файлов в MongoDB происходит благодаря вызовам протокола GridFS. Подобно другим документо-ориентированным СУБД (CouchDB, пр.), MongoDB не является реляционной СУБД. Среди других отличий от традиционных реляционных СУБД:
Имеется подробная и качественная документация, большое число примеров и драйверов под популярные языки Java, C++, C#, PHP, Python, Perl, Ruby[4].
Заявляется, что релиз MongoDB 1.0.0 готов к использованию в производстве как в качестве единичного мастера, так и в связках master/slave. Код этого релиза достаточно стабилен и проверен в промышленной эксплуатации на протяжении 1,5 лет[5]. По возможности MongoDB должна быть развернута минимум на двух серверах, используя репликацию Master/Slave[6]. Это обеспечивает наличие актуальных данных при выходе из строя одной из СУБД. MongoDB — продукт довольно молодой, и в нем встречаются ошибки, появляются новые возможности и т. д. Характерен высокий темп разработки (проект пишут не только волонтеры, но и компания людей на полной занятости).[7] Компания-разработчик предоставляет платные поддержку, хостинг, консультации.
Системы управления базами данных (СУБД) | |
---|---|
Клиент-серверные |
Caché • CouchDB • IMS • DB2 • Firebird • Informix • Ingres • InterBase • MS SQL Server • MongoDB • MySQL • mSQL • Oracle Database • Pervasive SQL • PostgreSQL • Sybase ASE • Sybase ASA • Sybase IQ • Teradata Database • ЛИНТЕР |
Движки | |
Файл-серверные |
DataFlex • dBase • MS Access • OpenOffice.org Base • Paradox • |
MongoDB.