mō te whakamātautau i te kaitono tukunga whare pukapuka tuarua me te whakatinanatanga o tētahi pātengi raraunga uara-matua mahi-teitei, kiato, kua whakauruhia. Ko te putanga o nāianei (0.5) he tukunga tiaki, e tohu ana i te otinga o ngā whakapainga katoa me te whakawhiti ki te wāhanga whakamātautau whakamutunga me te whakaū a te marea, ā, whai muri ko te hanganga o te tukunga katoa tuatahi o te whare pukapuka. Ko te waehere libmdbx i raro i te Raihana Tūmatanui OpenLDAP.
He marau kua tuhia anōtia te whare pukapuka MDBX o — DBMS whakaurunga tauwhitinga o te karaehe "matua-uara" i runga kaore , e āhei ai ngā tukanga miro maha ki te mahi tahi me te whai hua me tētahi pātengi raraunga ā-rohe (ehara i te whatunga). Ko te MDBX, i tētahi atu ringa, he tere ake, he pono ake i te LMDB, me te pupuri tonu i ngā āhuatanga matua katoa o tōna mua, pērā i me te pānui kore-ārai me te tauine rārangi puta noa i ngā 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 putanga o te libmdbx i puta mai i te whakataunga o Ākuhata 2019 kia wehea ngā kaupapa MDBX me MithrilDB. I roto i te libmdbx, ko te whāinga kia whakakorea te nama hangarau e taea ana, kia pumau ai te whare pukapuka. Inaa, e rua, e toru rānei ngā wā kua nui ake ngā mahi kua oti i tēnei huarahi i tērā i whakaarohia me te whakamaheretia i te tīmatanga:
- Kua whakatinanahia te tautoko macOS me ngā tūāpapa tuarua: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. Ka taea te tāpiri tautoko mō AIX me HP-UX mēnā e hiahiatia ana.
- I horoia te waehere mā te whakamahi i te Undefined Behavior Sanitizer me te Address Sanitizer, i whakakorea ngā whakatūpato katoa i te wā i hangaia ai me te "-Wpedantic", me ngā whakatūpato katoa o te Coverity Static Analyzer, me ētahi atu.
- Whakahou .
- Te whakakotahitanga o te waehere pūtake hei whakangāwari i 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).
- Te tatau whārangi kua whakahoutia/tawhito mai i te tīmatanga ki te mutunga, me ngā mōhiohio tauwhitinga kua whakawhānuihia.
- Kōwhiringa MDBX_ACCEDE mō te tūhono ki tētahi pātengi raraunga kua tuwhera i roto i te aratau hototahi.
- Whakamahia ina watea.
- Purua wera i roto i te paipa.
- He raupaparorohiko whakarōpū ā-roto kua arotauhia (tae atu ki te 2-3 ngā wā tere atu i te "qsort()" me te tae atu ki 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 aroturuki i ngā pūnaha kōnae kore-ā-rohe (NFS, Samba, me ētahi atu) hei ārai i te pirau o te pātengi raraunga nā te whakamahinga hē.
- Kua whakawhānuihia te huinga o nga whakamatautau.
Ko te whakawhanaketanga o te putanga "panuku" o libmdbx ka haere tonu hei kaupapa motuhake , 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 Raihana Apache 2.0, ehara ).
- Mā te wehewehe ka ārai i te whakapoauau pea, ka mārama ake, ā, ka whakarite hoki i ngā ara whanaketanga motuhake mō ngā kaupapa.
Ko te MithrilDB, penei i te MDBX, kei runga ano 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 mō te whakatakotoranga i ngā pātengi raraunga ki ngā momo pāpāho rerekē: HDD, SSD, me te mahara kore-hurihuri.
- Ngā rautaki tino pai mō ngā raraunga "uara nui" me te "uara iti", mō ngā raraunga "wera", "mahana" me te "mātao".
- Te whakamahi i te rākau Merkle hei aroturuki i te pono o te pātengi raraunga.
- He kōwhiringa te whakamahi i te WAL me te mahi nui ake i roto i ngā horopaki tuhi-nui me ngā taurangi pono o te pono o ngā raraunga.
- He mangere te hopu raraunga i runga i ngā kōpae.
Source: opennet.ru
