ערשטער סטאַביל מעלדונג פון FerretDB, MongoDB ימפּלאַמענטיישאַן באזירט אויף 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 אַקיאַפּייז אַ נישע צווישן שנעל און סקאַלאַבלע סיסטעמען וואָס אַרבעטן אויף שליסל / ווערט דאַטן און ריליישאַנאַל דבמס וואָס זענען פאַנגקשאַנאַל און גרינג צו אָנפרעג. MongoDB שטיצט סטאָרינג דאָקומענטן אין אַ JSON-ווי פֿאָרמאַט, האט אַ פערלי פלעקסאַבאַל שפּראַך פֿאַר דזשענערייטינג פֿראגן, קענען שאַפֿן ינדעקסיז פֿאַר פאַרשידן סטאָרד אַטראַביוץ, יפישאַנטלי גיט סטאָרידזש פון גרויס ביינערי אַבדזשעקץ, שטיצט לאָגינג פון אַפּעריישאַנז צו טוישן און לייגן דאַטן צו די דאַטאַבייס. אַרבעט אין לויט מיט די פּאַראַדיגם מאַפּע / רעדוסע, שטיצט רעפּלאַקיישאַן און בויען שולד-טאָלעראַנט קאַנפיגיעריישאַנז.

צווישן די ענדערונגען אין FerretDB 1.0:

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

מקור: opennet.ru

לייגן אַ באַמערקונג