Оглавление:
Определение - Что означает MongoDB?
MongoDB - это кроссплатформенная и открытая документально-ориентированная база данных, своего рода база данных NoSQL. Как база данных NoSQL, MongoDB избегает основанной на таблицах структуры реляционной базы данных для адаптации JSON-подобных документов, имеющих динамические схемы, которые она называет BSON.
Это делает интеграцию данных для определенных типов приложений быстрее и проще. MongoDB создан для масштабируемости, высокой доступности и производительности от развертывания на одном сервере до крупных и сложных многосайтовых инфраструктур.
Техопедия объясняет MongoDB
MongoDB была впервые разработана компанией MongoDB Inc., известной тогда как 10gen, в октябре 2007 года первоначально как основная часть в продукте PaaS (платформа как услуга), аналогичном Windows Azure и Google App Engine. Разработка была переведена на открытый исходный код в 2009 году.
MongoDB стала одной из самых популярных баз данных NoSQL, используемой в качестве бэкэнда для многих крупных веб-сайтов, включая eBay, Craigslist, SourceForge и The New York Times. MongoDB доступен в рамках Стандартной общественной лицензии GNU Affero, а его языковые драйверы - в соответствии с лицензией Apache. Также предлагаются коммерческие лицензии.
Особенности MongoDB:
- Специальные запросы - поддерживает поиск по полю, поиск по регулярным выражениям и диапазонные запросы.
- Индексирование - любое поле в документе BSON может быть проиндексировано.
- Репликация - обеспечивает высокую доступность через наборы реплик, которые состоят из двух или более копий исходных данных.
- Балансировка нагрузки - это метод, используемый для обеспечения горизонтального масштабирования MongoDB. Это означает, что данные будут распределяться и разделяться на диапазоны, а затем храниться в разных сегментах, которые могут быть расположены на разных серверах. Ключи Shard используются для определения того, как будут распределяться данные.
- Агрегация - MapReduce может применяться для пакетной обработки данных, а также для выполнения операций агрегации.
- Хранение файлов - MongoDB может использоваться в качестве файловой системы, которая использует вышеупомянутые функции и действует распределенным образом через сегментирование.
