Анонсирован релиз MongoDB 1.6, ориентированной на хранение документов высокопроизводительной и высокомасштабируемой СУБД, занимающую нишу между быстрыми и масштабируемыми системами, оперирующими данными в формате ключ/значение, и реляционными СУБД, функциональными и удобными в формировании запросов. Код MongoDB написан на языке C++ и распространяется в рамках лицензии AGPLv3.
БД поддерживает хранение документов в JSON-подобном формате, имеет достаточно гибкий язык для формирования запросов, может создавать индексы для различных хранимых атрибутов, эффективно обеспечивает хранение больших бинарных объектов, может работать в соответствии с парадигмой Map/Reduce, поддерживает репликацию и построение отказоустойчивых конфигураций.
Основная работа при подготовке версии MongoDB 1.6 была направлена на увеличение масштабируемости. В частности, доведена до готовности к промышленной эксплуатации поддержка шардинга (распределение набора данных по серверам на основе определенного ключа). Комбинируя шардинг с возможностями репликации данных можно построить горизонтально масштабируемый кластер хранения данных, в котором отсутствует единая точка отказа (сбой любого узла не сказывается на работе БД). Расширение кластера или преобразование одного сервера в кластер производится без остановки работы БД простым добавлением новых машин.
Вторым важным улучшением является поддержка наборов реплик (Replica Sets), позволяющих сконфигурировать высокодоступный кластер, поддерживающий автоматическое восстановление после сбоя и перенос нагрузки с вышедшего из строя узла.
Другие изменения:
- Репликация с подтверждением: опция "w" позволяет принудительно распространить изменения на N серверов и только после этого вернуть статус успешного операции.
- При оформлении запросов можно использовать оператор "$or";
- Число индексов/коллекций расширено до 64;
- Проведена работа по увеличению эффективности обработки конкурирующих запросов;
- Добавлен новый оператор $slice;
- Добавлена поддержка UNIX domain-сокетов и IPv6;
- Код C++ клиента теперь поставляется в отдельном архиве.
|