เด‰เดฏเตผเดจเตเดจ เดชเตเดฐเด•เดŸเดจเดฎเตเดณเตเดณ เด‰เตพเดšเตเดšเต‡เตผเดคเตเดค DBMS libmdbx 0.11.3 เดฑเดฟเดฒเต€เดธเต

เด‰เดฏเตผเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดคเดฏเตเดณเตเดณ เด•เต‹เด‚เดชเดพเด•เตเดฑเตเดฑเต เดŽเด‚เดฌเต†เดกเดกเต เด•เต€-เดตเดพเดฒเตเดฏเต‚ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเด•เตเด•เตŠเดฃเตเดŸเดพเดฃเต libmdbx 0.11.3 (MDBX) เดฒเตˆเดฌเตเดฐเดฑเดฟ เดชเตเดฑเดคเตเดคเดฟเดฑเด•เตเด•เดฟเดฏเดคเต. libmdbx เด•เต‹เดกเต OpenLDAP เดชเดฌเตเดฒเดฟเด•เต เดฒเตˆเดธเตปเดธเดฟเดจเต เด•เต€เดดเดฟเดฒเดพเดฃเต เดฒเตˆเดธเตปเดธเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดจเดฟเดฒเดตเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเตเด‚ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเด•เดณเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เด…เดคเตเดชเต‹เดฒเต† เดฑเดทเตเดฏเตป เดŽเตฝเดฌเตเดฐเดธเต 2000. 2021 เด…เดตเดธเดพเดจเดคเตเดคเต‹เดŸเต†, เดเดฑเตเดฑเดตเตเด‚ เดตเต‡เด—เดคเดฏเต‡เดฑเดฟเดฏ เดฐเดฃเตเดŸเต Ethereum เด•เตเดฒเดฏเตปเตเดฑเตเด•เดณเดฟเตฝ libmdbx เด’เดฐเต เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดฌเดพเด•เตเด•เต†เตปเดกเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต - เดŽเดฑเดฟเด—เต‹เดฃเดฟเดฒเตเด‚ เดชเตเดคเดฟเดฏ โ€œเดทเดพเตผเด•เตเด•เตโ€, เดฒเดญเตเดฏเดฎเดพเดฏเดคเดจเตเดธเดฐเดฟเดšเตเดšเต. เดตเดฟเดตเดฐเด‚, เดเดฑเตเดฑเดตเตเด‚ เด‰เดฏเตผเดจเตเดจ เดชเตเดฐเด•เดŸเดจเดฎเตเดณเตเดณ Ethereum เด•เตเดฒเดฏเตปเตเดฑเต เด†เดฃเต.

