เช‰เชšเซเชš-เชชเซเชฐเชฆเชฐเซเชถเชจ เชเชฎเซเชฌเซ‡เชกเซ‡เชก DBMS libmdbx 0.11.3 เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

libmdbx 0.11.3 (MDBX) เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช‰เชšเซเชš-เชชเซเชฐเชฆเชฐเซเชถเชจ เช•เซ‹เชฎเซเชชเซ‡เช•เซเชŸ เชเชฎเซเชฌเซ‡เชกเซ‡เชก เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชธเชพเชฅเซ‡ เชฌเชนเชพเชฐ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. libmdbx เช•เซ‹เชก OpenLDAP เชชเชฌเซเชฒเชฟเช• เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ เชฒเชพเช‡เชธเชจเซเชธ เชฅเชฏเซ‡เชฒ เช›เซ‡. เชคเชฎเชพเชฎ เชตเชฐเซเชคเชฎเชพเชจ เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ เช…เชจเซ‡ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเซเชธ, เชคเซ‡เชฎเชœ เชฐเชถเชฟเชฏเชจ เชเชฒเซเชฌเซเชฐเชธ 2000 เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡. 2021 เชจเชพ โ€‹โ€‹เช…เช‚เชคเซ‡, libmdbx เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฌเซ‡ เชธเซŒเชฅเซ€ เชเชกเชชเซ€ Ethereum เช•เซเชฒเชพเชฏเช‚เชŸ - Erigon เช…เชจเซ‡ เชจเชตเซ€ "Shark" เชฎเชพเช‚ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฌเซ‡เช•เชเชจเซเชก เชคเชฐเซ€เช•เซ‡ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ เช‰เชชเชฒเชฌเซเชง เช…เชจเซเชธเชพเชฐ เชฎเชพเชนเชฟเชคเซ€, เช‰เชšเซเชš-เชชเซเชฐเชฆเชฐเซเชถเชจ เช‡เชฅเซ‡เชฐเชฟเชฏเชฎ เช•เซเชฒเชพเชฏเช‚เชŸ เช›เซ‡.

เชเชคเชฟเชนเชพเชธเชฟเช• เชฐเซ€เชคเซ‡, libmdbx เช LMDB DBMS เชจเซเช‚ เชŠเช‚เชกเชพ เชชเซเชจเชƒเชกเชฟเชเชพเช‡เชจ เช›เซ‡ เช…เชจเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏเชคเชพ, เชตเชฟเชถเซ‡เชทเชคเชพ เชธเชฎเซ‚เชน เช…เชจเซ‡ เชชเซเชฐเชฆเชฐเซเชถเชจเชจเซ€ เชฆเซเชฐเชทเซเชŸเชฟเช เชคเซ‡เชจเชพ เชชเซ‚เชฐเซเชตเชœเชจเซ‡ เชตเชŸเชพเชตเซ€ เชœเชพเชฏ เช›เซ‡. LMDB เชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚, libmdbx เช•เซ‹เชก เช—เซเชฃเชตเชคเซเชคเชพ, API เชธเซเชฅเชฟเชฐเชคเชพ, เชชเชฐเซ€เช•เซเชทเชฃ เช…เชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เชคเชชเชพเชธ เชชเชฐ เช˜เชฃเซ‹ เชญเชพเชฐ เชฎเซ‚เช•เซ‡ เช›เซ‡. เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ€ เช…เช–เช‚เชกเชฟเชคเชคเชพ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ เช•เซ‡เชŸเชฒเชพเช• เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชคเชฟ เชตเชฟเช•เชฒเซเชชเซ‹ เชธเชพเชฅเซ‡ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€ เชฎเซเชœเชฌ, libmdbx ACID, เชฎเชœเชฌเซ‚เชค เชซเซ‡เชฐเชซเชพเชฐ เชธเซ€เชฐเซ€เชฏเชฒเชพเชˆเชเซ‡เชถเชจ เช…เชจเซ‡ เชธเชฎเช—เซเชฐ CPU เช•เซ‹เชฐเซ‹เชฎเชพเช‚ เชฐเซ‡เช–เซ€เชฏ เชธเซเช•เซ‡เชฒเชฟเช‚เช— เชธเชพเชฅเซ‡ เชจเซ‹เชจ-เชฌเซเชฒเซ‹เช•เซ€เช‚เช— เชฐเซ€เชก เช“เชซเชฐ เช•เชฐเซ‡ เช›เซ‡. เช“เชŸเซ‹-เช•เซ‹เชฎเซเชชเซ‡เช•เซเชŸเชฟเชซเชฟเช•เซ‡เชถเชจ, เช“เชŸเซ‹เชฎเซ‡เชŸเชฟเช• เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชพเช‡เช เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชฐเซ‡เชจเซเชœ เช•เซเชตเซ‡เชฐเซ€ เช…เช‚เชฆเชพเชœ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡. 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 เชฎเซ‹เชกเซเชธเชฎเชพเช‚ เชคเชฎเชพเชฎ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช•เชฎเซเชชเชพเช‡เชฒเชฐเซเชธ เชธเชพเชฅเซ‡ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡ เชคเชฎเชพเชฎ เชšเซ‡เชคเชตเชฃเซ€เช“ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เชฒเซ‡เช—เชธเซ€ เช•เชฎเซเชชเชพเช‡เชฒเชฐเซเชธ เชธเชพเชฅเซ‡ เชธเซเชธเช‚เช—เชคเชคเชพ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: 3.9 เชฅเซ€ เชถเชฐเซ‚ เชฅเชคเซ‹ เชฐเชฃเช•เชพเชฐ, 4.8 เชฅเซ€ เชถเชฐเซ‚ เชฅเชคเซ‹ gcc, CentOS/RHEL 9 เชฎเชพเชŸเซ‡ cdevtoolset-7 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเชนเชฟเชค.
  • 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

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