ProHoster > Blog > netfréttir > Eftir fimm ára þróun hefur annar libmdbx 1.0 útgáfuframbjóðandinn verið birtur
Eftir fimm ára þróun hefur annar libmdbx 1.0 útgáfuframbjóðandinn verið birtur
Laus fyrir prófun á öðrum umsækjanda fyrir útgáfur bókasafna libmdbx með innleiðingu á afkastamiklum, þéttum innbyggðum lykilgildagagnagrunni. Núverandi útgáfa (0.5) er tæknileg útgáfa, markar lok allra endurbóta og umskipti yfir í áfanga opinberrar lokaprófunar og stöðugleika, með síðari myndun fyrstu fullu útgáfu bókasafnsins. libmdbx kóða dreift af leyfi samkvæmt OpenLDAP Public License.
MDBX bókasafnið er verulega endurskoðaður gaffli frá LMDB — innbyggð DBMS í viðskiptum af „lykilgildi“ flokki byggt á tré B+ без fyrirbyggjandi skógarhögg, sem gerir fjölþráðum ferlum kleift að vinna samkeppnishæft og skilvirkt með staðbundnum (ekki net) gagnagrunni. MDBX er aftur á móti hraðvirkara og áreiðanlegra en LMDB og heldur um leið öllum lykileinkennum forföður síns, s.s. ACID og óblokkandi lestur með línulegri mælikvarða yfir CPU kjarna.
Mikilvægasti munurinn á MDBX og LMDB:
Í grundvallaratriðum er meiri athygli beint að gæðum kóðans, prófunum og sjálfvirkum athugunum.
Verulega meira eftirlit meðan á rekstri stendur, allt frá því að athuga færibreytur til innri endurskoðunar á gagnagrunnsbyggingum.
Sjálfvirk þétting og sjálfvirk stjórnun gagnagrunnsstærðar.
Eitt gagnagrunnssnið fyrir 32-bita og 64-bita samsetningar.
Mat á magni sýna eftir sviðum (mat á sviðsfyrirspurn).
Stuðningur við tvöfalt stærri lykla en pönnukökur og gagnagrunnssíðustærð sem notandi getur valið.
Útgáfuframbjóðandinn libmdbx er afleiðing ákvörðunar sem tekin var í ágúst 2019 um að aðskilja MDBX og MithrilDB verkefnin. Á sama tíma ákvað libmdbx að útrýma (skynsamlegri) hámarks tækniskuldum og koma á stöðugleika í safninu. Reyndar hefur 2-3 sinnum meira verið gert í tilgreinda átt en upphaflega var áætlað og áætlað:
Stuðningur við macOS og annars stigs vettvang hefur verið innleiddur: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. AIX og HP-UX stuðningi er hægt að bæta við eftir þörfum.
Kóðinn var sótthreinsaður með því að nota Undefined Behaviour Sanitizer og Address Sanitizer, allar viðvaranir þegar byggt var með „-Wpedantic“, allar viðvaranir Coverity Static Analyzer o.s.frv.
Sérhæft fínstillt innra flokkunaralgrím (allt að 2-3 sinnum hraðar en „qsort()“ og allt að 30% hraðar en „std::sort()“).
Hámarkslengd lykla hefur verið aukin.
Sjálfvirk stjórn á lestri á undan (skyndiminni gagnagrunnsskráa í minni).
Árásargjarnari og hraðari sjálfvirk þétting.
Ákjósanlegri aðferð til að sameina B+ trésíður.
Stjórn á skráarkerfum sem ekki eru staðbundin (NFS, Samba o.s.frv.) til að koma í veg fyrir skemmdir á gagnagrunni ef þær eru notaðar á rangan hátt.
Prófasettið hefur verið stækkað.
Þróun á „næstu“ útgáfu af libmdbx mun halda áfram sem sérstakt verkefni MithrilDB, en þróunarvektor „núverandi“ útgáfu af MDBX miðar að því að frysta eiginleikasettið og koma á stöðugleika í því. Þessi ákvörðun var tekin af þremur ástæðum:
Algerlega ósamrýmanlegt: MithrilDB krefst annars (ósamrýmanlegs) gagnagrunnsskráarsniðs og annars (ósamrýmanlegs) API til að innleiða alla fyrirhugaða eiginleika.
Nýr frumkóði: MithrilDB frumkóði hefur verið gerður óháður LMDB og verkefnið sjálft er fyrirhugað að birta undir öðru leyfi (samþykkt af EÐA EF Apache 2.0 leyfi, ekki OpenLDAP almenningsleyfi).
Aðskilnaðurinn kemur í veg fyrir hugsanlegan rugling, kynnir meiri vissu og tryggir sjálfstæða leið fyrir verkefni.
MithrilDB, eins og MDBX, er einnig byggt á tré B+ og mun einnig hafa afar mikil afköst, en útrýma ýmsum grundvallargöllum MDBX og LMDB. Sérstaklega verður eytt vandamálinu við „langa lestur“, sem lýsir sér sem „bólga“ í gagnagrunninum vegna þess að sorpvinnsla er læst með löngum lestri. Nýir MithrilDB eiginleikar innihalda:
Stuðningur við að setja gagnagrunninn á nokkra ólíka miðla: HDD, SSD og óstöðugt minni.
Ákjósanlegar aðferðir fyrir „verðmæt“ og „lítil“ gögn fyrir „heitt“, „heitt“ og „kaldt“ gögn.
Notkun Merkle tré til að fylgjast með heilleika gagnagrunns.
Valfrjáls notkun á WAL og verulega bætt afköst í skriffrekum atburðarásum með tryggingu gagnaheilleika.