FerretDB 0.3 izlaišana, MongoDB ieviešana, kuras pamatā ir PostgreSQL DBVS

Ir publicēts FerretDB 0.3 projekta izlaidums, kas ļauj aizstāt uz dokumentiem orientēto DBVS MongoDB ar PostgreSQL, neveicot izmaiņas lietojumprogrammas kodā. FerretDB ir ieviests kā starpniekserveris, kas pārvērš MongoDB izsaukumus SQL vaicājumos uz PostgreSQL, kas ļauj izmantot PostgreSQL kā faktisko krātuvi. Kods ir rakstīts programmā Go un izplatīts saskaņā ar Apache 2.0 licenci.

Migrācijas nepieciešamība var rasties saistībā ar MongoDB pāreju uz patentētu SSPL licenci, kas ir balstīta uz AGPLv3 licenci, bet nav atvērta, jo tajā ir ietverta diskriminējoša prasība saskaņā ar SSPL licenci piegādāt ne tikai pašu lietojumprogrammas kodu. , bet arī visu mākoņpakalpojuma nodrošināšanā iesaistīto komponentu pirmkodus.

FerretDB primārā mērķauditorija ir lietotāji, kuri savās lietojumprogrammās neizmanto MongoDB uzlabotās iespējas, bet vēlas izmantot pilnībā atvērtu programmatūras steku. Pašreizējā izstrādes stadijā FerretDB joprojām atbalsta tikai daļu no MongoDB iespējām, kas visbiežāk tiek izmantotas tipiskās lietojumprogrammās. Nākotnē viņi plāno panākt pilnīgu saderību ar MongoDB draiveriem un nodrošināt iespēju izmantot FerretDB kā pārredzamu MongoDB aizstājēju.

MongoDB aizņem nišu starp ātrām un mērogojamām sistēmām, kas darbojas ar atslēgas/vērtības datiem, un relāciju DBVS, kas ir funkcionālas un viegli vaicājamas. MongoDB atbalsta dokumentu glabāšanu JSON līdzīgā formātā, tai ir diezgan elastīga valoda vaicājumu ģenerēšanai, var izveidot indeksus dažādiem saglabātajiem atribūtiem, efektīvi nodrošina lielu bināro objektu uzglabāšanu, atbalsta operāciju reģistrēšanu, lai mainītu un pievienotu datus datu bāzei, var strādāt saskaņā ar paradigmu Map/Reduce, atbalsta replikāciju un defektu izturīgu konfigurāciju izveidi.

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

Avots: opennet.ru

Pievieno komentāru