Lëshimi i bazës së të dhënave të integruara kompakte libmdbx 0.9.1

Lëshuar versioni 0.9.1 i librarisë libmdbx (MDBX) me implementimin e një baze të dhënash të integruar me performancë të lartë dhe kompakte në klasën çelës-vlerë. Kodi libmdbx shpërndahet nën licencën Licenca Publike OpenLDAP.

Versioni aktual është një kompromis mes intentionit për të lëshuar një version të qëndrueshëm afatgjatë 1.0 me mbështetje të plotë për C++ dhe dëshirës për të mos vonuar lëshimet për shkak të paqartësive në lidhje me ngrirjen e API-së së re C++. Ky lëshim është rezultati i 9 muajve punë të drejtuar për stabilizimin e bibliotekës dhe rritjen e lehtësisë së përdorimit të saj, si dhe përfshin një version paraprak API-së C++.

Biblioteka libmdbx nuk Ă«shtĂ« thjesht njĂ« "fork", por njĂ« pasardhĂ«s i risosur thellĂ«sisht LMDB — njĂ« DBMS tĂ« integruar nĂ« transaksion nĂ« klasĂ«n çelĂ«s-vlerĂ«, e bazuar nĂ« pemĂ«n B+ pa dhe regjistrimin e parandalimit, e cila lejon procese shumĂ«fishe tĂ« punojnĂ« nĂ« mĂ«nyrĂ« efektive dhe konkurruese me njĂ« BD tĂ« ndarĂ« lokalisht (jo rrjet) pa njĂ« proces serveri tĂ« dedikuar. Libmdbx thekson shkallĂ«zon mundĂ«sitĂ« e paraardhĂ«sit tĂ« saj, duke nxjerrĂ« gjithashtu, ose zbutur disavantazhet. NĂ« kĂ«tĂ« mĂ«nyrĂ«, sipas besimit tĂ« zhvilluesve, libmdbx Ă«shtĂ« pak mĂ« i shpejtĂ« dhe ndjeshĂ«m mĂ« i besueshĂ«m se LMDB.

libmdbx ofron ACID, serilizimi të rreptë të ndryshimeve dhe leximi jo-bllokues me shkallëzim linear sipas katrorëve CPU. Rezultatet e testimeve të performancës (dërgimi i kërkesave paralele për lexim/kerkim në 1-2-4-8 ferma në CPU i7-4600U me 2 bërthama fizike në modin 4-threads HyperThread):

Lëshimi i bazës së të dhënave të integruara kompakte libmdbx 0.9.1

Dallimet më të rëndësishme të MDBX në krahasim me LMDB:

  • MĂ« shumĂ« vĂ«mendje i kushtohet cilĂ«sisĂ« sĂ« kodit, ‘pa rĂ«nie’ API, testimit dhe kontrollit automatike.
  • Kontrolli Ă«shtĂ« dukshĂ«m mĂ« i madh gjatĂ« punĂ«s, duke filluar nga verifikimi i parametrave deri te auditimi i brendshĂ«m i strukturave tĂ« bazĂ«s sĂ« tĂ« dhĂ«nave.
  • Kompaktifikimi automatik dhe menaxhimi automatik i madhĂ«sisĂ« sĂ« DB.
  • Formati i vetĂ«m i DB pĂ«r pĂ«rmbledhjet 32-bit dhe 64-bit.
  • VlerĂ«simi i volumit tĂ« mostrave sipas intervaleve (vlerĂ«simi i pyetjeve nĂ« interval).
  • MbĂ«shtetje pĂ«r çelĂ«sat me gjatĂ«si dyfish mĂ« tĂ« madhe dhe madhĂ«sinĂ« e faqes sĂ« DB tĂ« zgjedhur nga pĂ«rdoruesi.
  • Utiliti pĂ«r kontrolle tĂ« integritetit tĂ« strukturĂ«s sĂ« DB me disa mundĂ«si rikuperimi.

Novitetet kryesore dhe përmirësimet pas lajmit të mëparshëm me prezantimin e versions 0.5 në janar 2020:

  • PĂ«r mbĂ«shtetje tĂ« menjĂ«hershme dhe pĂ«rgjigje pĂ«r pyetje, Ă«shtĂ« krijuar njĂ« grup i hapur nĂ« Telegram.
  • JanĂ« eliminuar mĂ« shumĂ« se njĂ«zet gabime dhe papĂ«rsosmĂ«ri (shih. historikun tonĂ«).
  • JanĂ« korrigjuar shumĂ« gabime shkronjash dhe drejtshkrimi, pĂ«rmirĂ«sime tĂ« shumta estetike.
  • JanĂ« zgjeruar skenarĂ«t e testeve.
  • Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r iOS, Android, buildroot, Musl, uClibc, WSL1 dhe Wine.
  • Ă«shtĂ« prezantuar njĂ« version i parazgjedhur i API C++ nĂ« nĂ« njĂ« skedar titulli.
  • Dokumentacioni i integruar Ă«shtĂ« formatuar nĂ« Doxygen dhe gjenerimi automatik Dokumentacioni Online.
  • Sigurohet formimi automatik i arkivave me tekste burimore tĂ« amalgamuara.
  • Shtohet mbĂ«shtetje pĂ«r pĂ«rgatitjen e transaksioneve dhe kursoreve, konteksteve pĂ«rdoruesish pĂ«r transaksione dhe kursore.
  • Implementohen metoda tĂ« tjera pĂ«r kontrollin e integritetit referencial nĂ« snapshot-et MVCC tĂ« B+tree.
  • Shtohet mbĂ«shtetje pĂ«r verifikimin e snapshot-it MVCC tĂ« DB, i disponueshĂ«m pĂ«rmes çdo faqeje meta me mundĂ«si kalimi pĂ«r rikuperim.
  • Implementohet mbĂ«shtetje pĂ«r rihapjen e DB nga njĂ« proces pĂ«r qĂ«llime testimi etj.
  • Implementohet pĂ«rpunimi automatik i opsionit MDBX_NOSUBDIR gjatĂ« hapjes sĂ« DB.
  • Shtohen funksione pĂ«r formimin e çelĂ«save tĂ« plota nga vlerat me pikĂ« fluturuese dhe numrat "universal" tĂ« JavaScript-it.
  • NĂ« total janĂ« bĂ«rĂ« 430 ndryshime qĂ« prekin 93 skedarĂ«, janĂ« shtuar mĂ« shumĂ« se 25 mijĂ« rreshta, mĂ« shumĂ« se 8.5 mijĂ« rreshta janĂ« fshirĂ«.

Zhvillimi i mëtejshëm i libmdbx do të përqendrohet në formimin e API-së përfundimtare C++, stabilizimin e kodit bazë, përmirësimin e përdorshmërisë së bibliotekës, si dhe përgatitjen e paketave për distribucione të njohura Linux. Nga përmirësimet e propozuara, vlen të theksohet mbështetje për çelësat në formatin MessagePack.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster