Проект MangoDB развивает реализацию протокола СУБД MongoDB поверх PostgreSQL

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

Программа работает в форме прокси, транслирующего обращения к MangoDB в SQL-запросы к PostgreSQL, используя PostgreSQL в качестве фактического хранилища. Проект совместим с драйверами для MongoDB, но пока находится на стадии прототипа и не поддерживает расширенные возможности протокола MongoDB, хотя уже пригоден для перевода простых приложений.

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

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

Release. Ссылка here.