I-MangoDB yenziwe yesimanje manje ishintshela ku-FerretDB

Muva njes izinsuku kumenyezelwe izindaba zokwethulwa kwephrojekthi FerretDB, (owayekade eyi-MangoDB), ekuvumela ukuthi umiselele i-DBMS egxile kumadokhumenti ye-MongoDB ufake i-PostgreSQL ngaphandle kokwenza izinguquko kukhodi yakho yesicelo.

I-FerretDB isetshenziswa njengeseva elibamba ehumusha izingcingo eziya ku-MongoDB ziyise imibuzo ye-SQL ku-PostgreSQL, okukuvumela ukuthi usebenzise i-PostgreSQL njengendawo yokulondoloza yangempela.

I-FerretDB (eyayiyi-MangoDB) yasungulwa ukuze ibe umthombo ovulekile we-MongoDB. I-FerretDB iwumthombo ovulekile wommeleli oguqula imibuzo ye-MongoDB wire protocol ibe yi-SQL, isebenzisa i-PostgreSQL njengenjini yolwazi.

Isidingo sokufuduka singase siphakame ngenxa yokushintshwa kwe-MongoDB iye elayisensini ye-SSPL engakhululekile, esekelwe kulayisensi ye-AGPLv3, kodwa engeyona umthombo ovulekile, njengoba iqukethe imfuneko ebandlululayo yokuhlinzeka ngaphansi kwelayisensi ye-SSPL hhayi isicelo kuphela. yekhodi ngokwayo, kodwa futhi namakhodi omthombo azo zonke izingxenye ezihilelekile ekunikezeni isevisi yamafu.

Izithameli eziqondiswe ku-FerretDB abasebenzisi abangazisebenzisi izici ezithuthukile ze-MongoDB ezinhlelweni zabo, kodwa bafuna ukusebenzisa isitaki sesofthiwe esivuleke ngokuphelele.

Esigabeni samanje sokuthuthuka, i-FerretDB isasekela kuphela ingxenye yezici ze-MongoDB esetshenziswa kakhulu ezinhlelweni ezijwayelekile. Ngokuzayo, bahlela ukuzuza ukwesekwa okuphelele kwabashayeli be-MongoDB futhi banikeze amandla okusebenzisa i-FerretDB njengokumiselela okusobala kwe-MongoDB.

Kufanele kukhunjulwe lokho I-MongoDB ithatha i-niche phakathi kwezinhlelo ezisheshayo nezingakalayo esebenza kudatha ngefomethi yokhiye/inani, kanye ne-DBMS ehlobene, esebenzayo futhi elula ekukhiqizeni imibuzo.

Abasebenzisi abaningi be-MongoDB abazidingi izici ezithuthukile ezinikezwa yi-MongoDB; kodwa-ke, badinga isisombululo sesizindalwazi esivulekile sokusebenzisa umthombo ovulekile. Ngokubona lokhu, iFerretDB ilapha ukuze igcwalise leso sikhala.

I-MongoDB isekela ukugcinwa kwamadokhumenti ngefomethi efana ne-JSON, inolimi oluvumelana nezimo ngendlela efanele ukuze ikhiqize imibuzo, ingakha izinkomba zezibaluli ezihlukahlukene ezigciniwe, inikeza isitoreji esisebenzayo kanambambili sento enkulu, sekela ukuloga kwemisebenzi ukuze uguqule futhi wengeze idatha ku-database, ingasebenza ngokuya nge-paradigm ye-Map/Nciphisa, isekela ukuphindaphinda kanye nokwakhiwa kokucushwa okubekezelela amaphutha.

Ekukhishweni kwe-FerretDB 0.1.0 kuphawulwe ukuthi iklanywe kabusha ngokuphelele indlela idatha ye-PostgreSQL ebuyiselwa ngayo. Ngaphambilini, esicelweni ngasinye se-MongoDB esingenayo, umbuzo we-SQL kuya ku-PostgreSQL wawukhiqizwa, kusetshenziswa imisebenzi ukusebenza ngefomethi ye-JSON nokuhlunga imiphumela ohlangothini lwe-PostgreSQL.

Ngenxa yomehluko ku-semantics ye-PostgreSQL kanye nemisebenzi ye-MongoDB json, kwaba khona ukuphambana ekuziphatheni lapho uqhathanisa futhi uhlela izinhlobo ezahlukene. Ukuze kuxazululwe le nkinga, isampula yedatha engasasebenzi manje isikhishiwe ku-PostgreSQL futhi ukuhlungwa komphumela kwenziwa ohlangothini lwe-FerretDB, okwenze kwaba nokwenzeka ukuphinda ukuziphatha kwe-MongoDB ezimeni eziningi.

Intengo yokuhambisana okwenyukile kwakuyinhlawulo yokusebenza, okulindeleke ukuthi ekukhishweni okuzayo kuxazululwe ngokuhlunga okukhethiwe ohlangothini lwe-FerretDB lwemibuzo kuphela okukhona ukwehluka kokuziphatha.

Isibonelo, umbuzo othi "db.collection.find({_id: 'some-id-value'})" ungacutshungulwa ngokugcwele ku-PostgreSQL. Umgomo oyinhloko wephrojekthi kulesi sigaba sokuthuthuka ukuzuza ukusebenzisana ne-MongoDB, futhi ukusebenza kusahlehliselwe ngemuva.

Ezinguqukweni zokusebenza enguqulweni entsha, kukhona usekelo lwabo bonke opharetha be-bitwise, u-opharetha we-"$e" wokuqhathanisa, kanye nama-opharetha we-"$elemMatch" kanye ne-"$bitsAllClear".

Okokugcina kulabo abanentshisekelo yokwazi kabanzi ngalo, kufanele bazi ukuthi ikhodi ibhalwe ku-Go futhi isakazwa ngaphansi kwelayisensi ye-Apache 2.0 kanye ungabheka ikhodi yayo kusixhumanisi esilandelayo.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Unomthwalo wemfanelo ngedatha: AB Internet Networks 2008 SL
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.