เดšเดฐเดฟเดคเตเดฐเดชเดฐเดฎเดพเดฏเดฟ, เดŽเตฝเดŽเด‚เดกเดฟเดฌเดฟ เดกเดฟเดฌเดฟเดŽเด‚เดŽเดธเดฟเตปเตเดฑเต† เด†เดดเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดพเดฃเดฎเดพเดฃเต libmdbx, เดตเดฟเดถเตเดตเดพเดธเตเดฏเดคเดฏเดฟเดฒเตเด‚ เดซเต€เดšเตเดšเตผ เดธเต†เดฑเตเดฑเดฟเดฒเตเด‚ เดชเตเดฐเด•เดŸเดจเดคเตเดคเดฟเดฒเตเด‚ เด…เดคเดฟเตปเตเดฑเต† เดชเต‚เตผเดตเตเดตเดฟเด•เดจเต†เด•เตเด•เดพเตพ เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต. LMDB-เดฏเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเตเดฎเตเดชเต‹เตพ, libmdbx เด•เต‹เดกเต เด—เตเดฃเดจเดฟเดฒเดตเดพเดฐเด‚, API เดธเตเดฅเดฟเดฐเดค, เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต, เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเดกเต เดšเต†เด•เตเด•เตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดŠเดจเตเดจเตฝ เดจเตฝเด•เตเดจเตเดจเต. เดšเดฟเดฒ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตฝ เด•เดดเดฟเดตเตเด•เดณเตเดณเตเดณ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด˜เดŸเดจเดฏเตเดŸเต† เดธเดฎเด—เตเดฐเดค เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, libmdbx, เดธเดฟเดชเดฟเดฏเต เด•เต‹เดฑเตเด•เดณเดฟเดฒเตเดŸเดจเต€เดณเด‚ เดฒเต€เดจเดฟเดฏเตผ เดธเตเด•เต†เดฏเดฟเดฒเดฟเด‚เด—เดฟเดจเตŠเดชเตเดชเด‚ ACID, เดถเด•เตเดคเดฎเดพเดฏ เดฎเดพเดฑเตเดฑ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป, เดจเต‹เตบ-เดฌเตเดฒเต‹เด•เตเด•เดฟเด‚เด—เต เดฑเต€เดกเตเด•เตพ เดŽเดจเตเดจเดฟเดต เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฏเดพเดจเตเดคเตเดฐเดฟเด• เด•เต‹เด‚เดชเดพเด•เตเดฑเตเดฑเดฟเดซเดฟเด•เตเด•เต‡เดทเตป, เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดธเตˆเดธเต เดฎเดพเดจเต‡เดœเตเดฎเต†เตปเตเดฑเต, เดฑเต‡เดžเตเดšเต เด•เตเดตเดฑเดฟ เดŽเดธเตเดฑเตเดฑเดฟเดฎเต‡เดทเตป เดŽเดจเตเดจเดฟเดต เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. 2016 เดฎเตเดคเตฝ, เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเต เดงเดจเดธเดนเดพเดฏเด‚ เดจเตฝเด•เตเดจเตเดจเดคเต เดชเต‹เดธเดฟเดฑเตเดฑเต€เดตเต เดŸเต†เด•เตเดจเต‹เดณเดœเต€เดธเต 2017 เดฎเตเดคเตฝ เด…เดคเดฟเตปเตเดฑเต† เด‰เตฝเดชเตเดชเดจเตเดจเด™เตเด™เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

libmdbx เด’เดฐเต C++ API เด“เดซเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† Rust, Haskell, Python, NodeJS, Ruby, Go, Nim เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด‰เดคเตเดธเดพเดนเดฟเด•เตพเด•เตเด•เต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เดญเดพเดทเดพ เดฌเตˆเตปเดกเดฟเด‚เด—เตเด•เดณเตเด‚ เดจเตฝเด•เตเดจเตเดจเต.

