Ukukhishwa kwe-compact DBMS eshumekiwe libmdbx 0.9.1

Khishiwe inguqulo yelabhulali 0.9.1 libmdbx (MDBX) ukuqaliswa kokusebenza okuphezulu, isizindalwazi senani elingukhiye elihlanganisiwe. Ikhodi ye-libmdbx isatshalaliswa ngaphansi kwelayisensi Ilayisensi Yomphakathi ye-OpenLDAP.

Inguqulo yamanje iwukuyekethisa phakathi kwenhloso yokukhulula inguqulo yesikhathi eside ezinzile engu-1.0 enokusekelwa okugcwele kwe-C++ kanye nokungabaza ukulibazisa ukukhishwa ngenxa yokungalungeli ukufriza i-C++ API entsha. Ukukhishwa okwethulwe kuwumphumela wezinyanga eziyi-9 zomsebenzi okuhloswe ngawo ukuzinzisa umtapo wolwazi kanye nokwenza ngcono ukusebenziseka kwawo, futhi kuhlanganisa nenguqulo yokuqala. I-C++ API.

Umtapo wezincwadi we-libmdbx awuyona nje β€œimfoloko”, kodwa uyinzalo eklanywe kabusha ngokuphelele. I-LMDB - I-DBMS eshumekiwe yokwenziwayo yekilasi elithi "inani lokhiye" elisekelwe isihlahla B+ ngaphandle ukugawula okusebenzayo, okuvumela izinqubo ezinemicu eminingi ukuthi zisebenze ngokuncintisana nangempumelelo ngesizindalwazi esabiwe endaweni (okungeyona eyenethiwekhi) ngaphandle kwenqubo yeseva ezinikele. libmdbx ngokuyisisekelo liyanwebeka amandla okhokho wayo, kuyilapho ngesikhathi esifanayo eqeda noma enciphisa ukuntula okuhle. Ngasikhathi sinye, ngokusho konjiniyela, i-libmdbx ishesha kancane futhi ithembekile kakhulu kune-LMDB.

libmdbx iphakamisa I-ACID, ukwenziwa kwe-serialization okuqinile kwezinguquko nokufunda okungavimbeli ngokukala ngomugqa kuwo wonke ama-CPU cores. Imiphumela yokuhlolwa kokusebenza (ukuthumela izicelo ezihambisanayo zokufunda/zosesho kuchungechunge lwe-1-2-4-8 ku-CPU i7-4600U enamakhora aphathekayo angu-2 kumodi ye-HyperThread enemicu emi-4):

Ukukhishwa kwe-compact DBMS eshumekiwe libmdbx 0.9.1

Umehluko obaluleke kakhulu phakathi kwe-MDBX ne-LMDB:

  • Ngokuyisisekelo, ukunaka okwengeziwe kukhokhelwa ikhwalithi yekhodi, ukungaguquguquki kwe-API, ukuhlola nokuhlola okuzenzakalelayo.
  • Ukulawula okuphawulekayo ngesikhathi sokusebenza, kusukela ekuhloleni imingcele kuya ekucwaningweni kwangaphakathi kwezakhiwo zesizindalwazi.
  • Ukuhlanganisa okuzenzakalelayo kanye nokuphathwa kosayizi wesizindalwazi okuzenzakalelayo.
  • Ifomethi yesizindalwazi esisodwa sama-32-bit kanye namabhithi angama-64.
  • Isilinganiso samavolumu esampula ngobubanzi (isilinganiso sombuzo wobubanzi).
  • Ukusekelwa kokhiye abade ngokuphindwe kabili kanye nosayizi wekhasi lesizindalwazi ongakhethwa ngumsebenzisi.
  • Isisetshenziswa sokuhlola ubuqotho besakhiwo sesizindalwazi esinamandla athile okuthola kabusha.

Amasu amasha kanye nentuthuko ngemuva izindaba ezedlule ngokwethulwa kwenguqulo 0.5 ngoJanuwari 2020:

  • Kudalwe isistimu evulekile yosekelo kanye nezimpendulo zemibuzo. Iqembu leTelegram.
  • Ngaphezu kweshumi nambili amaphutha kanye nokushiyeka kususiwe (bona. ushintsho log).
  • Amaphutha amaningi okuthayipha nesipelingi alungisiwe, futhi kuningi ukuthuthukiswa kwezimonyo okwenziwe.
  • Izimo zokuhlola zinwetshiwe.
  • Usekelo lwe-iOS, i-Android, isakhiwo, musl, uClibc, I-WSL1 ΠΈ Iwayini.
  • Ukubuka kuqala kwe-C++ API kukhishwe ngo ifayela elilodwa likanhlokweni.
  • Amadokhumenti akhelwe ngaphakathi ngefomethi ye-Doxygen kanye nokuzenzakalela Amadokhumenti aku-inthanethi.
  • Ukukhiqizwa okuzenzakalelayo kwezingobo zomlando ezinemibhalo yomthombo ehlanganisiwe kunikeziwe.
  • Ukwesekwa okwengeziwe kokulungiselela okwenziwayo namakhesa, okuqukethwe komsebenzisi kokwenziwe nezikhombisi.
  • Izindlela ezengeziwe zisetshenziswe ukulawula ubuqotho obuyinkomba kuzifinyezo ze-MVCC zesihlahla B+.
  • Ukwesekwa okwengeziwe kokuhlola isifinyezo se-MVCC sesizindalwazi, esifinyeleleka nganoma yiliphi ikhasi le-meta elinamandla okushintsha ukuze alulame.
  • Usekelo olusetshenzisiwe lokuphinda kuvulwe isizindalwazi kusuka kunqubo eyodwa ngezinjongo zokuhlola, njll.
  • Kusetshenziswe ukucutshungulwa okuzenzakalelayo kwenketho ye-MDBX_NOSUBDIR lapho kuvulwa isizindalwazi.
  • Imisebenzi eyengeziwe yokukhiqiza okhiye abayinombolo kusuka kumanani wamaphuzu antantayo kanye nezinombolo "zendawo yonke" ye-JavaScript.
  • Sekukonke, izinguquko ze-430 zenziwa ezithinta amafayela angu-93, imigqa engaphezu kwezinkulungwane ze-25 yengezwe, imigqa engaphezu kwezinkulungwane ze-8.5 isusiwe.

Ukuthuthukiswa okulandelayo kwe-libmdbx kuzogxila ku-C++ API yokugcina, ukuzinza okuqhubekayo kwekhodi yesisekelo, ukuthuthukisa ukusebenziseka komtapo wolwazi, nokupakishwa kokusatshalaliswa kweLinux okudumile. Phakathi kwentuthuko ehlongozwayo, kufanelekile ukuqaphela ukwesekwa kokhiye abakufomethi I-MessagePack.

Source: opennet.ru

Engeza amazwana