FerretDB 0.3 чыгаруу, PostgreSQL DBMS негизинде MongoDB ишке ашыруу

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

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

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

MongoDB тез жана масштабдуу системалардын ортосунда орун ээлейт, алар негизги/нарк маалыматтарында жана функционалдык жана суроого оңой болгон реляциялык DBMS'лерде иштейт. MongoDB документтерди JSON форматында сактоону колдойт, суроо-талаптарды түзүү үчүн кыйла ийкемдүү тилге ээ, ар кандай сакталган атрибуттар үчүн индекстерди түзө алат, чоң бинардык объекттердин сакталышын эффективдүү камсыздайт, маалымат базасына маалыматтарды өзгөртүү жана кошуу операцияларын каттоону колдойт, мүмкүн Карта/Кыскартуу парадигмасына ылайык иштөө, репликациялоону жана катага чыдамдуу конфигурацияларды курууну колдойт.

В выпуске FerretDB 0.3 реализована команда findAndModify изменяющая документ, но возвращающая его первоначальную версию. Реализованы операторы обновления полей — $inc и $set. Добавлена поддержка сортировки скалярных типов данных.

Source: opennet.ru

Комментарий кошуу