MongoDB Баз данных NoSQL-типа
 

MongoDB Баз данных NoSQL-типа

Продукт
Разработчики: MongoDB (ранее 10gen)
Дата последнего релиза: 2015/12/09
Технологии: СУБД

Содержание

MongoDB — одна из баз данных NoSQL-типа следующего поколения, оспаривающих доминирование реляционных СУБД Oracle, Microsoft и др., используемых сейчас в большинстве корпоративных ЦОДов.

MongoDB – документно-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Ее используют компании Craigslist, eBay, SourceForge, Viacom и многие другие.

История

2015

Стабильный релиз MongoDB 3.2

9 декабря 2015 года вышел стабильный выпуск документо-ориентированной СУБД MongoDB 3.2. Сборки MongoDB 3.2.0 сформированы для Linux, Solaris, Windows и OS X[1].


Особенности выпуска

  • средства проверки корректности структуры и содержимого документов, реализованные через привязку к документам специального валидатора, определяющего правила для проверки типов, полей и значений;
  • движок хранения с шифрованием данных (только для MongoDB Enterprise);
  • движок хранения для систем реального времени, размещающий все данные в оперативной памяти;
  • использование SpiderMonkey в качестве JavaScript-движка для mongo shell и сервера mongod;
  • модуль для сопряжения с системами бизнес-аналитики, такими как Tableau и Qlikview;
  • Compass - графический интерфейс для управления MongoDB, визуализации, изучения данных и формирования выборок без необходимости применения языка запросов MongoDB;

Скриншот окна программы (2015)
  • система визуального профилирования выполнения запросов, позволяющая оценить возникающие задержки и выделить медленные запросы к БД;
  • поддержка частичных индексов, включающих только выборочные документы на основании заданного при создании индекса фильтра;
  • использование по умолчанию движка хранения WiredTiger вместо ранее используемого движка MMAPv1. WiredTiger отличается высоким уровнем масштабуемости на многоядерных системах, предсказуемым временем обработки запроса, не зависящим от числа записей в базе, возможностью блокировки записей на уровне документов и поддержкой хранения данных в сжатом виде;
  • возможность комбинировать данные из нескольких коллекций документов при помощи оператора $lookup, реализующего слияния типа "left outer join".


MongoDB 3.2

5 ноября 2015 года стал доступен для ознакомления предварительный релиз СУБД MongoDB 3.2, ориентированной на хранение документов[2].

Высокопроизводительная масштабируемая СУБД занимает нишу между быстрыми и масштабируемыми системами, оперирующими данными в формате ключ/значение, и реляционными СУБД, функциональными и удобными при использовании запросов.

MongoDB поддерживает хранение документов в JSON-подобном формате, имеет достаточно гибкий язык для формирования запросов, может создавать индексы для различных хранимых атрибутов, эффективно обеспечивает хранение больших бинарных объектов, поддерживает журналирование операций по изменению и добавлению данных в БД, может работать в соответствии с парадигмой Map/Reduce, поддерживает репликацию и построение отказоустойчивых конфигураций.

В MongoDB имеются средства обеспечения шардинга (распределение набора данных по серверам на основе определенного ключа), комбинируя который репликацией данных можно построить горизонтально масштабируемый кластер хранения, в котором отсутствует единая точка отказа (сбой любого узла не сказывается на работе БД), поддерживается автоматическое восстановление после сбоя и перенос нагрузки с вышедшего из строя узла. Расширение кластера или преобразование одного сервера в кластер производится без остановки работы БД простым добавлением новых машин.

Особенности выпуска 3.2:

  • Средства проверки корректности структуры и содержимого документов, реализованные через привязку к документам специального валидатора, определяющего правила для проверки типов, полей и значений;
  • Инновационный движок хранения с шифрованием данных (только для MongoDB Enterprise);
  • Модернизированный движок хранения для систем реального времени, размещающий все данные в оперативной памяти;
  • Использование SpiderMonkey в качестве JavaScript-движка для mongo shell и сервера mongod;
  • Свежий модуль для сопряжения с системами бизнес-аналитики, такими как Tableau и Qlikview;
  • Compass - графический интерфейс для управления MongoDB, визуализации, изучения данных и формирования выборок без необходимости применения языка запросов MongoDB;

Скриншот окна Compass (2015)

  • Система визуального профилирования выполнения запросов, позволяющая оценить возникающие задержки и выделить медленные запросы к БД;
  • Поддержка частичных индексов, включающих только выборочные документы на основании заданного при создании индекса фильтра;
  • Использование по умолчанию движка хранения WiredTiger вместо ранее используемого движка MMAPv1. WiredTiger отличается высоким уровнем масштабуемости на многоядерных системах, предсказуемым временем обработки запроса, не зависящим от числа записей в базе, возможностью блокировки записей на уровне документов и поддержкой хранения данных в сжатом виде;
  • Возможность комбинировать данные из нескольких коллекций документов при помощи оператора $lookup, реализующего слияния типа "left outer join".

