Ngaleupaskeun DBMS libmdbx 0.11.3 anu dipasangkeun kinerja luhur

Perpustakaan libmdbx 0.11.3 (MDBX) dileupaskeun kalayan palaksanaan basis data konci-nilai kompak berprestasi tinggi. Kode libmdbx dilisensikeun dina Lisensi Publik OpenLDAP. Sadaya sistem operasi sareng arsitéktur ayeuna dirojong, ogé Rusia Elbrus 2000. Dina ahir 2021, libmdbx dianggo salaku panyimpen dina dua klien Ethereum panggancangna - Erigon sareng "Hiu", anu, numutkeun sadia. inpormasi, nyaéta klien Ethereum-kinerja pangluhurna.

Dina sajarahna, libmdbx mangrupikeun desain ulang jero tina LMDB DBMS sareng ngaleuwihan progenitorna dina hal reliabilitas, set fitur sareng kinerja. Dibandingkeun jeung LMDB, libmdbx nempatkeun loba tekenan kana kualitas kode, stabilitas API, nguji, sarta cék otomatis. Utiliti pikeun mariksa integritas struktur database disayogikeun sareng sababaraha pilihan pamulihan.

Téknologi-wijaksana, libmdbx nawarkeun ACID, serialization robah kuat, sarta non-blocking maca kalawan skala linier sakuliah cores CPU. Compactification otomatis, manajemén ukuran database otomatis, sarta estimasi query rentang dirojong. Kusabab 2016, proyék éta dibiayaan ku Positive Technologies sareng parantos dianggo dina produkna ti saprak 2017.

libmdbx nawiskeun API C ++, ogé beungkeutan basa anu dirojong ku peminat pikeun Rust, Haskell, Python, NodeJS, Ruby, Go, sareng Nim.

Inovasi utama, perbaikan sareng koréksi parantos ditambihan ti wartos sateuacana dina 11 Oktober:

  • C++ API dianggap siap dianggo.
  • Pembaruan data GC nalika ngalakukeun transaksi ageung parantos gancangan, anu penting pisan nalika nganggo libmdbx dina ékosistem Ethereum.
  • Tanda tangan internal tina format database parantos dirobih pikeun ngadukung pembaruan otomatis, anu lengkep transparan pikeun pangguna. Ieu ngidinan Anjeun pikeun ngaleungitkeun pesen palsu-positip ngeunaan korupsi database lamun versi luntur perpustakaan dipaké pikeun maca transaksi dirékam ku versi ayeuna.
  • Ditambahkeun fungsi mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() jeung mdbx_env_get_syncbytes(). Ditambahkeun dukungan pikeun operasi MDBX_SET_UPPERBOUND.
  • Kabéh warnings nalika ngawangun kalayan sagala compilers dirojong dina C ++ 11/14/17/20 modus geus ngaleungitkeun. Kasaluyuan sareng kompiler warisan dipastikeun: clang mimitian ti 3.9, gcc mimitian ti 4.8, kalebet rakitan nganggo cdevtoolset-9 pikeun CentOS / RHEL 7.
  • Ngalereskeun kamungkinan konflik halaman meta saatos sacara manual ngalih ka halaman meta khusus nganggo utilitas mdbx_chk.
  • Ngalereskeun kasalahan MDBX_PROBLEM anu teu disangka-sangka anu dipulangkeun nalika nimpa halaman meta warisan.
  • Ngalereskeun mulangkeun MDBX_NOTFOUND upami aya pertandingan anu teu leres nalika ngolah pamundut MDBX_GET_BOTH.
  • Ngalereskeun kasalahan kompilasi dina Linux dina henteuna file header sareng déskripsi ngeunaan antarmuka sareng kernel.
  • Ngalereskeun konflik antara bandéra internal MDBX_SHRINK_ALLOWED sareng pilihan MDBX_ACCEDE.
  • Sababaraha cék negeskeun anu teu dipikabutuh parantos dileungitkeun.
  • Ngalereskeun mulang kaduga tina MDBX_RESULT_TRUE tina fungsi mdbx_env_set_option ().
  • Dina total, leuwih ti 90 parobahan dijieun pikeun 25 file, ~ 1300 garis ditambahkeun, ~ 600 dihapus.

sumber: opennet.ru

Tambahkeun komentar