Ko te kaitono tuku tuarua mo te libmdbx v1.0 i muri i te rima tau o te whanaketanga.

whare pukapuka libmdbx he uri kua tino whakahiatotia ano o LMDB - he tino mahi teitei, kiato te papaunga uara matua kua mau.
Ko te putanga o naianei v0.5 he tuku hangarau, e tohu ana i te otinga o nga whakapainga katoa me te whakawhiti ki te wahanga o te whakamatautau whakamutunga a te iwi me te whakapumautanga, me te hanganga o muri mai o te tukunga katoa o te whare pukapuka.

LMDB he DBMS uara-matua kua tino mohiotia mo te tauwhitinga i runga rakau B+ kaore te raakau totika, ka taea e te tini o nga tukanga miro-maha ki te mahi whakataetae me te tino pai ki te taha o te rohe (ehara i te whatunga). Ka huri, he tere ake, he pono ake te MDBX i a LMDB, i te mea kei te pupuri a libmdbx i nga ahuatanga matua katoa o tona tupuna, penei i te ACID me nga panui kore-aukati me te tauine raina puta noa i nga matua CPU, me te taapiri i etahi mea hou.

Ko te whakamaarama mo nga rereketanga me nga whakapainga o te libmdbx e pa ana ki te LMDB e tika ana mo tetahi tuhinga motuhake (kua whakamaheretia kia whakaputaina ki runga i te Habré me te Waenga). I konei he mea tika ki te whakahua i nga mea tino nui me te kitea:

  • 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 i te rahi o te tauira 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 ko te hua o te whakatau (tirohia i raro nei) ki te wehe i nga kaupapa MDBX me MithrilDB i te marama o Akuhata 2019. I te wa ano, ka whakatau a libmdbx ki te whakakore i te nama hangarau teitei (whakaaro) 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 Mac OS 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 te -Wpedantic, i whakakorehia nga whakatupato katoa a Coverity Static Analyzer, me etahi atu.
  • Whakahou Whakaahuatanga API.
  • Whakakotahitanga o te waehere puna kia ngawari te whakauru.
  • Tautoko CMake.
  • Tautoko mo nga whakawhitinga kohanga.
  • Ma te whakamahi i te bootid ki te whakatau mena kua whakaara ano te OS (ka mutu te patengi raraunga paru).
  • Tatau mutunga-ki-mutunga o nga wharangi kua whakahoutia/tawhito me nga korero whakawhitinga whakawhitinga.
  • Kōwhiringa MDBX_ACCEDE mō te tūhono ki tētahi pātengi raraunga kua tuwhera i roto i te aratau hototahi.
  • Whakamahia OFD aukati ina watea.
  • Purua wera i roto i te paipa.
  • Ko te algorithm whakaemi a-roto kua tino arotau (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.0a kaore OpenLDAP Foundation).
  • Ko te wehenga ka karo i te rangirua pea, ka nui ake te mohio, me te whakarite kia whai huarahi motuhake nga kaupapa ki mua.

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 nga raraunga "wera", "mahana" me te "makariri".
  • te whakamahi i te rakau Merkle ki te aro turuki i te pono o te putunga raraunga.
  • te whakamahi whiriwhiringa o te WAL me te tino mahi teitei ake i roto i nga ahuatanga tuhi-kaha me nga taurangi pono o nga raraunga.
  • He mangere te whakatika i nga raraunga i runga i nga kōpae.

Source: linux.org.ru

Tāpiri i te kōrero