Microsoft объявила об открытии исходного кода проекта СУБД DocumentDB
Microsoft объявила об открытии исходного кода своего внутреннего проекта DocumentDB. Это решение можно использовать как отдельную NoSQL СУБД, как платформу для создания собственных систем хранения или как дополнение для хранения данных в формате BSON в СУБД PostgreSQL.
По информации OpenNET и Phoronix, на практике DocumentDB применяется в Microsoft в качестве основы продукта Azure Cosmos DB for MongoDB, предоставляющего интерфейс, совместимый с документо‑ориентированной СУБД MongoDB.
Исходный код проекта DocumentDB написан на языке C и опубликован на GitHub под лицензией MIT. Движок проекта DocumentDB реализован в форме надстройки над СУБД PostgreSQL.
Как и в MongoDB для хранения структурированных документов в DocumentDB задействован JSON‑подобный формат BSON (Binary JSON), позволяющий создавать иерархические структуры, в которых одни документы и массивы могут встраиваться в другие документы и массивы. Ключевым отличием от JSON является использование сериализации данных в бинарное представление. Проект предоставляет как NoSQL‑операции для создания, чтения, обновления и удаления данных в формате BSON, так и API для штатного PostgreSQL (DocumentDB может рассматриваться как вариант PostgreSQL с поддержкой BSON). В DocumentDB могут использоваться возможности полнотекстового поиска, операции над векторными и геопространственными типами данных.
Проект DocumentDB состоит из двух компонентов:
pg_documentdb_core — расширение к PostgreSQL с реализацией типа BSON и операций для работы в PostgreSQL с данными BSON.
pg_documentdb — общедоступный API DocumentDB с базовыми операциями для работы с документами в формате BSON, обработки запросов и управления индексами.
Первый выпуск DocumentDB предоставляет поддержку операций CRUD (создание, чтение, обновление, удаление), индексы для отдельных полей BSON, индексы для полнотекстового поиска (совместимы с RUM), векторные и геопространственные запросы (совместимые с pg_vector и postgis), возможности для формирования запросов и агрегирования данных BSON.
Написать комментарий