Liberigo de FerretDB 0.3, efektivigo de MongoDB bazita sur la PostgreSQL DBMS

La eldono de la projekto FerretDB 0.3 estis publikigita, kiu ebligas al vi anstataŭigi la dokument-orientitan DBMS MongoDB per PostgreSQL sen fari ŝanĝojn al la aplika kodo. FerretDB estas efektivigita kiel prokura servilo, kiu tradukas vokojn al MongoDB en SQL-demandojn al PostgreSQL, kio ebligas al vi uzi PostgreSQL kiel la realan stokadon. La kodo estas skribita en Go kaj distribuita sub la licenco Apache 2.0.

La bezono de migrado povas ekesti lige kun la transiro de MongoDB al la proprieta SSPL-licenco, kiu baziĝas sur la AGPLv3-licenco, sed ne estas malfermita, ĉar ĝi enhavas diskriminacian postulon liveri sub la SSPL-licenco ne nur la aplikaĵokodon mem. , sed ankaŭ la fontkodojn de ĉiuj komponantoj implikitaj en la proviza nuba servo.

La ĉefa celgrupo de FerretDB estas uzantoj, kiuj ne uzas la altnivelajn kapablojn de MongoDB en siaj aplikoj, sed volas uzi tute malfermitan programaron. En la nuna etapo de evoluo, FerretDB ankoraŭ subtenas nur parton de la MongoDB-kapabloj, kiuj plej ofte estas uzataj en tipaj aplikoj. En la estonteco, ili planas atingi plenan kongruon kun ŝoforoj por MongoDB kaj disponigi la kapablon uzi FerretDB kiel travidebla anstataŭaĵo por MongoDB.

MongoDB okupas niĉon inter rapidaj kaj skaleblaj sistemoj, kiuj funkcias per ŝlosilaj/valoraj datumoj kaj interrilataj DBMS-oj, kiuj estas funkciaj kaj facile pridemandi. MongoDB subtenas stokadon de dokumentoj en JSON-simila formato, havas sufiĉe flekseblan lingvon por generi demandojn, povas krei indeksojn por diversaj stokitaj atributoj, efike provizas stokadon de grandaj binaraj objektoj, subtenas registradon de operacioj por ŝanĝi kaj aldoni datumojn al la datumbazo, povas labori laŭ la paradigmo Map/Reduce, subtenas reproduktadon kaj konstruadon de misfunkciaj agordoj.

В выпуске FerretDB 0.3 реализована команда findAndModify изменяющая документ, но возвращающая его первоначальную версию. Реализованы операторы обновления полей — $inc и $set. Добавлена поддержка сортировки скалярных типов данных.

fonto: opennet.ru

Aldoni komenton