ProHoster > Блог > rongo ipurangi > I muri i nga tau e rima o te whakawhanaketanga, kua whakaputaina te kaitono tuku tuarua libmdbx 1.0
I muri i nga tau e rima o te whakawhanaketanga, kua whakaputaina te kaitono tuku tuarua libmdbx 1.0
Wātea mo te whakamatautau i te kaitono tuarua mo nga whakaputanga whare pukapuka libmdbx me te whakatinanatanga o te putunga uara-uara-uara-mahi-mahi teitei. Ko te putanga o naianei (0.5) he whakaputanga hangarau, e tohu ana i te otinga o nga whakapainga me te whakawhiti ki te waahanga o te whakamatautau whakamutunga me te whakapumautanga o te iwi, me te hanganga o muri o te tukunga katoa o te whare pukapuka. waehere libmdbx tohaina e kua raihanatia i raro i te OpenLDAP Public License.
Ko te whare pukapuka MDBX he marau kua tino whakahoutia mai i LMDB — DBMS whakaurunga tauwhitinga o te karaehe "matua-uara" i runga rakau B+ kaore te raakau totika, e tuku ana i nga tukanga miro-maha ki te mahi whakataetae me te whai hua me te putunga korero (ehara i te whatunga). Ka huri, he tere ake, he pono ake te MDBX i a LMDB, i taua wa ka mau tonu nga ahuatanga matua katoa o tona tupuna, penei ACID me nga panui kore-aukati me te tauine raina puta noa i nga matua CPU.
Ko nga rereketanga tino nui i waenga i te MDBX me te LMDB:
Ko te tikanga, ka nui ake te aro ki te kounga o te waehere, te whakamatautau me te arowhai aunoa.
He nui ake te mana whakahaere i te wa e mahi ana, mai i te tirotiro i nga tawhā tae atu ki te arotake o roto o nga hanganga putunga raraunga.
Whakakotahi-aunoa me te whakahaere rahinga raraunga aunoa.
He whakatakotoranga raraunga kotahi mo nga huihuinga 32-bit me 64-bit.
Te whakatau tata o nga tauira pukapuka ma nga awhe (whakatau tata uiui awhe).
Tautoko mo nga taviri e rua te rahi ake i te panekeke me te rahi o te wharangi papaa raraunga ka taea e te kaiwhakamahi te whiriwhiri.
Ko te kaitono tuku libmdbx te hua o te whakatau i mahia i te marama o Akuhata 2019 ki te wehe i nga kaupapa MDBX me MithrilDB. I te wa ano, ka whakatau a libmdbx ki te whakakore i te nama hangarau (whakaaro) teitei me te whakapumau i te whare pukapuka. Inaa, 2-3 nga wa nui atu i mahia i roto i te huarahi kua whakaritea i te mea i whakatauhia i te tuatahi me te whakamahere:
Kua whakatinanahia te tautoko mo te macOS me te taumata tuarua: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. Ka taea te taapiri AIX me te tautoko HP-UX ina hiahiatia.
I whakakorehia te waehere ma te whakamahi i te Undefined Behavior Sanitizer me te Address Sanitizer, nga whakatupato katoa i te wa e hanga ana me "-Wpedantic", i whakakorehia nga whakatupato katoa a Coverity Static Analyzer, me etahi atu.
He pai ake te arotau i te algorithm o roto (tae atu ki te 2-3 wa tere ake i te "qsort()" me te 30% tere atu i te "std:: sort()").
Kua piki ake te roanga o te matua.
Te whakahaere aunoa mo te panui i mua (rautaki keteroki konae raraunga kei roto i te mahara).
He kaha ake, he tere ake te whakakotahi-aunoa.
He rautaki pai ake mo te hanumi i nga wharangi rakau B+.
Te whakahaere i nga punaha konae-kore-rohe (NFS, Samba, me etahi atu) hei aukati i te pakaru o te paataka korero mena ka he te whakamahi.
Kua whakawhānuihia te huinga o nga whakamatautau.
Ko te whakawhanaketanga o te putanga "panuku" o libmdbx ka haere tonu hei kaupapa motuhake MithrilDB, i te mea ko te waahanga whanaketanga o te putanga "naianei" o MDBX e whai ana ki te whakatio i te huinga ahuatanga me te whakapumau. I whakatauhia tenei whakatau mo nga take e toru:
Tino hotokore: Me hiahia a MithrilDB i tetahi whakatakotoranga konae raraunga (hotokore) me tetahi API rereke (hotokore) hei whakatinana i nga ahuatanga kua whakamaheretia.
Waehere puna hou: Ko te waehere puna MithrilDB kua raihanatia motuhake mai i LMDB, a ko te kaupapa ake kua whakaritea kia whakaputaina i raro i tetahi raihana rereke (kua whakaaetia e OR KI TE KORE Raihana Apache 2.0, ehara OpenLDAP Public Raihana).
Ko te wehenga ka karo i te rangirua pea, ka whakamohio ake i te tino tuturu me te whakarite huarahi motuhake mo nga kaupapa.
Ko te MithrilDB, penei i te MDBX, kei runga ano rakau B+ a ka whakaatu hoki i nga mahi tino nui, i te whakakore i te maha o nga ngoikoretanga taketake o MDBX me LMDB. Ina koa, ko te raruraru o te "panui roa", e whakaatu ana i a ia ano he "pupuhi" o te putunga korero na te mea ka aukatihia te tukatuka paru e nga whakawhitinga panui roa, ka whakakorehia. Ko nga ahuatanga hou o MithrilDB kei roto:
Tautoko mo te whakatakoto i te papaaarangi ki runga i te maha o nga purongo rereke: HDD, SSD me te mahara kore-kore.
Nga rautaki tino pai mo te "wariu" me te "iti-uara", mo te raraunga "wera", "mahana" me te "makariri".
Te whakamahi i te rakau Merkle ki te aro turuki i te tapatahi o te putunga raraunga.
Ko te whakamahi i te WAL me te tino whakapai ake i nga mahi i roto i nga ahuatanga tuhi-kaha me nga taurangi pono o te raraunga.