เด’เด•เตโ€ŒเดŸเต‹เดฌเตผ 11-เดฒเต† เดฎเตเตป เดตเดพเตผเดคเตเดคเด•เตพเด•เตเด•เต เดถเต‡เดทเด‚ เดšเต‡เตผเดคเตเดค เดชเตเดฐเดงเดพเดจ เด•เดฃเตเดŸเตเดชเดฟเดŸเตเดคเตเดคเด™เตเด™เดณเตเด‚ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เดณเตเด‚ เดคเดฟเดฐเตเดคเตเดคเดฒเตเด•เดณเตเด‚:

  • C++ API เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต เดคเดฏเตเดฏเดพเดฑเดพเดฃเต†เดจเตเดจเต เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต.
  • เดตเดฒเดฟเดฏ เด‡เดŸเดชเดพเดŸเตเด•เตพ เดจเดŸเดคเตเดคเตเดฎเตเดชเต‹เตพ GC เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดคเตเดตเดฐเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, Ethereum เด‡เด•เตเด•เต‹เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ libmdbx เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด‡เดคเต เดตเดณเดฐเต† เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต.
  • เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเตเดคเดพเดฐเตเดฏเดฎเดพเดฏ เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตปเตเดฑเต† เด†เดจเตเดคเดฐเดฟเด• เด’เดชเตเดชเต เดฎเดพเดฑเตเดฑเดฟ. เดจเดฟเดฒเดตเดฟเดฒเต† เดชเดคเดฟเดชเตเดชเตเด•เตพ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏ เด‡เดŸเดชเดพเดŸเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸ เดชเดคเดฟเดชเตเดชเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด…เดดเดฟเดฎเดคเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดคเต†เดฑเตเดฑเดพเดฏ เดชเต‹เดธเดฟเดฑเตเดฑเต€เดตเต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.
  • mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod(), mdbx_env_get_syncbytes() เดŽเดจเตเดจเต€ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ เดšเต‡เตผเดคเตเดคเต. MDBX_SET_UPPERBOUND เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต.
  • C++ 11/14/17/20 เดฎเต‹เดกเตเด•เดณเดฟเตฝ เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เด•เด‚เดชเตˆเดฒเดฑเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เดดเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เดณเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดฟ. เดฒเต†เด—เดธเดฟ เด•เด‚เดชเตˆเดฒเดฑเตเด•เดณเตเดฎเดพเดฏเตเดณเตเดณ เด…เดจเตเดฏเต‹เดœเตเดฏเดค เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเดจเตเดจเต: CentOS/RHEL 3.9-เดจเต cdevtoolset-4.8 เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด…เดธเด‚เดฌเตเดฒเดฟ เด‰เตพเดชเตเดชเต†เดŸเต†, 9 เดฎเตเดคเตฝ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจ clang, 7 เดฎเตเดคเตฝ gcc.
  • mdbx_chk เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโ€ŒเดŸ เดฎเต†เดฑเตเดฑเดพ เดชเต‡เดœเดฟเดฒเต‡เด•เตเด•เต เดธเตเดตเดฎเต‡เดงเดฏเดพ เดฎเดพเดฑเดฟเดฏเดคเดฟเดจเต เดถเต‡เดทเด‚ เด’เดฐเต เดฎเต†เดฑเตเดฑเดพ เดชเต‡เดœเต เดตเตˆเดฐเตเดฆเตเดงเตเดฏเดคเตเดคเดฟเตปเตเดฑเต† เดธเดพเดงเตเดฏเดค เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต.
  • เดฒเต†เด—เดธเดฟ เดฎเต†เดฑเตเดฑเดพ เดชเต‡เดœเตเด•เตพ เดคเดฟเดฐเตเดคเตเดคเดฟเดฏเต†เดดเตเดคเตเดฎเตเดชเต‹เตพ เด…เดชเตเดฐเดคเต€เด•เตเดทเดฟเดค MDBX_PROBLEM เดชเดฟเดถเด•เต เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต.
  • เด’เดฐเต MDBX_GET_BOTH เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด•เตƒเดคเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดค เดชเตŠเดฐเตเดคเตเดคเดฎเตเดฃเตเดŸเดพเดฏเดพเตฝ MDBX_NOTFOUND เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเต.
  • เด•เต‡เตผเดฃเดฒเตเดฎเดพเดฏเตเดณเตเดณ เด‡เตปเตเดฑเตผเดซเต‡เดธเตเด•เดณเตเดŸเต† เดตเดฟเดตเดฐเดฃเด™เตเด™เดณเตเดณเตเดณ เดนเต†เดกเตผ เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด…เดญเดพเดตเดคเตเดคเดฟเตฝ Linux-เตฝ เด’เดฐเต เด•เด‚เดชเตˆเดฒเต‡เดทเตป เดชเดฟเดถเด•เต เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต.
  • MDBX_SHRINK_ALLOWED เด†เดจเตเดคเดฐเดฟเด• เดซเตเดฒเดพเด—เตเด‚ MDBX_ACCEDE เด“เดชเตเดทเดจเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดตเตˆเดฐเตเดฆเตเดงเตเดฏเด‚ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต.
  • เด…เดจเดพเดตเดถเตเดฏเดฎเดพเดฏ เด…เดธเต†เตผเดŸเตเดŸเต เดšเต†เด•เตเด•เตเด•เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.
  • mdbx_env_set_option() เดซเด‚เด—เตโ€Œเดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ MDBX_RESULT_TRUE เดŽเดจเตเดจเดคเดฟเตปเตเดฑเต† เด…เดชเตเดฐเดคเต€เด•เตเดทเดฟเดค เดฑเดฟเดŸเตเดŸเต‡เตบ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต.
  • เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ, 90 เดซเดฏเดฒเตเด•เดณเดฟเตฝ 25-เดฒเดงเดฟเด•เด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเดฟ, ~ 1300 เดตเดฐเดฟเด•เตพ เดšเต‡เตผเดคเตเดคเต, ~ 600 เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดฟ.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•