Выпуск открытого проекта FerretDB 2.0 — реализации MongoDB на базе СУБД PostgreSQL

5 марта 2025 года состоялся выпуск открытого проекта FerretDB 2.0. Это реализация проприетарной документо-ориентированной MongoDB на базе программного стека, основанного на СУБД PostgreSQL, а также без внесения изменений в код приложений. Исходный код решения написан на языке Go и опубликован на GitHub под лицензией Apache 2.0. Выпуск FerretDB 2.0 отмечен командой проекта как готовый для рабочих внедрений.

По информации OpenNET, основной целевой аудиторией FerretDB являются пользователи MongoDB, желающие использовать полностью открытый программный стек.

Проект FerretDB поддерживает подмножество возможностей MongoDB, наиболее часто применяемых в типовых приложениях. Необходимость внедрения FerretDB может возникнуть в разных проектах в связи с переходом MongoDB на несвободную лицензию SSPL, которая основана на лицензии AGPLv3, но не является открытой, так как содержит дискриминирующее требование поставки под лицензией SSPL не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса.

Решение MongoDB занимает нишу между быстрыми и масштабируемыми системами, оперирующими данными в формате ключ/значение, и реляционными СУБД, функциональными и удобными в формировании запросов.

Проект MongoDB поддерживает хранение документов в JSON‑подобном формате, имеет достаточно гибкий язык для формирования запросов, может создавать индексы для различных хранимых атрибутов, эффективно обеспечивает хранение больших бинарных объектов, поддерживает журналирование операций по изменению и добавлению данных в БД, может работать в соответствии с парадигмой Map/Reduce, поддерживает репликацию и построение отказоустойчивых конфигураций.

Ключевым изменением в версии FerretDB 2.0 является переход на использование DocumentDB, открытого компанией Microsoft дополнения к PostgreSQL, реализующего возможность хранения данных в JSON‑подобном формате BSON (Bin­ary JSON), совместимом с MongoDB. Изначально работа FerretDB сводилась к трансляции обращений к MongoDB в SQL‑запросы к PostgreSQL. Переход на использование DocumentDB позволил более чем в 20 раз повысить производительность FerretDB для некоторых видов нагрузки. Из других новшеств FerretDB 2.0 отмечается улучшение совместимости с MongoDB, возможность репликации и поддержка векторного поиска.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии