FerretDB 1.0 уже выпущен, и это его новости

ФерретДБ

FerretDB была основана, чтобы стать де-факто заменой MongoDB с открытым исходным кодом.

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

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

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

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

Основные новинки FerretDB 1.0

В представленной новой версии подчеркивается, что реализованы команды createIndexes и dropIndexes для создания и размещения одного или нескольких индексов в коллекции в дополнение к команде getMore был реализован для отображения нового фрагмента полученного результата. от выполнения команд, возвращающих курсор, таких как find и add.

Еще одно из изменений, которое выделяется из новой версии добавлена ​​поддержка оператора агрегации $sum для вычисления суммы групповых значений, а также того, что было добавлено поддержка операторов $limit и $skip для ограничения количества и пропуска документов при добавлении, а также добавлена ​​поддержка оператора $count для подсчета документов при добавлении.

В дополнение к этому также отмечается, что добавлена ​​поддержка оператора $unwind для разбора полей массива во входящих документах и ​​формирования списка с отдельным документом для каждого элемента массива, а также добавлена ​​частичная поддержка команд collStats, dbStats и dataSize для получения статистики коллекции и базы данных, а также размера данных.

Из другие изменения, которые выделяются новой версии:

  • Итераторы теперь используются для сортировки, ограничения, пропуска и проекции.
  • бамп зависимости
  • Усовершенствования отслеживания ресурсов
  • Добавлены тесты для аргумента «пропустить» функций «найти» и «подсчитать».
  • Правильно закрыть итератор
  • Улучшения инициализации больших чисел в тестовых данных

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности По следующей ссылке.

Тем, кто интересуется кодом, следует знать, что он написан на Go и распространяется под лицензией Apache 2.0.

И они должны знать, что лучший способ протестировать FerretDB — изменить ее и запустить на хосте. (Linux, macOS или Windows) с PostgreSQL и другими зависимостями, работающими внутри контейнеров Docker через Docker Compose.

В Linux докер должен быть установлен на хосте. В macOS и Windows необходимо использовать Docker Desktop, а в Windows его необходимо настроить для использования WSL 2 без какого-либо распространения; все команды должны выполняться на хосте.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.