เจ‰เฉฑเจš-เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจเจฎเจฌเฉˆเจกเจก DBMS libmdbx 0.11.3 เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

libmdbx 0.11.3 (MDBX) เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจ‰เฉฑเจš-เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจพเจฒเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจเจฎเจฌเฉˆเจกเจก เจ•เฉเฉฐเจœเฉ€-เจฎเฉเฉฑเจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจจเจพเจฒ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค libmdbx เจ•เฉ‹เจก OpenLDAP เจชเจฌเจฒเจฟเจ• เจฒเจพเจ‡เจธเฉˆเจ‚เจธ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจฒเจพเจ‡เจธเฉฐเจธเจธเจผเฉเจฆเจพ เจนเฉˆเฅค เจธเจพเจฐเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจ…เจคเฉ‡ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจธเจฎเจฐเจฅเจฟเจค เจนเจจ, เจจเจพเจฒ เจนเฉ€ เจฐเฉ‚เจธเฉ€ เจเจฒเจฌเจฐเจธ 2000เฅค 2021 เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, libmdbx เจจเฉ‚เฉฐ เจฆเฉ‹ เจธเจญ เจคเฉ‹เจ‚ เจคเฉ‡เจœเจผ เจˆเจฅเจฐเจฟเจ…เจฎ เจ•เจฒเจพเจ‡เฉฐเจŸเจธ - เจเจฐเฉ€เจ—เจจ เจ…เจคเฉ‡ เจจเจตเฉ€เจ‚ "เจธเจผเจพเจฐเจ•" เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฌเฉˆเจ•เจเจ‚เจก เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‰เจชเจฒเจฌเจง เจ…เจจเฉเจธเจพเจฐ เจœเจพเจฃเจ•เจพเจฐเฉ€, เจ‰เฉฑเจš-เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจˆเจฅเจฐเจฟเจ…เจฎ เจ•เจฒเจพเจ‡เฉฐเจŸ เจนเฉˆเฅค

เจ‡เจคเจฟเจนเจพเจธเจ• เจคเฉŒเจฐ 'เจคเฉ‡, 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 เจตเจพเจชเจธ เจ•เจฐเจจเจพ เจธเจฅเจฟเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • เจ•เจฐเจจเจฒ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉ‡ เจตเจฐเจฃเจจ เจฆเฉ‡ เจจเจพเจฒ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจ…เจฃเจนเฉ‹เจ‚เจฆ เจตเจฟเฉฑเจš เจฒเฉ€เจจเจ•เจธ เจ‰เฉฑเจคเฉ‡ เจ‡เฉฑเจ• เจธเฉฐเจ•เจฒเจจ เจ—เจฒเจคเฉ€ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • MDBX_SHRINK_ALLOWED เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจเฉฐเจกเฉ‡ เจ…เจคเฉ‡ MDBX_ACCEDE เจตเจฟเจ•เจฒเจช เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• เจŸเจ•เจฐเจพเจ… เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค
  • เจ•เจˆ เจฌเฉ‡เจฒเฉ‹เฉœเฉ€เจ†เจ‚ เจ…เจธเจฐเจŸ เจšเฉˆเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
  • mdbx_env_set_option() เจซเฉฐเจ•เจธเจผเจจ เจคเฉ‹เจ‚ MDBX_RESULT_TRUE เจฆเฉ€ เจธเจฅเจฟเจฐ เจ…เจšเจพเจจเจ• เจตเจพเจชเจธเฉ€เฅค
  • เจ•เฉเฉฑเจฒ เจฎเจฟเจฒเจพ เจ•เฉ‡, 90 เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš 25 เจคเฉ‹เจ‚ เจตเฉฑเจง เจฌเจฆเจฒเจพเจ… เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ, ~ 1300 เจฒเจพเจˆเจจเจพเจ‚ เจœเฉ‹เฉœเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจ, ~ 600 เจฎเจฟเจŸเจพ เจฆเจฟเฉฑเจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