Релиз документо-ориентированной СУБД MongoDB 1.8
17 марта 2011 года
Доступен релиз ориентированной на хранение документов высокопроизводительной и высокомасштабируемой СУБД MongoDB 1.8, занимающую нишу между быстрыми и масштабируемыми системами, оперирующими данными в формате ключ/значение, и реляционными СУБД, функциональными и удобными в формировании запросов. Код MongoDB написан на языке C++ и распространяется в рамках лицензии AGPLv3.
MongoDB поддерживает хранение документов в JSON-подобном формате, имеет достаточно гибкий язык для формирования запросов, может создавать индексы для различных хранимых атрибутов, эффективно обеспечивает хранение больших бинарных объектов, может работать в соответствии с парадигмой Map/Reduce, поддерживает репликацию и построение отказоустойчивых конфигураций. В MongoDB имеются встроенные средства по обеспечению шардинга (распределение набора данных по серверам на основе определенного ключа), комбинируя который репликацией данных можно построить горизонтально масштабируемый кластер хранения, в котором отсутствует единая точка отказа (сбой любого узла не сказывается на работе БД), поддерживается автоматическое восстановление после сбоя и перенос нагрузки с вышедшего из строя узла. Расширение кластера или преобразование одного сервера в кластер производится без остановки работы БД простым добавлением новых машин.
Из улучшений, добавленных в новой версии MongoDB, можно отметить:
- Поддержка журналирования операций, приводящих к изменению и добавлению данных в БД, что позволяет кардинально уменьшить время, требуемое на восстановление целостности данных в случае сбоя. Включение журнала производится через опцию "--journal", журнал создается в поддиректории journal в основном каталоге БД. С точки зрения производительности журналирование не влияет на скорость операций чтения, но незначительно замедляет операции записи (в версии 1.8.1 планируется реализовать дополнительные оптимизации для минимизации негативного эффекта);
- Проведена оптимизация производительности выполнения операций шардинга;
- Расширена поддержка передачи наборов реплик (Replica Sets), добавлены функции аутентификации для вовлеченных в процесс репликации серверов;
- Реализован сферический поиск гео-объектов (двухмерные координаты). Например, теперь можно сформировать запрос "найти ближайшие N объектов по отношению к указанным координатам";
- Добавлена поддержка самодостаточных индексов ( covered), обеспечивающих хранение всей необходимой информации, достаточной для вывода результата запроса по проиндексированному полю без обращения к другим структурам данных, только на основании содержимого индекса;
- Добавлена поддержка прореженных ( sparse) индексов, в которых сохраняются документы, в которых имеются поля, по которым производится индексация. Документы в которых не используются отмеченные в индексе поля не сохраняются в индексе, что позволяет значительно сократить размер индекса при индексации редких атрибутов;
- Обеспечена функция самоуплотнения индексов B-tree;
- Добавлены новые опции map/reduce для обеспечения инкрементальных обновлений;
- В управляющей командной оболочке добавлена функция автодополнения при нажатии клавиши "табуляция";
- В утилите mongostat реализована опция "--discover" для поиска всех подсоединенных серверов.
Источники
[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.