Первый стабильный выпуск FerretDB, реализации MongoDB на базе СУБД PostgreSQL

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3261
Зарегистрирован: 20.08.2022

#

Первый стабильный выпуск FerretDB, реализации MongoDB на базе СУБД PostgreSQL
Дата публикации:Tue, 04 Apr 2023 12:25:44 +0300




Опубликован выпуск проекта FerretDB 1.0, позволяющего заменить документо-ориентированную СУБД MongoDB на PostgreSQL без внесения изменений в код приложений. FerretDB реализован как прокси-сервер, транслирующий обращения к MongoDB в SQL-запросы к PostgreSQL, что позволяет использовать PostgreSQL в качестве фактического хранилища. Версия 1.0 отмечена как первый стабильный выпуск, готовый для повсеместного использования. Код написан на языке Go и распространяется под лицензией Apache 2.0.




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





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



Среди изменений в FerretDB 1.0:
  • Реализованы команды createIndexes и dropIndexes для создания и удаления одного или нескольких индексов к коллекции.

    Реализована команда getMore для вывода новой порции результата, полученного при выполнении команд, возвращающих курсор, таких как find и aggregate.
    Добавлена поддержка агрегирующего оператора $sum для вычисления суммы значений группы.

    Добавлена поддержка операторов $limit и $skip для ограничения числа и пропуска документов при агрегировании.
    Добавлена поддержка оператора $count для подсчёта документов при агрегировании.
    Добавлена поддержка оператора $unwind для разбора полей массива во входящих документах и формирования списка с отдельным документом для каждого элемента массива.

    Добавлена частичная поддержка команд collStats, dbStats и dataSize для получения статистики о коллекции и БД, а также размере данных.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=58915

Жизнь за Нер'зула!

Ответить