Emasontweni athile edlule sabelana lapha kubhulogi izindaba ezimayelana ukushintsha igama lephrojekthi ye-MangoDB okukuvumela ukuthi umiselele i-DBMS egxile kumadokhumenti ye-MongoDB ufake i-PostgreSQL ngaphandle kokwenza izinguquko kukhodi yakho yesicelo.
Igama lephrojekthi entsha yi-FerretDB futhi muva nje ukukhishwa kwenguqulo 0.3 yephrojekthi kumenyezelwe. Inguqulo ye-FerretDB 0.3 yethula umyalo othi findAndModify, oshintsha idokhumenti kodwa ubuyisele inguqulo yawo yasekuqaleni, kanye nama-opharetha okuvuselela inkambu, phakathi kwezinye izinto.
Kulabo abangakayazi i-FerretDB, kufanele ukwazi lokho lokhu kusetshenziswa njengeseva elibamba ehumusha izingcingo ku-MongoDB zibe imibuzo ye-SQL ku-PostgreSQL, okukuvumela ukuthi usebenzise i-PostgreSQL njengesitoreji sangempela.
Isidingo sokufuduka 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 isicelo kuphela. ikhodi ngokwayo, kodwa futhi namakhodi omthombo azo zonke izingxenye ezihilelekile ekunikezeni isevisi yamafu.
Izithameli eziyinhloko ze-FerretDB abasebenzisi abangazisebenzisi izici ezithuthukile ye-MongoDB ezinhlelweni zabo, kodwa bafuna ukusebenzisa isitaki sesofthiwe esivuleke ngokuphelele.
Esigabeni samanje sentuthuko, 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.
I-MongoDB ithatha indawo ephakathi kwezinhlelo ezisheshayo nezinwebekayo ezisebenza kudatha yokhiye/inani kanye nama-DBMS ahlobene asebenzayo futhi kulula ukuwabuza.
I-MongoDB isekela ukugcinwa kwamadokhumenti ngefomethi efana ne-JSON, inolimi oluvumelana nezimo ukuze ikhiqize imibuzo, ingakha izinkomba zezici ezihlukahlukene ezigciniwe, inikeza isitoreji esiphumelelayo sezinto ezinkulu ezimbambili, isekela ukugawulwa kwemisebenzi ukuze uguqule futhi wengeze idatha kusizindalwazi, it. ingasebenza ngokuya nge-paradigm ye-Map/Nciphisa, isekela ukuphindaphinda kanye nokwakhiwa kokucushwa okubekezelela amaphutha.
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.
Amanoveli amakhulu weFerretDB 0.3
Njengoba kushiwo ekuqaleni, inguqulo entsha ye-FerretDB 0.3 igqamile ukwethula i findAndModify umyalo, eshintsha idokhumenti, kodwa ibuyisele inguqulo yayo yoqobo.
Ezinye izinguquko ezigqamayo yilezo ukuphathwa kukaziro okungekuhle kwenziwe ngcono, kanye nokusekelwa koku-oda izinhlobo zedatha ye-scalar yengeziwe.
Okunye okugqanyisiwe kukhona ama-opharetha wokubuyekeza inkambu entsha afakiwe: $inc kanye ne-$set, kanye nokusekelwa koku-oda izinhlobo zedatha ye-scalar kwengeziwe.
Ngakolunye uhlangothi, kushiwo ukuthi kwenziwe ukuthuthukiswa okuhlukahlukene ekuphatheni izinguqulo ze-PostgreSQL ne-MongoDB.
Ngaphandle kwalokho, kuphinde kuqashelwe ukuthi ukuhlolwa okungalungile komqhubi we-$ mod kulungisiwe, nokuthi ukuhlolwa kukhishwa kuwo wonke amasistimu wokusebenza we-ARM64 nokuthi ukubonakala okwengeziwe kwengezwe kumazinga okuloga ngephutha lomzila/ummeleli.
Kwezinye izinguquko okuvelele kule nguqulo entsha:
- Buyekeza CODEOWNERS
- Vumelanisa izilawuli ze-dummy kanye pg
- Qamba kabusha i-OP_*constant ukuze i-OpCode*constant
- Thuthukisa i-gopkg.in/yaml.v3
- Bump gopkg.in/yaml.v3 kumathuluzi
- Yenza Uhlobo Lwendlela
- Ukwethuka ngamavelu e-oda angalindelekile
- Engeza amanye amazwana emisebenzini nasekuguquguqukeni
- Susa ikhodi efile
Okokugcina uma unentshisekelo yokwazi kabanzi ngakho, ungabheka imininingwane Kulesi sixhumanisi esilandelayo.