Ukukhishwa kwe- inguqulo 0.10.4 imitapo yolwazi "Libmdbx" sekukonke, ngaphezulu kwezinguquko eziyi-160 ezenziwe kumafayili angama-57, kungezwe imigqa engu-5000 kwasuswa okungu- ~ 2500. Kulabo abangajwayelene ne-libmdbx, kufanele wazi ukuthi lokhu kuyisethi yemitapo yolwazi eyisiqalisi sedatha ehlanganisiwe, esebenza kahle kakhulu esigabeni senani lokhiye.
Ngokomlando, i-libmdbx ukuphinda kusebenze kabusha okujulile kwe-LMDB DBMS futhi idlula owandulelayo ekuthembekeni, kusethi yesici, nasekusebenzeni. Uma kuqhathaniswa ne-LMDB, i-libmdbx igcizelela kakhulu ikhwalithi yekhodi, ukuqina kwe-API, ukuhlolwa, nokuhlolwa okuzenzakalelayo. Insiza yokuqinisekisa ubuqotho besakhiwo semininingwane ihlinzekwa ngezindlela ezithile zokutakula.
Ngokobuchwepheshe, i-libmdbx inikeza i-ACID, ukushintsha okuqinile kwe-serialization, nokungafundi okufundwayo ngokukala okuqondile kuwo wonke ama-cores ye-CPU. Isekela ukuhlanganiswa okuzenzakalelayo, ukulawulwa kosayizi we-database othomathikhi, nokulinganiselwa kombuzo wezinga. Kusukela ngo-2016, amaphrojekthi axhaswe yi-Positive Technologies futhi asetshenziswa kwimikhiqizo yawo kusukela ngo-2017.
Okwe-libmdbx, kunikezwa i-C ++ API, kanye nezibopho ezihambisana neRust, Haskell, Python, NodeJS, Ruby, Go, Nim abathanda. Okwe-libfpta, yincazelo ye-API kuphela esefayilini le-C / C ++ etholakala esidlangalaleni.
Ngaphezu kokusekela i-Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD nezinye izinhlelo ezihambisanayo POSIX.1-2008.
Izici ezintsha eziyinhloko ze-libmdbx 0.10.4
Kule nguqulo entsha ye-libmdbx 0.10.4 onjiniyela basebenze ukuze bakwazi ukunikeza amandla okwakha okudlalekayo, Ngaphezu kwalokho, ukuhlolwa sekwenziwe ngcono futhi imibhalo yokuhlola inwetshiwe ukubheka konke okungafinyeleleka okungezona okwenziwe ngomuthi wamakhasi nokuqukethwe kwe-GC ngaphakathi kwedathabheyisi.
Ku-C ++ API elungiswe kanye "noexcept", ungeze ukulayishwa okwengeziwe kwendlela ye- "cursor :: erase ()", ukuqaliswa kwama-buffers kuyakhululwa ngokusebenzisa i- "std :: string" ukuqinisekisa ukuqondanisa (kwamanje kwe-CLANG libstdc ++)
Ngaphezu kwalokho, kuphinde kuqokonyiswe lokho ukuqinisekiswa okwenziwe ngezigaba kwenziwa ngokungezwa kochungechunge lokuqinisekiswa ukuqinisekisa uzinzo uma kwenzeka kulinyazwe ngamabomu i-database.
Ngakolunye uhlangothi, kuqokonyiswa ukuthi ukuseshwa kwezakhi zomhlanganisi ezidingekayo ku-LTO (ukuxhumanisa isikhathi sokuxhumanisa) kuthuthukisiwe kumibhalo ye-CMake, ngaphezu kwalokho inani elikhulu labafundi abavela ngasikhathi sinye lenyuselwe laba ngama-32.767 futhi nokusebenza kuthuthukisiwe lapho usebenzisa iValgrind ne-AddressSanitizer.
Mayelana nokulungiswa kwamaphutha ezenziwe kule nguqulo entsha, okulandelayo kuyashiwo:
- Kulungiswe isiphazamisi lapho, ezimweni ezingavamile kakhulu, iluphu / ukuphahlazeka kungahle kwenzeke ngenkathi kwenziwa ukuthengiselana. Inkinga ikhonjwe ngochwepheshe bePositive Technologies ngesikhathi sokuhlolwa kwangaphakathi kwemikhiqizo yabo.
- Ukulungiswa okulungisiwe ku-algorithm yokuchitheka kwekhasi elingcolile (ukukhishwa okukhethiwe kwamakhasi wedatha eguquliwe) okuvela ngephutha elingalindelekile le-MDBX_PROBLEM lapho kuguqulwa idatha kwimisebenzi emikhulu.
- I-Fixed minor UndefinedBehaviorSanitizer nezinkinga ze-Coverity Scan.
I-stale engaguquki futhi engasetshenziswanga yokuhlola ifulegi langaphakathi "P_DIRTY" emakhasini afakwe ngaphakathi kwezithombe ezigciniwe ezakhiwe yizinhlobo ezindala zomtapo wezincwadi. - Ukusetshenziswa okulungisiwe kokuphindwayo kwe-SRW-lock ku-Windows lapho usebenza kwimodi ye-MDBX_NOTLS (ngaphandle kokusebenzisa isitoreji sendawo ngentambo), ukukhiqizwa kwe-bootid okungaguquki uma kwenzeka ukushintsha kwesikhathi sohlelo, ukutholwa okuthuthukile kwe-WSL1 ne-WSL2, kungeze amandla okuvula i-database ye-Plan 9 efakwe kusetshenziswa I-DrvFS.
Okokugcina uma unentshisekelo yokwazi kabanzi ngakho mayelana nale nguqulo entsha, ungabheka imininingwane Kulesi sixhumanisi esilandelayo.