MongoDB | это... Что такое MongoDB? (original) (raw)

MongoDB

Logo-mongoDB.png Логотип MongoDB
Тип Документо-ориентированная СУБД
Разработчик MongoDB
Написана на C++
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 2.2.2 (27 ноября 2012)
Лицензия GNU AGPL (СУБД) и Apache License (драйверы)
Сайт www.mongodb.org

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

Содержание

Философия

При разработке авторы исходили из необходимости специализации баз данных, благодаря чему им удалось отойти от принципа «один размер подо всё». За счёт минимизации семантики для работы с транзакциями появляется возможность решения целого ряда проблем, связанных с недостатком производительности, причём горизонтальное масштабирование становится проще. Используемая модель документов хранения данных (JSON/BSON) проще кодируется, проще управляется (в том числе за счёт применения т. н. «бессхемного стиля» (англ. schemaless style)[1]), а внутренняя группировка релевантных данных обеспечивает дополнительный выигрыш в быстродействии. Нереляционный подход весьма удобен для создания баз данных, у которых горизонтальное масштабирование подразумевает разворачивание на множестве машин. Возможность обеспечивать наилучшую производительность должна существовать параллельно с поддержкой более обширной функциональности, чем это позволяет использование пар «ключ-значение» (в чистом виде). Технология баз данных должна работать везде, начиная с серверов пользователя и виртуальных машин и заканчивая облачными технологиями[2].

MongoDB, по мнению разработчиков, должна заполнить разрыв между простыми хранилищами данных типа «ключ-значение» (быстрыми и легко масштабируемыми) и большими РСУБД (со структурными схемами и мощными запросами).

Возможности

Основные возможности данной СУБД:

Архитектура

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

История разработки

Сотрудничество

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

Прочее

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

Заявляется, что релиз MongoDB 1.0.0 готов к использованию в производстве как в качестве единичного мастера, так и в связках master/slave. Код этого релиза достаточно стабилен и проверен в промышленной эксплуатации на протяжении 1,5 лет[7]. По возможности MongoDB должна быть развернута минимум на двух серверах, используя репликацию Master/Slave[8]. Это обеспечивает наличие актуальных данных при выходе из строя одной из СУБД. MongoDB — продукт довольно молодой, и в нем встречаются ошибки, появляются новые возможности и т. д. Характерен высокий темп разработки (проект пишут не только волонтеры, но и компания людей на полной занятости).[9] Компания-разработчик предоставляет платные поддержку, хостинг, консультации.

Примечания

  1. Why Schemaless? (англ.)
  2. Design Philosophy (англ.)
  3. Архитектура MongoDb. Часть 1. Отличие от СУБД, обработка запросов в MongoDb//High Load Web
  4. Новости MongoBD: сотрудничество с Windows Azure // High Load Web
  5. Проверенный чёрт : MongoDB
  6. The MongoDB NoSQL Database Blog, Grails in the Land of MongoDB
  7. MongoDB 1.0 GA — первый релиз новой СУБД — Новости GNU/Linux и Open Source (NIXP.RU)
  8. Master-Slave репликация MongoDB
  9. MongoDB или как разлюбить SQL / Web-разработка / Хабрахабр

Литература

См. также

Ссылки

Сайты и порталы

Прочее

Просмотр этого шаблона Системы управления базами данных (СУБД)
Клиент-серверные CachéCouchDBIMSDB2FirebirdInformixIngresInterBaseMS SQL ServerMongoDBMySQLmSQLOracle Database • Pervasive SQL • PostgreSQLSybase ASE • Sybase ASA • Sybase IQ • Teradata Database • ЛИНТЕР
Движки BDEBerkeley DBC-Storedb4oHSQLDBMnesiaPrimeBaseRedisRdbSQLiteZODB
Файл-серверные DataFlexdBaseMS AccessOpenOffice.org BaseParadox