В Сети опубликованы десятки тысяч баз MongoDB

Трое студентов Саарландского университета, Германия, обнаружили 39890 баз MongoDB, опубликованных в сети Интернет. Некоторые из них принадлежат крупным компаниям и содержат конфиденциальную информацию миллионов людей[3] [4].

Для поиска Дженс Хейенс (Jens Heyens), Кай Гришэйк (Kai Greshake) и Эрик Петрика (Eric Petryka) использовали известную поисковую систему Shodan, которая сканирует порты и индексирует информацию, недоступную через другие поисковики. В конфигурации MongoDB по умолчанию указан открытый порт TCP 27017 и, как отмечают студенты, для того чтобы получить доступ к базам данных, злоумышленнику достаточно просто провести сканирование портов в интернете.

По мнению специалистов, такая ситуация могла возникнуть по двум причинам. Во-первых, MongoDB сконструирована для работы на одной физической машине или экземплярах виртуальных машин. Во-вторых, формулировка документации и директив для настройки интернет-доступа на серверах MongoDB могла быть недостаточно четкой в случае необходимости активации управления доступом, аутентификации и механизмов шифрования данных.

«Если менее опытный администратор установит web-сервер баз данных MongoDB, следуя данным директивам, вполне вероятно, что в процессе он проигнорирует важность активации необходимых защитных механизмов, что приведет к полной открытости и уязвимости баз данных. Таким образом, любой сможет получить к ним доступ и, что важнее всего, проводить с ними различные манипуляции», - предупредили специалисты.

MongoDB is an open source NoSQL database. It is currently the most commonly used NoSQL database and several major Web sites and services integrate such a database for their backend.

We discovered that MongoDB databases running as a service or Web site backend on several thousand commercial servers are openly available on the Internet. Without any special tools and without circumventing any security measures, we would have been able to get read and write access to thousands of databases, including, e.g., sensitive customer data or live backends of Web shops.

The reason for this problem is twofold:

  • The defaults of MongoDB are tailored for running it on the same physical machine or virtual machine instances.
  • The documentations and guidelines for setting up MongoDB servers with Internet access may not be sufficiently explicit when it comes to the necessity to activate access control, authentication, and transfer encryption mechanisms.

If a less experienced administrator sets up a MongoDB Web server following those guidelines, it can easily happen that the administrator oversees the importance of activating crucially required security mechanisms. This will lead to a completely open and vulnerable database that each and everyone can access and, even worse, manipulate. Apparently, this is what happened to the thousands of databases we found. In the following we will first document our findings and, consequently, provide guidelines on how to secure MongoDB servers.

2014

MongoDB 2.6

MongoDB — это кросс-платформная СУБД, ориентированная на документы и предназначенная помочь организациям справиться с неуклонно растущими объемами неструктурированных данных. Версия MongoDB 2.6, выпущенная в апреле 2014 года, предлагает новые функции текстового поиска и инструменты для специальных видов анализа, расширенную функциональность защиты, новые средства манипулирования большими объемами данных и обобщения/агрегации данных, расширения служб MongoDB Management Services для упрощения управления данными и новый уровень масштабируемости и производительности.

MongoDB расширяет функционал системы

16 октября 2014 года компания MongoDB сообщила о значительном расширении функционала системы управления базой данных для упрощения развертывания, масштабирования и использования в различных облачных инфраструктурах.

Как утверждают разработчики, предприятия смогут разворачивать, модернизировать и администрировать экземпляры MongoDB, работающие в их собственных ЦОДах, на лаптопах и в различных публичных облаках, включая Amazon Web Services (AWS), IBM Cloud, Google Compute Engine и Microsoft Azure, с помощью системы MongoDB Management Service (MMS).

Преимущества новинки

  • Управлять масштабированием базы данных MongoDB было непросто, поскольку требовало больших знаний и усилий. Теперь обновленный сервис MMS позволит разрешить задачу и даст возможность ИТ-специалистам сосредоточиться на разработке приложений.

  • В составе MMS:
  • средства для развертывания СУБД на разных инфраструктурах с помощью одного клика,
    • интеграции с Amazon Web Services;
    • обновления и управления производительностью;
    • непрерывного резервного копирования и восстановления.

Одновременно с расширением функционала системы MMS, компания MongoDB изменила модель ценообразования. Раньше MMS была доступна в облаке виде бесплатного сервиса, а чтобы ее использовать на своей площадке, заказчик должен был ее купить. Теперь MMS остается бесплатной только для восьми серверов, а за каждый следующий сервер нужно платить $50 в месяц. Можно воспользоваться памятью для резервного компания за $2,5 на один гигабайт, поддержкой и обслуживанием за $450 в месяц или $5 тыс. в год на один сервер.

2013

MongoDB 1.8

