The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск FerretDB 0.7, реализации MongoDB на базе СУБД PostgreSQL

05.12.2022 18:11

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

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

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

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

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

  • Реализована диагностическая команда msg_explain, необходимая для платформы Tigris.
  • В команду listCollections добавлена поддержка фильтров (опция "filter").
  • Разрешено использование символа "-" в именах БД.
  • Увеличено число параметров, поддерживаемых в команде find.
  • В пакет wire с реализацией протокола "wire" (протокол для взаимодействия с MongoDB) добавлена возможность проверки документов. Минимально поддерживаемая версия протокола wire снижена до 13, что соответствует MongoDB 5.0.


  1. Главная ссылка к новости (https://github.com/FerretDB/Fe...)
  2. OpenNews: Проект MangoDB развивает реализацию протокола СУБД MongoDB поверх PostgreSQL
  3. OpenNews: Релиз СУБД PostgreSQL 15
  4. OpenNews: Используемая проектом MongoDB лицензия SSPL признана недопустимой в Fedora Linux
  5. OpenNews: Доступна документо-ориентированная СУБД MongoDB 6.0
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/58267-ferretdb
Ключевые слова: ferretdb, postgresql, mongodb
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (9) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, pashev.ru (?), 19:41, 05/12/2022 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • +1 +/
     
     
  • 2.6, Олег (??), 21:00, 05/12/2022 Скрыто модератором
  • +/
     

  • 1.10, Аноним (10), 22:32, 05/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Как бэкенд там плоские sql таблицы с jsonb полями для хранения документов я так понимаю?

    Агрегационные пайплайны как они переложили в расширения SQL для работы с jsob постгрессовые интересно...

     
  • 1.12, Golangdev (?), 01:17, 06/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Потребность миграции может возникнуть в связи с переходом MongoDB на несвободную лицензию SSPL

    Ответственно заявляю, что не может.

    Потому что ни один нормальный Ынтырпрайз не будет использовать это насадку на Постгрес, чтобы получить монгу.

    У Постгреса есть какая-никакая поддержка Жсона, не такая как у Монги, но её, внезапно, хватает в 99% случаев.

    Интырпрайзы скорее подождут, когда в Постгрю заедут патчи по Жсону, нещадно выпиленные в 15beta4: https://www.postgresql.org/about/news/postgresql-15-beta-4-released-2507/
    > The SQL/JSON features proposed for this release have been removed.

     
     
  • 2.17, Аноним (17), 10:33, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если у энтерпрайза есть кластер постгре, но нет монги, он без проблем адаптер в кубере развернет, чтобы запустить какой-нибудь сервис, требующий монгу. Отсутствие монги по лицензионным причинам - вполне возможный сценарий.
     
  • 2.19, лютый жабби.... (?), 20:43, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >У Постгреса есть какая-никакая поддержка Жсона, не такая как у Монги

    которая ещё не появилась? а у монга уже лет 5-7 как конфетка. не убеждаю, ты мне безразличен. просто смешно. хотя фанатики слона они такие

     
     
  • 3.20, Golangdev (?), 00:56, 07/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    продолжайте, ваши доводы очень ценны (как и мои)
     

  • 1.16, Аноним (16), 09:49, 06/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Нормально. Вангую дальше произойдет отказ от постгри и вот вам новая ДБ.
     
     
  • 2.18, Alex (??), 11:58, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так это же не база как таковая, а клиент для PG который эмулирует работу с MongoDB
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру