Nuitka 0.6.6 projekti vÀljaanne on ette valmistatud.

Saadaval teise kandidaat on raamatukogu vĂ€ljalaseteks testimiseks libmdbx kĂ”rge jĂ”udlusega, kompaktse sisseehitatud vĂ”tme-vÀÀrtuse andmebaasi rakendamisega. Praegune versioon (0.5) on tehniline vĂ€ljaanne, mis tĂ€histab viimaste tĂ€iustuste lĂ”petamist ja ĂŒleminekut avaliku lĂ”ppkatse ja stabiliseerimise faasi, millele jĂ€rgneb raamatukogu esimese tĂ€isversiooni moodustamine. Kood libmdbx levitatakse OpenLDAP avaliku litsentsi all.

MDBX raamatukogu on oluliselt ĂŒmber töötatud haru LMDB — tehingupsĂŒsteem, mis on sisseehitatud vĂ”tme-vÀÀrtuse andmebaasis, pĂ”hinedes B+ puul ilma eelregistreerimise logimisega, mis vĂ”imaldab mitme lĂ”imega protsessidel konkureerivalt ja tĂ”husalt töötada kohalikult jagatud (mitte vĂ”rgu) andmebaasiga. Samas on MDBX kiiremad ja usaldusvÀÀrsemad kui LMDB, sĂ€ilitades samas kĂ”ik oma esivanema vĂ”tmeomadused, nagu ACID ja mittetakistav lugemine koos lineaarse skaleerimisega CPU tuumade jĂ€rgi.

Olulised erinevused MDBX-i ja LMDB vahel:

  • Oluliselt rohkem tĂ€helepanu pööratakse koodi kvaliteedile, testimisele ja automaatsetele kontrollidele.
  • Oluliselt rohkem kontrolli töö kĂ€igus, alustades parameetrite kontrollimisest kuni andmebaasi struktuuride sisemiste audititeni.
  • Automaatne kompaktimine ja automaatne andmebaasi suuruse haldamine.
  • Üksne andmebaasi formaat 32-bitiste ja 64-bitiste kogumite jaoks.
  • KĂŒsimuste osas on vahemiku pĂ€ringute hindamine.
  • Toetab vĂ”tmeid, mille suurus on kahekordne ja kasutaja mÀÀratud andmebaasi lehekĂŒlje suurus.

VÀlja antud libmdbx kandidaat on 2019. aasta augustis tehtud otsuse tulemus MDBX ja MithrilDB projektide eraldamiseks. Samuti otsustati libmdbx-s kÔrvaldada (ratsionaalne) maksimaalne tehniline vÔlg ja stabiilsus raamatukogus. Tegelikult on antud suunas tehtud 2-3 korda rohkem, kui esialgu hinnati ja plaaniti:

  • MacOS-i ja teise etapi platvormide toetamine: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. AIX-i ja HP-UX-i tugi vĂ”ib vajadusel lisanduda.
  • Koodi sanatsioon Undefined Behavior Sanitizer ja Address Sanitizer abil, kĂ”ik hoiatused on kĂ”rvaldatud koos "-Wpedantic"-ga ehitamisel, kĂ”ik Coverity Static Analyzer hoiatused jne.
  • Aktualiseerimine API kirjeldus.
  • Algse koodi liitmine (amalgameerimine) mugavuse tagamiseks.
  • CMake tugi.
  • Sisseehitatud tehingute tugi.
  • Bootid'i kasutamine operatsioonisĂŒsteemi taaskĂ€ivitamise fakti mÀÀratlemiseks (andmebaasi 'rĂ€pane' seiskamine).
  • Uuendatud/vanade lehtede koguarv ja ulatuslik teave tehingute kohta.
  • MDBX_ACCEDE optsioon avatud andmebaasi ĂŒhendamiseks ĂŒhilduvas reĆŸiimis.
  • Kasutamine OFD-blokeeringud kui need on saadaval.
  • Kuum varukoopia pipe'i kaudu.
  • Spetsialiseeritud optimeeritud sisemine sortimisalgoritm (kuni 2-3 korda kiirem kui «qsort()» ja kuni 30% kiirem kui «std::sort()»).
  • Maksimaalne vĂ”tme pikkus on suurenenud.
  • Automaatne read ahead juhtimine (andmebaasi faili mĂ€lu vahemĂ€lu strateegia).
  • Agresiivsem ja kiirem automaatne kompaktimine.
  • Optimiseeritud B+ puu lehtede sulandamise strateegia.
  • Kohandatud mitte-lokaalsete failisĂŒsteemide (NFS, Samba jne) kontroll andmebaasi kahjustumise vĂ€ltimiseks vale kasutamise korral.
  • Testide komplekt on laiendatud.

«JĂ€rgmise» versiooni libmdbx arendamine jĂ€tkub eraldi projekti raames MithrilDB, samal ajal kui „praeguse“ MDBX versiooni arenduste suund on vĂ”imaluste komplekti kĂŒlmutamine ja stabiliseerimine. See otsus on tehtud kolme pĂ”hjuse tĂ”ttu:

  • TĂ€ielik ĂŒhilduvus: kĂ”ikide MithrilDB plaanitud vĂ”imaluste rakendamiseks on vajalik teine (ĂŒhilduvusetu) andmebaasi failide formaat ja teine (ĂŒhilduvusetu) API.
  • Uus algkood: MithrilDB algkood on tagatud litsentsi iseseisvuse kaudu LMDB-st, ning projekt on kavas avaldada teistsuguse litsentsi (heakskiidetud OSI litsentsiga Apache 2.0, mitte OpenLDAP Public License).
  • Eraldamine aitab vĂ€ltida potentsiaalset segadust, toob rohkem selgust ja tagab projektide arengu tee sĂ”ltumatuse.

MithrilDB, nagu MDBX, tugineb samuti B+ puule ja on samuti ÀÀrmiselt kĂ”rge jĂ”udlusega, kĂ”rvaldadest samas rida pĂ”hilisi puudusi MDBX ja LMDB. Eriti kĂ”rvaldatakse probleem „pikkadest lugemistest“, mis avaldub andmebaasi „paisumise“ kaudu, kuna prĂŒgikĂ€itlemine on blokeeritud pikkade lugemisettevĂ”tetega. Uute vĂ”imaluste seas tuleks MithrilDB puhul esile tuua:

  • Toetatakse andmebaasi paigutamist mitmele erinevale kandjale: HDD, SSD ja pĂŒsimĂ€lu.
  • Optimaalsed strateegiad "vÀÀrtuslike" ja "vĂ€hevÀÀrtuslike", "soojade", "jahedate" ja "kĂŒlmade" andmete jaoks.
  • Merkle puu kasutamine andmebaasi terviklikkuse kontrollimiseks.
  • Valikuline WAL kasutamine ja oluliselt kĂ”rgem jĂ”udlus intensiivse kirjutamise stsenaariumides koos andmete terviklikkuse garantiidega.
  • Laisk andmete kinnitamine ketastele.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster