
С радостью сообщаем: Microsoft открывает исходный код DocumentDB! Эта инновационная NoSQL СУБД теперь доступна как самостоятельное решение или в виде надстройки для PostgreSQL. Код, написанный на C, уже ждет вас на GitHub под лицензией MIT. DocumentDB поддерживает формат BSON и все основные операции CRUD, обеспечивая гибкость и эффективность.
Открытие исходного кода
Microsoft сделала щедрый подарок сообществу, открыв исходный код DocumentDB на GitHub. Теперь разработчики могут использовать эту мощную платформу как полноценную NoSQL СУБД, основу для кастомизированных систем хранения или расширение PostgreSQL с поддержкой BSON. Решение идеально подходит для облачных приложений, гарантируя предсказуемую производительность, минимальные задержки и богатые возможности запросов.
Технологические преимущества
DocumentDB лежит в основе сервиса Azure Cosmos DB for MongoDB, предлагая совместимость с MongoDB. Движок реализован как надстройка над PostgreSQL и использует бинарный формат BSON для иерархических структур. Помимо стандартных NoSQL-операций, система поддерживает полнотекстовый поиск, работу с векторными данными и геопространственными объектами. Это открывает впечатляющие перспективы для современных приложений!
Уникальная архитектура DocumentDB
В основе проекта DocumentDB лежат два ключевых компонента: расширение к PostgreSQL pg_documentdb_core, которое реализует тип данных BSON и операции для работы с ним, и общедоступный API pg_documentdb, предоставляющий базовые функции для работы с документами BSON, включая обработку запросов и управление индексами.
Первая версия DocumentDB предлагает гибкую поддержку всех операций CRUD (создание, чтение, обновление, удаление), а также различные типы индексов: для отдельных BSON-полей, полнотекстового поиска (эффективно сочетается с RUM), векторные и геопространственные запросы (с совместимостью pg_vector и postgis), наряду с мощными средствами для формирования запросов и агрегации данных в формате BSON.
Заметное увеличение производительности операций с данными — до 30-40% — делает DocumentDB идеальным решением для разработки высокоэффективных, масштабируемых приложений. Открытие исходного кода проекта стало значимым событием для баз данных нового поколения, предоставив разработчикам современный инструмент для построения и управления инновационными системами хранения!
Растущее влияние и открытые альтернативы
Ярким примером растущего внедрения DocumentDB является проект FerretDB. Его цель — создать реализацию СУБД MongoDB на базе PostgreSQL, и теперь он эффективно использует DocumentDB. FerretDB открывает новые возможности, позволяя без изменения кода приложений заменить проприетарную MongoDB на прозрачный и полностью открытый стек на базе PostgreSQL.
FerretDB особенно востребован среди пользователей, ищущих открытые альтернативы в рамках своей функциональности без сложностей расширенного функционала MongoDB.
Популярность решений вроде FerretDB объясняется востребованностью открытых альтернатив после лицензионных изменений MongoDB на SSPL. Эта лицензия требует предоставления в открытом доступе не только кода основного приложения, но и всех компонентов, используемых для предоставления облачного сервиса.
Ранее FerretDB транслировал запросы MongoDB в SQL. Теперь же, начиная с версии 2.0 (кандидата в релизы), он напрямую использует расширение DocumentDB для максимально эффективной поддержки формата BSON, значительно упрощая интеграцию и повышая производительность!
Переход на DocumentDB принес впечатляющий результат: производительность FerretDB для определенных задач выросла более чем в 20 раз! Помимо этого, версия 2.0 порадовала значительными улучшениями: теперь выше совместимость с MongoDB, реализована надежная репликация и современный векторный поиск. Инновационный код FerretDB, написанный на языке Go, доступен всему сообществу под открытой лицензией Apache 2.0.
Благодаря интеграции с DocumentDB, FerretDB демонстрирует фантастический прирост скорости — для специализированных нагрузок эффективность увеличилась в два десятка раз! Другие ключевые новшества релиза 2.0 включают глубокую оптимизацию под MongoDB, внедрение механизмов репликации и быстрого векторного поиска. Проект на языке Go продолжает уверенное развитие и распространяется под свободной лицензией Apache 2.0.
Источник: biz.cnews.ru





