Sakin babban aiki da aka saka DBMS libmdbx 0.11.3

An saki ɗakin karatu na libmdbx 0.11.3 (MDBX) tare da aiwatar da ƙaƙƙarfan ƙaƙƙarfan ƙima mai ƙima mai mahimmanci. Lambar libmdbx tana da lasisi ƙarƙashin Lasisin Jama'a na OpenLDAP. Duk tsarin aiki na yanzu da kuma gine-ginen gine-gine suna tallafawa, da kuma Elbrus na Rasha 2000. A ƙarshen 2021, ana amfani da libmdbx azaman ajiyar ajiya a cikin abokan ciniki na Ethereum guda biyu mafi sauri - Erigon da sabon "Shark", wanda, bisa ga samuwa. bayanai, shine mafi girman aiki abokin ciniki Ethereum.

A tarihi, libmdbx babban sake fasalin LMDB DBMS ne kuma ya zarce zuriyarsa ta fuskar dogaro, saitin fasali da aiki. Idan aka kwatanta da LMDB, libmdbx yana ba da fifiko mai yawa akan ingancin lambar, kwanciyar hankali API, gwaji, da cak na atomatik. Ana ba da kayan aiki don bincika amincin tsarin bayanai tare da wasu zaɓuɓɓukan dawowa.

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 daga 2016, fasahar Positive Technologies ce ke ba da tallafin aikin kuma ana amfani da ita a cikin samfuran ta tun 2017.

libmdbx yana ba da C++ API, da kuma ɗaurin harsuna masu goyon baya don Rust, Haskell, Python, NodeJS, Ruby, Go, da Nim.

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

  • API ɗin C++ ana ɗauka a shirye don amfani.
  • Sabunta bayanan GC lokacin yin manyan ma'amaloli an haɓaka haɓaka sosai, wanda ke da mahimmanci musamman lokacin amfani da libmdbx a cikin yanayin yanayin Ethereum.
  • An canza sa hannu na ciki na tsarin bayanai don tallafawa sabuntawa ta atomatik, wanda yake cikakke ga masu amfani. Wannan yana ba ku damar kawar da saƙon karya game da lalata bayanai lokacin da aka yi amfani da tsoffin juzu'in ɗakin karatu don karanta ma'amaloli da aka rubuta ta nau'ikan yanzu.
  • Ƙara ayyuka mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() da mdbx_env_get_syncbytes(). Ƙara tallafi don aikin MDBX_SET_UPPERBOUND.
  • Duk faɗakarwa lokacin ginawa tare da duk masu tarawa masu tallafi a cikin yanayin C++ 11/14/17/20 an kawar da su. An tabbatar da dacewa da masu tara kayan gado: dangi farawa daga 3.9, gcc farawa daga 4.8, gami da taro ta amfani da cdevtoolset-9 don CentOS/RHEL 7.
  • Kafaffen yuwuwar rikici na shafi na meta bayan canzawa da hannu zuwa takamaiman shafin meta ta amfani da mdbx_chk mai amfani.
  • Kafaffen kuskuren MDBX_PROBLEM da ba zato ba tsammani yana dawowa lokacin da ake sake rubuta wasu shafukan meta na gado.
  • Kafaffen dawowa MDBX_NOTFOUND idan akwai rashin daidaito lokacin sarrafa buƙatun MDBX_GET_BOTH.
  • Kafaffen kuskuren tattarawa akan Linux in babu fayilolin kai tare da kwatancen mu'amala tare da kernel.
  • Kafaffen rikici tsakanin tutar ciki MDBX_SHRINK_ALLOWED da zaɓi na MDBX_ACCDE.
  • An kawar da cak ɗin da ba dole ba.
  • Kafaffen dawowar bazata na MDBX_RESULT_TRUE daga aikin mdbx_env_set_option().
  • Gabaɗaya, an yi canje-canje sama da 90 zuwa fayiloli 25, ~ an ƙara layin 1300, ~ 600 an goge su.

source: budenet.ru

Add a comment