Frigivelse af det kompakte indlejrede DBMS libmdbx 0.9.1

Udgivet biblioteksversion 0.9.1 libmdbx (MDBX) implementering af en højtydende, kompakt, indlejret nøgle-værdi-database. libmdbx-koden distribueres under licensen OpenLDAP Offentlig Licens.

Den nuværende version er et kompromis mellem intentionen om at udgive en langsigtet stabil 1.0-version med fuld C++-understøttelse og modviljen mod at udsætte udgivelser på grund af manglende forberedelse til den nye C++ API-frysning. Denne udgivelse er resultatet af 9 måneders arbejde med at stabilisere biblioteket og forbedre dets brugervenlighed, og inkluderer også en foreløbig version. C++ API.

libmdbx-biblioteket er ikke bare en "fork", men en radikalt redesignet efterkommer LMDB — en transaktionel indlejret DBMS af nøgle-værdi-klassen baseret på træ B+ без proaktiv logning, som tillader flertrådede processer at arbejde samtidigt og effektivt med en lokalt delt (ikke netværksforbundet) database uden en dedikeret serverproces. Libmdbx er fundamental udvider sig sin forfaders evner, samtidig med at dens mangler elimineres eller afbødes. Samtidig er libmdbx ifølge udviklerne en smule hurtigere og betydeligt mere pålidelig end LMDB.

libmdbx tilbyder ACID, streng serialisering af ændringer og ikke-blokerende læsninger med lineær skalering på tværs af CPU-kerner. Resultater af ydeevnetest (afsendelse af parallelle læse-/søgeforespørgsler i 1-2-4-8 tråde på CPU i7-4600U med 2 fysiske kerner i 4-tråds HyperThread-tilstand):

Frigivelse af det kompakte indlejrede DBMS libmdbx 0.9.1

De vigtigste forskelle mellem MDBX og LMDB er:

  • Fundamentalt set lægges der mere vægt på kodekvalitet, API-ikke-fejlbarlighed, testning og automatiske kontroller.
  • Betydeligt mere kontrol under drift, fra kontrol af parametre til intern revision af databasestrukturer.
  • Automatisk komprimering og automatisk databasestørrelsesstyring.
  • Et enkelt databaseformat til 32-bit og 64-bit samlinger.
  • Estimering af områdeforespørgsel.
  • Understøttelse af nøgler med dobbelt længde og brugervalgbar databasesidestørrelse.
  • Hjælpeprogram til at kontrollere integriteten af ​​databasestrukturen med visse gendannelsesfunktioner.

Vigtigste innovationer og forbedringer efter tidligere nyheder med introduktionen af ​​version 0.5 i januar 2020:

  • Der er oprettet en åben supporttjeneste til hurtig support og svar på spørgsmål. Telegram-gruppe.
  • Mere end et dusin fejl og mangler er blevet rettet (se ændringslog).
  • Rettede en masse stave- og trykfejl samt adskillige kosmetiske forbedringer.
  • Testscenarierne er blevet udvidet.
  • iOS-understøttelse er implementeret, Android, byggerod, musl, uClibc, WSL1 и Vin.
  • En forhåndsvisning af C++ API'en er blevet udgivet én headerfil.
  • Indbygget dokumentation i Doxygen-format og automatisk generering Online dokumentation.
  • Automatisk generering af arkiver med sammenlagte kildetekster er mulig.
  • Tilføjet understøttelse af forberedelse af transaktioner og markører, brugerkontekster for transaktioner og markører.
  • Yderligere metoder til at kontrollere referentiel integritet i B+tree MVCC-snapshots er blevet implementeret.
  • Tilføjet understøttelse af kontrol af MVCC-snapshot af databasen, tilgængelig via enhver metaside med mulighed for at skifte til gendannelse.
  • Implementerede understøttelse af genåbning af en database fra én proces til testformål osv.
  • Automatisk behandling af MDBX_NOSUBDIR-indstillingen ved åbning af en database er blevet implementeret.
  • Tilføjede funktioner til generering af heltalsnøgler fra flydende kommaværdier og "universelle" JavaScript-tal.
  • I alt blev der foretaget 430 ændringer, der påvirkede 93 filer, mere end 25 tusind linjer blev tilføjet, og mere end 8.5 tusind linjer blev slettet.

Fremtidig udvikling af libmdbx vil fokusere på at færdiggøre C++ API'en, yderligere stabilisere basiskoden, forbedre bibliotekets brugervenlighed og oprette pakker til populære distributioner. LinuxBlandt de foreslåede forbedringer er det værd at bemærke understøttelse af nøgler i formatet MessagePack.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster