Lëshimi i DB të integruar kompakt libmdbx 0.9.1

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

Versioni aktual është një kompromis ndërmjet qëllimit 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ë papërgatitjes për ngrirjen e API-së së re C++. Lëshimi i paraqitur është rezultati i 9 muajve punë të orientuar drejt stabilizimit të bibliotekës dhe rritjes së përdorshmërisë së saj, si dhe përfshin një version paraprak API C++.

Biblioteka libmdbx nuk Ă«shtĂ« thjesht njĂ« "fork", por njĂ« pasardhĂ«s i riprojektuar nĂ« mĂ«nyrĂ« radikale LMDB — njĂ« SGBD transaksionale e integrueshme e klasĂ«s «çelĂ«s-vlerë» e bazuar nĂ« pemĂ«n B+ pa journalim paraprak, e cila lejon proceset shumĂ«thithĂ«se tĂ« punojnĂ« nĂ« mĂ«nyrĂ« konkurruese dhe efektive me njĂ« DB tĂ« ndarĂ« lokalisht (jo nĂ« rrjet) pa njĂ« proces serveri tĂ« dedikuar. Libmdbx thelbĂ«sisht zgjatim mundĂ«sitĂ« e paraardhĂ«sit tĂ« tij, duke eliminuar ose zbutur disavantazhet. Duke besuar zhvilluesit, libmdbx Ă«shtĂ« pak mĂ« i shpejtĂ« dhe ndjeshĂ«m mĂ« i besueshĂ«m se LMDB.

libmdbx ofron ACID, serizalizim të rreptë të ndryshimeve dhe lexim jo bllokues me shkallëzim lineare sipas bërthamave të CPU. Rezultatet e testimit të performancës (dërgimi i kërkesave paralele për lexim/kërkim në 1-2-4-8 rrjedha në CPU i7-4600U me 2 bërthama fizike në modalitetin e 4 rrjedhave HyperThread):

Lëshimi i DB të integruar kompakt libmdbx 0.9.1

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

  • MĂ« shumĂ« vĂ«mendje i Ă«shtĂ« kushtuar cilĂ«sisĂ« sĂ« kodit, "qĂ«ndrueshmĂ«risĂ«" sĂ« API, testimit dhe kontrollit automatik.
  • Ka ndjeshĂ«m mĂ« shumĂ« kontroll gjatĂ« funksionimit, duke nisur nga verifikimi i parametrave e deri te auditimi i brendshĂ«m i strukturave tĂ« bazĂ«s sĂ« tĂ« dhĂ«nave.
  • Auto-kompaktim dhe menaxhim automatik i madhĂ«sisĂ« sĂ« BD-sĂ«.
  • Format unik i BD-sĂ« pĂ«r build-et 32-bit dhe 64-bit.
  • VlerĂ«simi i vĂ«llimit tĂ« pĂ«rzgjedhjeve sipas intervaleve (range query estimation).
  • MbĂ«shtetje pĂ«r çelĂ«sa me dyfish gjatĂ«si dhe madhĂ«si tĂ« pĂ«rzgjedhur tĂ« faqeve tĂ« DB.
  • NjĂ« utilit pĂ«r verifikimin e integritetit tĂ« strukturĂ«s sĂ« DB me disa mundĂ«si rikuperimi.

Risi kryesore dhe përmirësime pas lajmit të mëparshëm me prezantimin e versionit 0.5 në janar 2020:

  • PĂ«r mbĂ«shtetje operative dhe pĂ«r tĂ« dhĂ«nĂ« pĂ«rgjigje nĂ« pyetje Ă«shtĂ« krijuar njĂ« grup i hapur nĂ« Telegram.
  • JanĂ« eliminuar mĂ« shumĂ« se dhjetĂ« gabime dhe defekte (shih. regjistri i ndryshimeve).
  • JanĂ« korrigjuar shumĂ« shpjegime dhe gabime ortografike, pĂ«rmirĂ«sime tĂ« shumta kozmetike.
  • SkenarĂ«t e testimit janĂ« zgjeruar.
  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r iOS, Android, buildroot, Musl, uClibc, WSL1 dhe Wine.
  • Versioni paraprak i API C++ Ă«shtĂ« prezentuar nĂ« njĂ« skedĂ« titullare.
  • Dokumentacioni i integruar Ă«shtĂ« organizuar nĂ« formatin Doxygen dhe gjenerimi automatik Dokumentacioni Online.
  • Automatizimi i krijimit tĂ« arkivave me tekste tĂ« amalgamuara Ă«shtĂ« siguruar.
  • Shtuar mbĂ«shtetje pĂ«r pĂ«rgatitjen e transaksioneve dhe kursoreve, konteksteve tĂ« pĂ«rdoruesve pĂ«r transaksione dhe kursore.
  • JanĂ« realizuar metoda tĂ« tjera pĂ«r kontrollin e integritetit tĂ« referencave nĂ« snapshot-e MVCC B+tree.
  • Shtuar mbĂ«shtetje pĂ«r verifikimin e snapshot-it MVCC tĂ« DB-sĂ«, i disponueshĂ«m pĂ«rmes çdo meta-faqe me mundĂ«sinĂ« e kalimit pĂ«r rikuperim.
  • JanĂ« realizuar mbĂ«shtetje pĂ«r rihapjen e DB-sĂ« nga njĂ« proces pĂ«r qĂ«llime testimi etj.
  • JanĂ« realizuar pĂ«rpunim automatizuar tĂ« opsionit MDBX_NOSUBDIR gjatĂ« hapjes sĂ« DB-sĂ«.
  • Shtuar funksione pĂ«r krijimin e çelĂ«save tĂ« tĂ«rĂ«sishĂ«m nga vlera me pikĂ« fluturimi dhe numra 'universale' tĂ« JavaScript.
  • NĂ« total janĂ« bĂ«rĂ« 430 ndryshime qĂ« kanĂ« prekur 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ë krijimin e API-së përfundimtare C++, stabilizimin e kodit bazë, rritjen e lehtësisë së përdorimit të bibliotekës, si dhe formimin e paketave për distribucione të njohura të Linux. Nga propozimet për përmirësime, vlen të përmendim mbështetje për çelësa në formatin MessagePack.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster