Ukukhutshwa kokuqala okuzinzile kweFerretDB, ukuphunyezwa kweMongoDB ngokusekelwe kwi-PostgreSQL DBMS

Ukukhutshwa kweprojekthi ye-FerretDB 1.0 ishicilelwe, ekuvumela ukuba utshintshe i-DBMS MongoDB ejoliswe kuxwebhu nge-PostgreSQL ngaphandle kokwenza utshintsho kwikhowudi yesicelo. I-FerretDB iphunyezwe njengomncedisi wommeleli oguqulela iifowuni kwi-MongoDB kwimibuzo ye-SQL kwi-PostgreSQL, ekuvumela ukuba usebenzise i-PostgreSQL njengendawo yokugcina. Inguqulo ye-1.0 iphawulwe njengokhululo lokuqala oluzinzileyo olulungele ukusetyenziswa ngokubanzi. Ikhowudi ibhalwe kwi-Go kwaye isasazwe phantsi kwelayisensi ye-Apache 2.0.

Abona baphulaphuli kujoliswe kubo beFerretDB ngabasebenzisi abangasebenzisi iimpawu eziphambili zeMongoDB kwizicelo zabo, kodwa bafuna ukusebenzisa istaki sesoftware evuleke ngokupheleleyo. Kwinqanaba layo langoku lophuhliso, iFerretDB ixhasa iseti esezantsi yeempawu zeMongoDB eziqhele ukusetyenziswa kwizicelo eziqhelekileyo. Isidingo sokuphumeza i-FerretDB sinokuvela ngokunxulumene nokutshintshwa kwe-MongoDB ukuya kwilayisenisi ye-SSPL engahlawulelwayo, esekelwe kwilayisensi ye-AGPLv3, kodwa ayivulwanga, kuba iqulethe imfuneko yocalucalulo yokubonelela phantsi kwelayisensi ye-SSPL kungekuphela nje ikhowudi yesicelo ngokwayo, kodwa kunye neekhowudi zomthombo wawo onke amacandelo abandakanyekayo ekuboneleleni ngeenkonzo zefu.

I-MongoDB ithatha i-niche phakathi kweenkqubo ezikhawulezayo kunye nezikhawulezayo ezisebenza kwiinkcukacha eziphambili / zexabiso kunye nee-DBMS ezihambelanayo ezisebenzayo kwaye kulula ukuzibuza. I-MongoDB ixhasa ukugcinwa kwamaxwebhu kwifomathi efana ne-JSON, inolwimi oluguquguqukayo ngokufanelekileyo lokuvelisa imibuzo, inokudala izalathisi zeempawu ezahlukeneyo ezigciniweyo, ibonelela ngokufanelekileyo ukugcinwa kwezinto ezinkulu zokubini, ixhasa ukuloga kwemisebenzi ukutshintsha kunye nokongeza idatha kwisiseko sedatha sebenza ngokuhambelana neparadigm Imephu / Nciphisa, ixhasa ukuphindaphinda kunye nokwakha ulungelelwaniso olunyamezelayo.

Phakathi kotshintsho kwiFerretDB 1.0:

  • Izalathiso eziphunyeziweyo kunye nemiyalelo yedropIndexes yokudala kunye nokulahla izalathisi enye okanye ngaphezulu kwingqokelela.
  • Umyalelo we getMore uphunyeziwe ukubonisa inxalenye entsha yesiphumo esifunyenwe ekuphumezeni imiyalelo ebuyisela ikhesa, njengokufumana kunye nokuhlanganisa.
  • Inkxaso eyongeziweyo ye-$ sum aggregation operator ukubala isixa samaxabiso eqela.
  • Inkxaso eyongeziweyo kumda we-$ kunye ne-$ tsiba abaqhubi ukukhawulela inani kunye nokutsiba amaxwebhu xa udibanisa.
  • Inkxaso eyongeziweyo yomqhubi we-$ count yokubala amaxwebhu xa ehlanganisa.
  • Inkxaso eyongeziweyo ye $unwind umqhubi wokwahlulahlula imihlaba yoluhlu kumaxwebhu angenayo kwaye wenze uluhlu olunoxwebhu olwahlukileyo lwento nganye yoluhlu.
  • Inkxaso engaphelelanga eyongeziweyo ye-collStats, i-dbStats kunye nemiyalelo yedathaSize ukufumana ingqokelela kunye neenkcukacha zedathabheyisi kunye nobukhulu bedatha.

umthombo: opennet.ru

Yongeza izimvo