Rhyddhau'r DBMS cryno wedi'i fewnosod libmdbx 0.9.1

Rhyddhawyd fersiwn llyfrgell 0.9.1 libmdbx (MDBX) gweithredu cronfa ddata gwerth-allweddol gryno, perfformiad uchel. Mae'r cod libmdbx yn cael ei ddosbarthu o dan drwydded Trwydded Gyhoeddus OpenLDAP.

Mae'r fersiwn gyfredol yn gyfaddawd rhwng y bwriad i ryddhau fersiwn sefydlog hirdymor 1.0 gyda chefnogaeth lawn C ++ a'r amharodrwydd i ohirio rhyddhau oherwydd parodrwydd i rewi'r API C ++ newydd. Mae'r datganiad a gyflwynir yn ganlyniad i 9 mis o waith gyda'r nod o sefydlogi'r llyfrgell a gwella ei defnyddioldeb, ac mae hefyd yn cynnwys fersiwn rhagarweiniol C++ API.

Nid “fforch” yn unig yw’r llyfrgell libmdbx, ond disgynnydd wedi’i ailgynllunio’n radical LMDB — DBMS trafodol wedi'i fewnosod o'r dosbarth “gwerth allweddol” yn seiliedig ar coeden B+ без logio rhagweithiol, sy'n caniatáu i brosesau aml-edau weithio'n gystadleuol ac yn effeithlon gyda chronfa ddata a rennir yn lleol (nad yw'n rhwydwaith) heb broses gweinydd bwrpasol. libmdbx yn sylfaenol yn ehangu galluoedd ei hynafiaid, gan ddileu neu liniaru anfanteision ar yr un pryd. Ar yr un pryd, yn ôl y datblygwyr, mae libmdbx ychydig yn gyflymach ac yn sylweddol fwy dibynadwy na LMDB.

libmdbx yn awgrymu ACID, cyfresoli newidiadau yn llym a darllen di-rwystro gyda graddio llinellol ar draws creiddiau CPU. Canlyniadau profion perfformiad (anfon ceisiadau darllen / chwilio cyfochrog mewn edafedd 1-2-4-8 ar CPU i7-4600U gyda 2 graidd corfforol yn y modd HyperThread 4-edau):

Rhyddhau'r DBMS cryno wedi'i fewnosod libmdbx 0.9.1

Y gwahaniaethau pwysicaf rhwng MDBX a LMDB:

  • Yn y bôn, telir mwy o sylw i ansawdd cod, cysondeb API, profion a gwiriadau awtomatig.
  • Llawer mwy o reolaeth yn ystod gweithrediad, o wirio paramedrau i archwiliad mewnol o strwythurau cronfa ddata.
  • Cywasgu awto a rheoli maint cronfa ddata yn awtomatig.
  • Fformat cronfa ddata sengl ar gyfer gwasanaethau 32-bit a 64-bit.
  • Amcangyfrif cyfeintiau sampl yn ôl ystodau (amcangyfrif ymholiad amrediad).
  • Cefnogaeth i allweddi dwywaith mor hir a maint tudalen cronfa ddata y gellir ei ddewis gan ddefnyddwyr.
  • Cyfleustodau ar gyfer gwirio cywirdeb strwythur y gronfa ddata gyda rhai galluoedd adfer.

Prif arloesiadau a gwelliannau ar ôl newyddion blaenorol gyda chyflwyniad fersiwn 0.5 ym mis Ionawr 2020:

  • Mae system agored wedi'i chreu ar gyfer cymorth prydlon ac atebion i gwestiynau. Grŵp telegram.
  • Mae mwy na dwsin o wallau a diffygion wedi'u dileu (gweler. newid log).
  • Mae llawer o gamgymeriadau teipio a sillafu wedi'u trwsio, ac mae nifer o welliannau cosmetig wedi'u gwneud.
  • Mae senarios prawf wedi'u hehangu.
  • Cefnogaeth i iOS, Android, gwraidd adeiladu, mwswl, uClibc, WSL1 и Gwin.
  • Rhagolwg API C++ wedi'i ryddhau i mewn un ffeil pennawd.
  • Dogfennaeth adeiledig mewn fformat Doxygen a chynhyrchu awtomatig Dogfennaeth ar-lein.
  • Darperir cynhyrchu archifau yn awtomatig gyda thestunau ffynhonnell wedi'u cyfuno.
  • Cefnogaeth ychwanegol ar gyfer paratoi trafodion a chyrchyddion, cyd-destunau defnyddwyr ar gyfer trafodion a chyrchyddion.
  • Mae dulliau ychwanegol wedi'u rhoi ar waith i reoli cywirdeb cyfeiriol mewn cipluniau MVCC B+ coeden.
  • Ychwanegwyd cefnogaeth ar gyfer gwirio ciplun MVCC o'r gronfa ddata, y gellir ei gyrchu trwy unrhyw dudalen meta gyda'r gallu i newid ar gyfer adferiad.
  • Rhoi cymorth ar waith ar gyfer ailagor y gronfa ddata o un broses at ddibenion profi, ac ati.
  • Wedi gweithredu prosesu awtomatig yr opsiwn MDBX_NOSUBDIR wrth agor cronfa ddata.
  • Swyddogaethau ychwanegol ar gyfer cynhyrchu allweddi cyfanrif o werthoedd pwynt arnawf a rhifau “cyffredinol” JavaScript.
  • Yn gyfan gwbl, gwnaed 430 o newidiadau yn effeithio ar 93 o ffeiliau, ychwanegwyd mwy na 25 mil o linellau, dilëwyd mwy na 8.5 mil o linellau.

Bydd datblygiad dilynol libmdbx yn canolbwyntio ar yr API C ++ terfynol, sefydlogi'r cod sylfaen ymhellach, gwella defnyddioldeb y llyfrgell, a phecynnu ar gyfer dosbarthiadau Linux poblogaidd. Ymhlith y gwelliannau arfaethedig, mae'n werth nodi cefnogaeth i allweddi yn y fformat Pecyn Neges.

Ffynhonnell: opennet.ru

Ychwanegu sylw