В нереляционной СУБД с открытым кодом MongoDB 1.8 ее разработчики, специалисты компании 10gen, реализовали механизм журналирования, регистрирующий каждую операцию с базой. В случае сбоя сервера СУБД журнал позволит быстро восстановить базу до последнего рабочего состояния. Как утверждают в 10gen, работа механизма журналирования не вызывает существенного снижения производительности СУБД.

В MangoDB 1.8 также реализована возможность добавления новых данных к имеющемуся набору, полученному в результате фильтрации с помощью функции map/reduce. Кроме того, усовершенствованы функция тиражирования и механизм секционирования данных по методу sharidng.

MongoDB, появившаяся в 2009 году, представляет собой документо-ориентированную СУБД, хранящую информацию в последовательном формате, подобном JSON. Базы MongoDB лишены табличных структур и схем и позволяют вносить новые атрибуты по мере необходимости. Запросы выполняются с помощью синтаксиса, напоминающего JavaScript. Как утверждают разработчики MongoDB, СУБД способна извлекать информацию быстрее, чем реляционные, особенно при запросах на получение несложных наборов данных. MongoDB используется, в частности, в онлайн-сервисах Foursquare, Bit.ly и SourceForge.

Компании Pentaho и MongoDB объявили в сентябре 2013 года об улучшенной интеграции MongoDB с выпущенной 12 сентября платформой Pentaho Business Analytics 5.0. Совместно эти две технологии составляют интерактивное аналитическое решение, удовлетворяющее растущий спрос компаний на инструменты для работы с большими данными, заявил корреспонденту eWeek старший вице-президент по продуктам Pentaho Джейк Корнелиус.

Расширенная гладкая интеграция Pentaho Business Analytics 5.0 и MongoDB обеспечивает аналитические возможности с полной поддержкой Replica Sets, Tag Sets и Read and Write Preferences этого популярного NoSQL хранилища данных. Сочетание Pentaho Business Analytics и MongoDB помогает бизнес-пользователям и разработчиками повысить полезность данных, уменьшить их сложность, ускорить доступ к данным и выполнение запросов.

Благодаря Pentaho можно получить доступ к данным MongoDB, комбинировать их, визуализировать и подготовить отчет с использованием любых других источников данных, необходимых для их углубленного понимания и оперативной аналитики. Упрощено также составление отчетов на основе хранящихся в MongoDB данных. Pentaho обеспечивает автоматическую выборку документов, интерфейс с перетаскиванием объектов мышкой и генерацию схемы, что повышает производительность труда разработчиков.

Помимо этого такая интеграция без ущерба для производительности расширяет функции и возможности MongoDB, такие как Aggregation Framework, Replication и Tag Sets.

Примечания



ПРОЕКТЫ (1) ИНТЕГРАТОРЫ (1) СТАТЬИ (2)
РЕШЕНИЕ НА БАЗЕ (1)


Подрядчики-лидеры по количеству проектов

За всю историю
2014 год
2015 год
2016 год
Текущий год

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2014 год
2015 год
2016 год
Текущий год

  Oracle (80, 185)
  SAP SE (41, 106)
  Microsoft (44, 104)
  PostgreSQL Global Development Group (9, 37)
  IBM (17, 14)
  Другие (220, 85)

  Microsoft (7, 20)
  Oracle (5, 10)
  SAP SE (2, 8)
  Vertica (1, 2)
  Imperva (1, 2)
  Другие (7, 7)

  Oracle (12, 27)
  SAP SE (2, 14)
  Microsoft (3, 9)
  PostgreSQL Global Development Group (1, 8)
  HFLabs (HumanFactorLabs) ХФ Лабс (1, 2)
  Другие (1, 1)

  Oracle (7, 19)
  SAP SE (6, 16)
  PostgreSQL Global Development Group (1, 8)
  Microsoft (3, 7)
  Apache Software Foundation (3, 3)
  Другие (11, 12)

  Oracle (6, 31)
  Microsoft (3, 7)
  PostgreSQL Global Development Group (1, 7)
  Apache Software Foundation (1, 3)
  SAP SE (1, 2)
  Другие (3, 3)

Распределение базовых систем по количеству проектов, включая партнерские решения

За всю историю
2014 год
2015 год
2016 год
Текущий год

  Oracle database - 27 (26, 1)
  PostgreSQL СУБД - 7 (7, 0)
  Microsoft SQL Server - 6 (5, 1)
  Apache Hadoop - 3 (3, 0)
  SAP HANA (High Performance Analytic Appliance) - 2 (2, 0)
  Другие 6
На нашем сайте вы можете прочитать не только о системе MongoDB Баз данных NoSQL-типа класса СУБД, изучить описание характеристик, шаблонов установки, инструкции настройки, руководство и документацию пользователя и администратора, примеры внедрений, стоимость лицензий, отзывы, бесплатно скачать драйвера, узнать о возможности обучения, но также и о других системах класса СУБД.