Rilaxx ta' DBMS inkorporat ta' prestazzjoni għolja libmdbx 0.11.3

Il-librerija libmdbx 0.11.3 (MDBX) ġiet rilaxxata bl-implimentazzjoni ta 'database ta' valuri ewlenin inkorporati kompatti ta 'prestazzjoni għolja. Il-kodiċi libmdbx huwa liċenzjat taħt il-Liċenzja Pubblika OpenLDAP. Is-sistemi operattivi u l-arkitetturi kollha attwali huma appoġġjati, kif ukoll il-Russu Elbrus 2000. Fl-aħħar tal-2021, libmdbx jintuża bħala backend tal-ħażna fiż-żewġ klijenti Ethereum l-aktar mgħaġġla - Erigon u l-ġdid "Shark", li, skond disponibbli informazzjoni, huwa l-klijent Ethereum bl-ogħla prestazzjoni.

Storikament, libmdbx huwa xogħol mill-ġdid fil-fond tal-LMDB DBMS u huwa superjuri għall-antenat tiegħu fl-affidabbiltà, is-sett ta 'karatteristiċi u l-prestazzjoni. Meta mqabbel ma 'LMDB, libmdbx jagħmel ħafna enfasi fuq il-kwalità tal-kodiċi, l-istabbiltà tal-API, l-ittestjar u l-kontrolli awtomatizzati. Hija fornuta utilità għall-iċċekkjar tal-integrità tal-istruttura tad-database b'xi kapaċitajiet ta' rkupru.

Fir-rigward tat-teknoloġija, libmdbx joffri ACID, serialization ta 'bidla qawwija, u qari li ma jimblukkawx bi skalar lineari fil-qlub tas-CPU. Il-kompattifikazzjoni awtomatika, il-ġestjoni awtomatika tad-daqs tad-database, u l-istima tal-mistoqsija tal-firxa huma appoġġjati. Mill-2016, il-proġett ġie ffinanzjat minn Positive Technologies u ilu jintuża fil-prodotti tiegħu mill-2017.

libmdbx joffri C++ API, kif ukoll rabtiet lingwistiċi appoġġjati minn dilettanti għal Rust, Haskell, Python, NodeJS, Ruby, Go, u Nim.

Innovazzjonijiet, titjib u korrezzjonijiet ewlenin miżjuda mill-aħbarijiet preċedenti fil-11 ta’ Ottubru:

  • L-API C++ hija kkunsidrata lesta għall-użu.
  • L-aġġornament tad-dejta tal-GC meta twettaq tranżazzjonijiet enormi ġie aċċellerat b'mod sinifikanti, li huwa speċjalment importanti meta tuża libmdbx fl-ekosistema Ethereum.
  • Il-firma interna tal-format tad-database nbidlet biex tappoġġja l-aġġornament awtomatiku, li huwa kompletament trasparenti għall-utenti. Dan jippermettilek telimina messaġġi pożittivi foloz dwar il-korruzzjoni tad-databases meta jintużaw verżjonijiet antikwati tal-librerija biex taqra tranżazzjonijiet irreġistrati minn verżjonijiet kurrenti.
  • Funzjonijiet miżjuda mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() u mdbx_env_get_syncbytes(). Appoġġ miżjud għall-operazzjoni MDBX_SET_UPPERBOUND.
  • It-twissijiet kollha meta jinbnew bil-kompilaturi kollha appoġġjati fil-modi C++ 11/14/17/20 ġew eliminati. Il-kompatibbiltà mal-kompilaturi tal-wirt hija żgurata: clang li jibda minn 3.9, gcc li jibda minn 4.8, inkluż l-assemblaġġ bl-użu ta 'cdevtoolset-9 għal CentOS/RHEL 7.
  • Iffissat il-possibbiltà ta 'kunflitt meta paġna wara li manwalment taqleb għal meta paġna speċifika bl-użu tal-utilità mdbx_chk.
  • Irranġa żball MDBX_PROBLEM mhux mistenni li ġie rritornat meta tikteb fuq il-paġni meta wirt.
  • Fissa r-ritorn ta' MDBX_NOTFOUND f'każ ta' taqbila mhux eżatta meta tiġi pproċessata talba MDBX_GET_BOTH.
  • Iffissat żball ta' kumpilazzjoni fuq Linux fin-nuqqas ta' fajls header b'deskrizzjonijiet ta' interfaces mal-kernel.
  • Irranġa kunflitt bejn il-bandiera interna MDBX_SHRINK_ALLOWED u l-għażla MDBX_ACCEDE.
  • Ġew eliminati diversi kontrolli bla bżonn.
  • Ritorn mhux mistenni ffissat ta 'MDBX_RESULT_TRUE mill-funzjoni mdbx_env_set_option().
  • B'kollox, saru aktar minn 90 tibdil f'25 fajl, ġew miżjuda ~ 1300 linja, ~600 tħassru.

Sors: opennet.ru

Żid kumment