Sakin babban aiki da aka saka DBMS libmdbx 0.10.4 da libfpta 0.3.9

An fitar da ɗakunan karatu na libmdbx 0.10.4 (MDBX) tare da aiwatar da babban aiki mai mahimmanci mai mahimmanci mai mahimmanci mai mahimmanci, da kuma ɗakin karatu na libfpta 0.3.9 (FPTA), wanda ke aiwatar da wakilci na bayanai tare da fihirisar sakandare da hadaddiyar giyar. a saman MDBX. Dukkan ɗakunan karatu ana rarraba su ƙarƙashin lasisin OSI da aka amince. Ana tallafawa duk tsarin aiki na yanzu da gine-gine, da kuma Elbrus 2000 na Rasha.

A tarihi, libmdbx babban sake aiki ne na LMDB DBMS kuma ya fi kakansa cikin aminci, saitin fasali da aiki. Idan aka kwatanta da LMDB, libmdbx yana ba da fifiko mai yawa akan ingancin lambar, kwanciyar hankali API, gwaji, da dubawa ta atomatik. An samar da kayan aiki don bincika amincin tsarin bayanai tare da wasu damar dawo da su.

Mai hikimar fasaha, libmdbx yana ba da ACID, sauye-sauye mai ƙarfi na serialization, da waɗanda ba tare da toshewa ba tare da sikelin linzamin kwamfuta a fadin CPU. Ana tallafawa haɓaka ta atomatik, sarrafa girman bayanai ta atomatik, da ƙididdige ƙimar tambaya. Tun da 2016, ayyukan da aka ba da tallafi ta hanyar fasaha mai kyau kuma tun 2017 an yi amfani da su a cikin samfurori.

libmdbx yana ba da C++ API, da kuma ɗaurin harsuna masu goyon baya don Rust, Haskell, Python, NodeJS, Ruby, Go, da Nim. Don libfpta, bayanin API kawai yana samuwa a bainar jama'a ta hanyar fayil ɗin C/C++.

Manyan sabbin abubuwa, haɓakawa da gyare-gyare da aka ƙara tun daga labarin da ya gabata a ranar 9 ga Mayu:

  • Yana ba da damar gine-ginen da za a iya sakewa.
  • Kafaffen bug saboda wanda, a cikin yanayi mai wuyar gaske, madauki/daskare na iya faruwa yayin aiwatar da ciniki. Kwararrun Fasaha masu kyau sun gano matsalar yayin gwajin cikin gida na samfuran nasu.
  • An inganta gwaje-gwaje kuma an faɗaɗa yanayin gwaji don duba duk wasu jihohin da ba na isomorphic ba na bishiyar shafi da abubuwan GC a cikin bayanan.
  • A cikin C ++ API, an gyara ƙarin "ban da" ba, an ƙara ƙarin kayan aiki don hanyar "cursor :: shafe()", aiwatar da buffers an kiyaye amfani da "std :: kirtani" don tabbatar da daidaitawa. (mai dacewa don CLAG libstdc++).
  • An kawar da koma bayan datti a cikin dattin shafi mai zubewar algorithm (zaɓawar zaɓaɓɓen shafukan da aka canza) wanda ya bayyana ta hanyar kuskuren da ba a yi tsammani ba MDBX_PROBLEM lokacin da aka kawar da canza bayanai a cikin manyan ma'amaloli.
  • An gudanar da gwajin matakin lokaci tare da kara yawan bincike don tabbatar da kwanciyar hankali a yayin da aka lalata da gangan ga ma'ajiyar bayanai.
  • Kafaffen ƙananan gargaɗin da ba a bayyana BahaviorSanitizer da batutuwan Scan Coverity.
  • Kafaffen bincika tsohon kuma ba a ƙara amfani da tutar ciki "P_DIRTY" a cikin shafukan da aka gina a cikin hotunan bayanan da aka ƙirƙira ta tsofaffin nau'ikan ɗakin karatu.
  • A cikin rubutun CMake, an inganta binciken abubuwan haɗakarwa da ake buƙata don LTO (inganta lokaci-lokaci).
  • Matsakaicin adadin masu karatu a lokaci guda an ƙara shi zuwa 32767.
  • Ingantattun ayyuka yayin amfani da Valgrind da AddressSanitizer.
  • A kan Windows, an kawar da maimaita amfani da SRW-kulle lokacin aiki a cikin yanayin MDBX_NOTLS (ba tare da amfani da ma'ajin gida ba) ba, an gyara tsarar bootid idan lokacin tsarin ya canza, an inganta gano WSL1 da WSL2, da ikon yin amfani da su. bude bayanai akan Tsarin 9 wanda aka ɗora ta hanyar DrvFS an ƙara.
  • Gabaɗaya, an yi canje-canje sama da 160 zuwa fayiloli 57, ~ an ƙara layin 5000, ~ 2500 an goge su.

Ina so in gode wa ƙungiyar aikin Erigon (Ethereum ecosystem) don taimakonsu na gwaji a cikin yanayin amfani mai tsanani. Yana da mahimmanci cewa a cikin watanni biyar tun lokacin da aka saki libmdbx v0.10.0, tare da adadin bayanai na 1-2 TB a cikin kowane shigarwa na Erigon (wanda aka yi amfani da shi akan 7% na nodes Ethereum), kawai rahotanni uku na cin hanci da rashawa sun karbi, duk wanda ya faru saboda wasu dalilai na waje, kuma ba kurakuran software ba: a lokuta biyu dalilin shine gazawar RAM, a cikin na uku kuskuren sake saita bayanai a cikin takamaiman tsarin tsarin ajiya ta amfani da BTRFS.

source: budenet.ru

Add a comment