Релиз документо-ориентированной СУБД MongoDB 2.6
Представлен релиз ориентированной на хранение документов высокопроизводительной и высокомасштабируемой СУБД MongoDB 2.6, занимающей нишу между быстрыми и масштабируемыми системами, оперирующими данными в формате ключ/значение, и реляционными СУБД, функциональными и удобными в формировании запросов. Код MongoDB написан на языке C++ и распространяется в рамках лицензии AGPLv3. MongoDB поддерживает хранение документов в JSON-подобном формате, имеет достаточно гибкий язык для формирования запросов, может создавать индексы для различных хранимых атрибутов, эффективно обеспечивает хранение больших бинарных объектов, поддерживает журналирование операций по изменению и добавлению данных в БД, может работать в соответствии с парадигмой Map/Reduce, поддерживает репликацию и построение отказоустойчивых конфигураций.
В MongoDB имеются встроенные средства по обеспечению шардинга (распределение набора данных по серверам на основе определенного ключа), комбинируя который репликацией данных можно построить горизонтально масштабируемый кластер хранения, в котором отсутствует единая точка отказа (сбой любого узла не сказывается на работе БД), поддерживается автоматическое восстановление после сбоя и перенос нагрузки с вышедшего из строя узла. Расширение кластера или преобразование одного сервера в кластер производится без остановки работы БД простым добавлением новых машин.
По сравнению с прошлым выпуском в MongoDB 2.6 внесены следующие значительные улучшения:
Полностью переписан движок выполнения запросов с целью увеличения масштабируемости и упрощения сопровождения кодовой базы. Реализована поддержка пересечения индексов, которая стала первым шагом к созданию планировщика сложных запросов. В MongoDB 2.6 также заложены возможности для включения в следующем выпуске значительных улучшений в области обеспечения параллельной обработки запросов и реализации блокировок на уровне отдельных документов; Расширены возможности по агрегированию данных. Реализована возможность возврата результирующих наборов любого размера путем возврата курсора или записи вывода в коллекцию. При обеспечении агрегирования данных теперь допустимо использовать переменные или новые операторы для обработки наборов и редактирвоания данных. Для анализа выполнения операций агрегирования добавлена поддержка оператора explain; Включен по умолчанию механизм поиска текста в документах с использованием специального типа индексов «text», допускающего выполнение поисковых запросов в режиме реального времени с использованием стемминга и токенизации, в том числе для русского языка. Модернизирован формат индекса «text»; Реализация операций добавления (insert) и обновления данных (update) расширена в направлении увеличения непротиворечивости изменённых данных (например, обеспечено сохранение порядка следования полей в документе). При обновлении данных обеспечена возможность использования операторов $bit, $min, $max, $currentDate, $mul; Представлен новый протокол для выполнения операций записи, обеспечивающий более высокую надёжность и предоставляющий улучшенные средства пакетной записи; Для платформы Windows началось формирование пакетов в формате MSI; Расширены возможности сервиса MMS (MongoDB Management Service), направленного на упрощение управления экземплярами MongoDB. В дополнение к ранее доступным средствам мониторинга в MMS добавлены компоненты для организации резервного копирования и отката изменений на определённый момент времени. В будущем ожидается появление интерфейса для для автоматизации управления кластерами, использующими репликацию или шардинг; Добавлена поддержка аутентификации с использованием LDAP, x.509 и Kerberos, что упрощает интеграцию MongoDB в существующие инфраструктуры предприятий, использующих единый механизм аутентификации; Добавлена поддержка TLS-шифрования трафика при выполении операций обновления кластера и при обращении к mongod и mongos. Повышены требования к качеству используемых шифров (минимум 128 бит). По умолчанию отключена возможность обращения к интерфейсу без шифрования по http; Представлена новая модель авторизации, позволяющая создавать собственные роли (User-Defined Roles) и определять привилегии пользователей на уровне доступа к коллекциям. Реализована глобальная система управления пользователями, обеспечивающая хранения всех пользовательских ролей в административной БД и предоставляющая новые команды для управления пользователями и ролями.
© OpenNet