Pirmā stabilā FerretDB, MongoDB ieviešana, kuras pamatā ir PostgreSQL DBVS, izlaidums

Ir publicēts FerretDB 1.0 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. Versija 1.0 ir atzīmēta kā pirmais stabilais laidiens, kas ir gatavs vispārējai lietošanai. Kods ir rakstīts programmā Go un izplatīts saskaņā ar Apache 2.0 licenci.

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 atbalsta MongoDB iespēju apakškopu, kas visbiežāk tiek izmantotas tipiskās lietojumprogrammās. Nepieciešamība ieviest FerretDB 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 satur diskriminējošu prasību piegādāt saskaņā ar SSPL licenci ne tikai lietojumprogrammas kodu. pati, bet arī visu mākoņpakalpojuma nodrošināšanā iesaistīto komponentu pirmkodi.

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.

Starp izmaiņām FerretDB 1.0:

  • Komandas createIndexes un dropIndexes ir ieviestas, lai kolekcijā izveidotu un dzēstu vienu vai vairākus indeksus.
  • Komanda getMore ir ieviesta, lai parādītu jaunu rezultātu daļu, kas iegūta, izpildot komandas, kas atgriež kursoru, piemēram, atrast un apkopot.
  • Pievienots atbalsts $ summas apkopošanas operatoram, lai aprēķinātu grupas vērtību summu.
  • Pievienots atbalsts operatoriem $limit un $skip, lai ierobežotu dokumentu skaitu un izlaišanu apkopošanas laikā.
  • Pievienots atbalsts $count operatoram dokumentu skaitīšanai apkopošanas laikā.
  • Pievienots atbalsts operatoram $unwind, lai parsētu masīva laukus ienākošajos dokumentos un ģenerētu sarakstu ar atsevišķu dokumentu katram masīva elementam.
  • Pievienots daļējs atbalsts komandām collStats, dbStats un dataSize, lai iegūtu statistiku par kolekciju un datu bāzi, kā arī datu lielumu.

Avots: opennet.ru

Pievieno komentāru