Ukukhishwa kokuqala okuzinzile kwe-FerretDB, ukuqaliswa kwe-MongoDB okusekelwe ku-PostgreSQL DBMS

Ukukhishwa kwephrojekthi ye-FerretDB 1.0 kushicilelwe, okukuvumela ukuthi umiselele i-DBMS MongoDB egxile kumadokhumenti ufake i-PostgreSQL ngaphandle kokwenza izinguquko kukhodi yesicelo. I-FerretDB isetshenziswa njengeseva elibamba ehumusha izingcingo eziya ku-MongoDB zibe imibuzo ye-SQL ku-PostgreSQL, ekuvumela ukuthi usebenzise i-PostgreSQL njengendawo yokulondoloza yangempela. Inguqulo engu-1.0 imakwe njengokukhululwa kokuqala okuzinzile okulungele ukusetshenziswa okuvamile. Ikhodi ibhalwe ku-Go futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0.

Izithameli eziyinhloko ze-FerretDB abasebenzisi abangazisebenzisi izici ezithuthukile ze-MongoDB ezinhlelweni zabo zokusebenza, kodwa abafuna ukusebenzisa isitaki sesofthiwe esivuleke ngokuphelele. Esigabeni sayo samanje sokuthuthuka, i-FerretDB isekela isethi engaphansi yezici ze-MongoDB ezisetshenziswa kakhulu ezinhlelweni ezijwayelekile. Isidingo sokusebenzisa i-FerretDB singase siphakame mayelana nokushintshwa kwe-MongoDB kuya kwelayisense ye-SSPL engakhululekile, esekelwe kulayisensi ye-AGPLv3, kodwa engavuliwe, njengoba iqukethe imfuneko ebandlululayo yokuhlinzeka ngaphansi kwelayisensi ye-SSPL hhayi kuphela ikhodi yohlelo lokusebenza ngokwayo, kodwa futhi namakhodi omthombo azo zonke izingxenye ezihilelekile ekuhlinzekweni kwezinsizakalo zamafu.

I-MongoDB ithatha i-niche phakathi kwezinhlelo ezisheshayo nezinwebekayo ezisebenza kudatha yokhiye/inani kanye nama-DBMS ahlobene asebenzayo futhi okulula ukuwabuza. I-MongoDB isekela ukugcinwa kwamadokhumenti ngefomethi efana ne-JSON, inolimi oluvumelana nezimo ukuze ikhiqize imibuzo, ingakha izinkomba zezici ezihlukahlukene ezigciniwe, inikeze ngokuyimpumelelo isitoreji sezinto ezinkulu kanambambili, isekela ukugawulwa kwemisebenzi ukushintsha nokwengeza idatha kusizindalwazi, sebenza ngokuhambisana ne-paradigm Map/Nciphisa, isekela ukuphindaphinda nokwakha ukucushwa okubekezelela amaphutha.

Phakathi kwezinguquko ku-FerretDB 1.0:

  • I-createIndexes esetshenzisiwe kanye nemiyalo ye-dropIndexes yokudala nokudedela inkomba eyodwa noma ngaphezulu eqoqweni.
  • Umyalo we-getMore usetshenziswe ukuze kuboniswe ingxenye entsha yomphumela otholwe ekusebenziseni imiyalo ebuyisela ikhesa, njengokuthola nokuhlanganisa.
  • Kwengezwe usekelo lwe-$sum aggregation operator ukuze kubalwe isamba samanani eqembu.
  • Kwengezwe usekelo lomkhawulo ongu-$ kanye nama-opharetha eqa ukuze akhawulele inombolo futhi weqe amadokhumenti lapho ehlanganisa.
  • Kwengezwe usekelo lwe-opharetha ye-$count yokubala amadokhumenti lapho ihlanganiswa.
  • Kwengezwe ukusekelwa kokuthi u-opharetha we-$unwind ahlaziye izinkambu zamalungu afanayo kumadokhumenti angenayo futhi enze uhlu olunedokhumenti ehlukile yento ngayinye yamalungu afanayo.
  • Kwengezwe ukusekelwa okungaphelele kwe-collStats, i-dbStats kanye nemiyalo yosayizi wedatha ukuze uthole izibalo zokuqoqwa nesizindalwazi kanye nosayizi wedatha.

Source: opennet.ru

Engeza amazwana