Taorian'ny dimy taona nisian'ny fampandrosoana dia navoaka ny kandidà faharoa libmdbx 1.0

Available ho an'ny fitsapana ny kandidà faharoa amin'ny famoahana tranomboky libmdbx miaraka amin'ny fampiharana ny angon-drakitra manan-danja manan-danja voarakitra avo lenta. Ny dikan-teny ankehitriny (0.5) dia famoahana ara-teknika, manamarika ny fahavitan'ny fanatsarana rehetra sy ny fifindrana mankany amin'ny dingan'ny fitiliana sy ny fanamafisana farany ho an'ny daholobe, miaraka amin'ny fananganana manaraka ny famoahana feno voalohany ny tranomboky. libmdbx code nozarain'i nahazo alalana tamin'ny alàlan'ny OpenLDAP Public License.

Ny tranomboky MDBX dia fork nohavaozina be avy amin'ny LMDB - transactional embedded DBMS amin'ny kilasy "key-value" mifototra amin'ny hazo B+ tsy misy logging proactive, izay ahafahan'ny dingana maromaro misy kofehy miasa amin'ny fifaninanana sy mahomby miaraka amin'ny angon-drakitra (fa tsy tambajotra). Ho setrin'izany, ny MDBX dia haingana kokoa sy azo itokisana kokoa noho ny LMDB, ary miaraka amin'izay koa dia mitazona ny endri-javatra fototra rehetra an'ny razambeny, toy ny asidra ary mamaky tsy manakana miaraka amin'ny scaling linear manerana ny cores CPU.

Ny fahasamihafana lehibe indrindra eo amin'ny MDBX sy LMDB:

  • Amin'ny ankapobeny, mifantoka bebe kokoa amin'ny kalitao kaody, fitsapana ary fisavana mandeha ho azy.
  • Fanaraha-maso bebe kokoa mandritra ny fampandehanana, manomboka amin'ny fanaraha-maso ireo masontsivana mankany amin'ny fanaraha-maso anatiny ny rafitra angon-drakitra.
  • Auto-compactification sy automatique ny fitantanana ny haben'ny database.
  • Rafitra tahiry tokana ho an'ny fivoriambe 32-bit sy 64-bit.
  • Tombanana ny habetsaky ny santionany amin'ny salan'isa (tombantombanan'ny antontan'isa).
  • Fanohanana fanalahidy avo roa heny noho ny pancakes sy ny haben'ny pejin'ny angon-drakitra azo safidin'ny mpampiasa.

Ny kandidà famoahana libmdbx dia vokatry ny fanapahan-kevitra noraisina tamin'ny Aogositra 2019 hanasaraka ny tetikasa MDBX sy MithrilDB. Nandritra izany fotoana izany, nanapa-kevitra ny libmdbx ny hanafoana ny trosa ara-teknika ambony indrindra (ara-dalàna) ary hampitony ny tranomboky. Raha ny marina, 2-3 heny no vita tamin'ny lalana voatondro noho ny novinavinaina sy nomanina voalohany:

  • Napetraka ny fanohanana ny macOS sy ny sehatra faharoa: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. Azo ampiana ny fanohanana AIX sy HP-UX raha ilaina.
  • Ny kaody dia nodiovina tamin'ny fampiasana Undefined Behavior Sanitizer sy Address Sanitizer, ny fampitandremana rehetra rehefa manorina amin'ny "-Wpedantic", dia nesorina avokoa ny fampitandremana Coverity Static Analyzer, sns.
  • vaovao farany Famaritana API.
  • Fampifangaroana (fampifangaroana) ny kaody loharano ho fanamorana ny fampidirana.
  • Fanohanana CMake.
  • Fanohanana amin'ny fifampiraharaham-barotra.
  • Mampiasa bootid hamaritana raha niverina indray ny OS (fijanonana ny angon-drakitra maloto).
  • Fanisana farany amin'ny pejy nohavaozina/taloha sy fampahafantarana momba ny fifanakalozana.
  • Safidy MDBX_ACCEDE hampifandraisana amin'ny angon-drakitra efa misokatra amin'ny fomba mifanaraka.
  • ny fampiasana ny OFD fanakanana rehefa misy.
  • Backup mafana amin'ny fantsona.
  • Algorithm fanasokajiana anatiny manokana (hatramin'ny 2-3 heny haingana kokoa noho ny "qsort ()" ary hatramin'ny 30% haingana kokoa noho ny "std:: sort ()").
  • Nitombo ny halavan'ny fanalahidy ambony indrindra.
  • Fanaraha-maso mandeha ho azy amin'ny famakiana mialoha (paikady fitehirizana rakitra tahiry ao anaty fitadidiana).
  • Mahery vaika kokoa sy haingana kokoa ny auto-compactification.
  • Paikady tsara indrindra amin'ny fampifangaroana pejy hazo B+.
  • Fanaraha-maso ny rafi-drakitra tsy eo an-toerana (NFS, Samba, sns) mba hisorohana ny fahasimban'ny angon-drakitra raha toa ka diso ny fampiasana azy.
  • Nitarina ny andiana fitsapana.

Hitohy ho tetikasa mitokana ny fampivoarana ny dikan-teny "manaraka" an'ny libmdbx MithrilDB, raha toa kosa ny vector fampiroboroboana ny dikan-teny "ankehitriny" an'ny MDBX dia mikendry ny hanamaivana ny endri-javatra napetraka sy ny fanamafisana azy. Izany fanapahan-kevitra izany dia natao noho ny antony telo:

  • Tsy mifanaraka tanteraka: MithrilDB dia mitaky endrika rakitra angon-drakitra hafa (tsy mifanaraka) ary API hafa (tsy mifanaraka) mba hampiharana ireo endri-javatra nomanina rehetra.
  • Kaody loharano vaovao: Ny kaody loharano MithrilDB dia natao nahazo alalana tsy miankina amin'ny LMDB, ary ny tetikasa mihitsy dia nokasaina havoaka amin'ny alàlan'ny fahazoan-dàlana hafa (ankatoavin'ny NA RAHA Apache 2.0 lisansa, tsy OpenLDAP Public License).
  • Ny fisarahana dia misoroka ny mety ho fisafotofotoana, manome antoka bebe kokoa ary miantoka ny lalana mahaleo tena ho an'ny tetikasa.

MithrilDB, toa ny MDBX, dia mifototra amin'ny hazo B+ ary hanasongadina fampisehoana avo dia avo ihany koa, ary hanafoana ny tsy fahampiana fototra maromaro amin'ny MDBX sy LMDB. Indrindra indrindra, hofoanana ny olan'ny "mamaky lava be", izay miseho ho "fivontosana" amin'ny angon-drakitra noho ny zava-misy fa sakanan'ny fifampiraharahana amin'ny famakiana lava be ny fanodinana fako. Ny endri-javatra vaovao MithrilDB dia misy:

  • Fanohanana ny fametrahana ny angon-drakitra amin'ny haino aman-jery maro samihafa: HDD, SSD ary fahatsiarovana tsy miovaova.
  • Paikady tsara indrindra ho an'ny "sarobidy" sy "ambany sanda", ho an'ny angona "mafana", "mafana" ary "mangatsiaka".
  • Mampiasa hazo Merkle hanaraha-maso ny fahamarinan'ny angona.
  • Fampiasana WAL azo ampiasaina ary fampandehanana mihatsara kokoa amin'ny toe-javatra manoratra mafonja miaraka amin'ny antoka ny fahamarinan'ny angona.
  • Malaina misambotra-up manao angona amin'ny kapila.

Source: opennet.ru

Add a comment