Ukuphehlelelwa kwe inguqulelo entsha yeprojekthi yeFerretDB 1.0, ekuvumela ukuba ubeke endaweni ye-MongoDB ye-DBMS ejolise kuxwebhu nge-PostgreSQL ngaphandle kokwenza naluphi na utshintsho kwikhowudi yakho yesicelo. I-FerretDB iphunyezwe njengomncedisi wommeleli oguqulela iifowuni ze-MongoDB kwimibuzo ye-SQL kwi-PostgreSQL, ekuvumela ukuba usebenzise i-PostgreSQL njengendawo yokugcina.
Inguqulo ye-1.0 iphawulwe njengokhululo lokuqala oluzinzileyo olulungele ukusetyenziswa ngokubanzi. Abaphulaphuli abaphambili beFerretDB ngabasebenzisi abangazisebenzisiyo iimpawu eziphambili zeMongoDB kwizicelo zabo, kodwa bafuna ukusebenzisa isitakhi sesoftware evuleke ngokupheleleyo.
Kwinqanaba layo langoku lophuhliso, I-FerretDB ixhasa iseti esezantsi yeempawu ze-MongoDB ezisetyenziswa kakhulu kwizicelo eziqhelekileyo. Isidingo sokuphumeza i-FerretDB sinokuvela malunga nokutshintshwa kwe-MongoDB kwilayisenisi ye-SSPL engekho simahla, esekelwe kwilayisenisi ye-AGPLv3, kodwa ayingomthombo ovulekileyo, njengoko iqulethe imfuno yocalucalulo yokubonelela phantsi kwelayisensi ye-SSPL kungekuphela nje. ikhowudi yesicelo ngokwayo, kodwa kunye neekhowudi zomthombo wawo wonke amacandelo abandakanyekayo ekuboneleleni ngeenkonzo zefu.
MongoDB ithatha i-niche phakathi kweenkqubo ezikhawulezayo nezikhawulezayo ezisebenza kwisitshixo/idatha yexabiso kunye neeDBMS oovimba beenkcukacha zonxibelelwano ezisebenzayo nezilula ukuzibuza. I-MongoDB ixhasa ukugcinwa kwamaxwebhu kwifomathi efana ne-JSON, inolwimi oluguquguqukayo olufanelekileyo lwemibuzo yokwakha, inokudala izalathisi zeempawu ezahlukeneyo ezigciniweyo, ibonelela ngokufanelekileyo ukugcinwa kwezinto ezibini ezinkulu, ixhasa imisebenzi yokugawulwa kwemithi yokutshintsha kunye nokongeza idatha kwisiseko sedatha, inokusebenza. ngokweMaphu/Nciphisa iparadigm, ixhasa ukuphindaphinda kunye nokwakha ubumbeko bokunyamezela iimpazamo.
Izinto ezintsha eziphambili zeFerretDB 1.0
Kolu guqulelo lutsha luvezwayo, kugxininiswe oko UkudalaIzalathisi kunye nemiyalelo yedropIndexes iphunyeziwe ukwenza kunye nokubeka i-indices enye okanye ngaphezulu kwingqokelela, ukongeza kumyalelo GetMore yaphunyezwa ukubonisa isilayi esitsha sesiphumo esithathiweyo ukusuka ekwenzeni imiyalelo ebuyisela isalathisi, njengokufumana kunye nokudibanisa.
Olunye utshintsho olugqamayo kwinguqulelo entsha inkxaso eyongeziweyo ye-$ sum aggregation operator ukubala isixa samaxabiso eqela, kunye noko kongeziweyo inkxaso ye $ limit kunye ne-$ tsiba abaqhubi ukunciphisa inani kunye nokutsiba amaxwebhu xa ukongeza kwaye inkxaso yomsebenzisi we-$ count yongezwa ukubala amaxwebhu xa udibanisa.
Ukongeza koku, kukwaqatshelwe ukuba inkxaso yomqhubi we-$ unwind yongezwa ukuze uhlalutye imihlaba yoluhlu kumaxwebhu angenayo kwaye wenze uluhlu olunoxwebhu olwahlukileyo lwento nganye yoluhlu kwaye yongeze inkxaso engaphelelanga yemiyalelo collStats , dbStats , kunye nedathaSize ukufumana ingqokelela kunye neenkcukacha zedathabheyisi kunye nobukhulu bedatha.
Ye- Olunye utshintsho olwahlukileyo yenguqulo entsha:
- Izibhali ngoku zisetyenziselwa `uhlobo`, `umda`, `ukutsiba` kunye `noqikelelo`
- ukuxhomekeka kwamaqhuma
- Izincedisi zokuJonga umkhondo
- Uvavanyo olongeziweyo lwengxoxo `yokutsiba` ethi `fumana` kunye `bale
- Vala i-iterator ngokufanelekileyo
- Uphuculo lokuqalisa amanani amakhulu kwidatha yovavanyo
Gqibela ukuba unomdla wokwazi okungakumbi ngayo, ungajonga iinkcukacha Kule khonkco ilandelayo.
Kwabo banomdla kwikhowudi, kufuneka wazi ukuba ibhaliwe kwi-Go kwaye ihanjiswa phantsi kwelayisensi ye-Apache 2.0.
Kwaye bafanele bayazi loo nto eyona ndlela yokuvavanya iFerretDB kukuyiguqula kwaye uyiqhube kumamkeli (Linux, macOS, okanye Windows) enePostgreSQL kunye nezinye izixhomekeke ezisebenza ngaphakathi kwizikhongozeli zeDocker ngeDocker Compose.
Kwi-Linux, idocker kufuneka ifakwe kumamkeli. Kwi-macOS kunye neWindows, i-Docker Desktop kufuneka isetyenziswe, ngelixa kwiWindows, kufuneka iqwalaselwe ukusebenzisa i-WSL 2 ngaphandle kosasazo; yonke imiyalelo kufuneka yenziwe kumamkeli.