Utgivningen av den inbyggda databasadministrationssystemet libmdbx 0.13.6

Utgivningen av biblioteket libmdbx 0.13.6 (MDBX) har publicerats med implementeringen av en högpresterande kompakt inbÀddad nyckelvÀrdedatabas. Koden för libmdbx distribueras under Apache 2.0-licensen. Alla aktuella operativsystem och arkitekturer stöds, inklusive den ryska Elbrus 2000. För libmdbx erbjuds ett utvecklat API för C++, samt att entusiaster har skapat bindningar till sprÄk som Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno och Scala. Bland projekten som anvÀnder libmdbx kan nÀmnas Isar, Erigon och Reth, samt utvecklingarna frÄn företagen StarkWare och Positive Technologies.

Historiskt sett Àr libmdbx en djupgÄende omarbetning av databashanteraren LMDB och övertrÀffar sin föregÄngare i pÄlitlighet, funktionalitet och prestanda. JÀmfört med LMDB lÀgger libmdbx stort fokus pÄ kodkvalitet, stabilitet i API:et, testning och automatiska kontroller. En databasintegritetskontrollverktyg levereras med vissa ÄterstÀllningsfunktioner. Teknologiskt erbjuder libmdbx ACID, strikt serialisering av förÀndringar och icke-blockerande lÀsning med linjÀr skalning över CPU-kÀrnor. Automatisk komprimering, automatisk hantering av databasens storlek och uppskattning av urvalets volym över intervall (range query estimation) stöds.

Huvudsakliga förÀndringar:

  • Ändrat beteende: Om det Ă€r omöjligt att koppla bort kursorn frĂ„n dess aktuella transaktion returnerar funktionen mdbx_cursor_bind() nu MDBX_EINVAL istĂ€llet för MDBX_BAD_TXN.
  • För att undvika potentiella problem har anvĂ€ndningen av copy_file_range() inaktiverats pĂ„ Linux-kĂ€rnor 5.3 - 5.18.
  • Ett std::invalid_argument-slag genereras nu med ett explicit meddelande MDBX_EINVAL.
  • En regression har Ă„tgĂ€rdats vid anvĂ€ndning av kurser för DBI=0 (Ă€ven kallat GC/FreeDB) i lĂ€sande transaktioner.
  • En regression har Ă„tgĂ€rdats i form av felet EAGAIN vid kopiering av databaser pĂ„ NFS och CIFS/SMB.
  • Vid förbĂ€ttringar av API:et i kopieringsfunktionen har filblockering nu lagts till via bĂ„de fcntl() och flock(). Men beroende pĂ„ versionen av det lokala kĂ€rnan, versionen av den fjĂ€rranslutna servern NFS och monteringsalternativen kan detta ha lett till att POSIX-felet EAGAIN (11 pĂ„ de flesta plattformar, inklusive Linux) Ă„tervĂ€nde.
  • Ett fel med merge/rebase inuti mdbx_txn_release_all_cursors_ex() har Ă„tgĂ€rdats, vilket kan ha lett till ovĂ€ntade fel som MDBX_EBADSIGN och minneslĂ€ckor.
  • Assert-kontrollen i avslutningsvĂ€gen för nĂ€stlade transaktioner har Ă„tgĂ€rdats.
  • Möjligheten att Ă„terfĂ„ ett ovĂ€ntat fel MDBX_BUSY frĂ„n mdbx_txn_lock(dont_wait=false) har Ă„tgĂ€rdats.
  • För att vara kompatibel med GCC 15.x i C23-lĂ€ge har ordningen för att ange funktionsattribut Ă€ndrats.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster