Divilgasyon DBMS entegre libmdbx 0.11.3

Bibliyotèk libmdbx 0.11.3 (MDBX) te lage ak aplikasyon yon baz done kle-valè ki wo-pèfòmans. Kòd libmdbx la gen lisans anba Lisans Piblik OpenLDAP. Tout sistèm operasyon ak achitekti aktyèl yo sipòte, osi byen ke Ris Elbrus 2000 la. Nan fen 2021, libmdbx yo itilize kòm yon backend depo nan de kliyan yo Ethereum pi rapid - Erigon ak nouvo "Reken" la, ki, dapre disponib. enfòmasyon, se kliyan Ethereum ki pi wo a.

Istorikman, libmdbx se yon retravay pwofon nan DBMS LMDB la epi li siperyè zansèt li yo nan fyab, seri karakteristik ak pèfòmans. Konpare ak LMDB, libmdbx mete anpil anfaz sou kalite kòd, estabilite API, tès, ak chèk otomatik. Yon sèvis piblik pou tcheke entegrite estrikti baz done a ak kèk kapasite rekiperasyon yo apwovizyone.

Teknoloji-saj, libmdbx ofri ACID, seri chanjman fò, ak lekti ki pa bloke ak echèl lineyè atravè nwayo CPU yo. Oto-konpaktifikasyon, jesyon otomatik gwosè baz done, ak estimasyon rechèch ranje yo sipòte. Depi 2016, pwojè a te finanse pa Positive Technologies epi yo te itilize nan pwodwi li yo depi 2017.

libmdbx ofri yon API C++, ansanm ak langaj antouzyas yo sipòte pou Rust, Haskell, Python, NodeJS, Ruby, Go, ak Nim.

Gwo inovasyon, amelyorasyon ak koreksyon te ajoute depi nouvèl anvan yo te 11 oktòb:

  • API C++ a konsidere kòm pare pou itilize.
  • Aktyalizasyon done GC yo lè w ap fè gwo tranzaksyon yo akselere anpil, sa ki enpòtan sitou lè w ap itilize libmdbx nan ekosistèm Ethereum.
  • Siyati entèn fòma baz done a te chanje pou sipòte aktyalizasyon otomatik, ki konplètman transparan pou itilizatè yo. Sa a pèmèt ou elimine mesaj fo pozitif sou koripsyon baz done lè yo itilize vèsyon demode nan bibliyotèk la pou li tranzaksyon ki anrejistre pa vèsyon aktyèl yo.
  • Te ajoute fonksyon mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() ak mdbx_env_get_syncbytes(). Te ajoute sipò pou operasyon MDBX_SET_UPPERBOUND.
  • Tout avètisman lè bati ak tout konpilateur sipòte nan C++ 11/14/17/20 mòd yo te elimine. Se konpatibilite ak konpilatè eritaj asire: clang kòmanse soti nan 3.9, gcc kòmanse soti nan 4.8, ki gen ladan asanble lè l sèvi avèk cdevtoolset-9 pou CentOS / RHEL 7.
  • Fiks posiblite pou yon konfli paj meta apre manyèlman chanje nan yon paj meta espesifik lè l sèvi avèk sèvis piblik la mdbx_chk.
  • Fikse erè inatandi MDBX_PROBLEM ke yo te retounen lè yo te ranplase paj meta eritaj yo.
  • Fiks retounen MDBX_NOTFOUND nan ka ta gen yon korespondans ki pa egzak lè w ap trete yon demann MDBX_GET_BOTH.
  • Fiks yon erè konpilasyon sou Linux nan absans dosye header ak deskripsyon entèfas ak nwayo a.
  • Fikse yon konfli ant drapo entèn MDBX_SHRINK_ALLOWED ak opsyon MDBX_ACCEDE.
  • Plizyè chèk afimasyon nesesè yo te elimine.
  • Fiks retounen inatandi nan MDBX_RESULT_TRUE soti nan mdbx_env_set_option () fonksyon.
  • An total, plis pase 90 chanjman yo te fè nan 25 fichye, ~1300 liy yo te ajoute, ~600 yo te efase.

Sous: opennet.ru

Add nouvo kòmantè