Éischt stabil Verëffentlechung vu FerretDB, MongoDB Implementatioun baséiert op PostgreSQL DBMS

Опубликован выпуск проекта 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 besetzt eng Nisch tëscht schnellen a skalierbare Systemer déi op Schlëssel / Wäertdaten a relational DBMSs funktionnéieren déi funktionell an einfach ze froen. MongoDB ënnerstëtzt d'Späichere vun Dokumenter an engem JSON-ähnlechen Format, huet eng zimlech flexibel Sprooch fir Ufroen ze generéieren, kann Indexe fir verschidde gespäichert Attributer erstellen, effizient Späichere vu grousse binären Objeten, ënnerstëtzt Logbicher vun Operatiounen fir Daten an d'Datebank z'änneren an ze addéieren. schafft am Aklang mat dem Paradigma Map / Reduzéiert, ënnerstëtzt Replikatioun a bauen Feeler-tolerant Konfiguratiounen.

Среди изменений в FerretDB 1.0:

  • Реализованы команды createIndexes и dropIndexes для создания и удаления одного или нескольких индексов к коллекции.
  • Реализована команда getMore для вывода новой порции результата, полученного при выполнении команд, возвращающих курсор, таких как find и aggregate.
  • Добавлена поддержка агрегирующего оператора $sum для вычисления суммы значений группы.
  • Добавлена поддержка операторов $limit и $skip для ограничения числа и пропуска документов при агрегировании.
  • Добавлена поддержка оператора $count для подсчёта документов при агрегировании.
  • Добавлена поддержка оператора $unwind для разбора полей массива во входящих документах и формирования списка с отдельным документом для каждого элемента массива.
  • Добавлена частичная поддержка команд collStats, dbStats и dataSize для получения статистики о коллекции и БД, а также размере данных.

Source: opennet.ru

Setzt e Commentaire