เจชเฉฐเจœ เจธเจพเจฒเจพเจ‚ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฆเฉ‚เจœเจพ libmdbx v1.0 เจฐเฉ€เจฒเฉ€เจœเจผ เจ‰เจฎเฉ€เจฆเจตเจพเจฐเฅค

เจฒเจพเจ‡เจฌเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ libmdbx LMDB เจฆเจพ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉเฉœ เจกเจฟเจœเจผเจพเจ‡เจจ เจ•เฉ€เจคเจพ เจตเฉฐเจธเจผเจœ เจนเฉˆ - เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจ‰เฉฑเจš-เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจพเจฒเจพ, เจธเฉฐเจ–เฉ‡เจช เจเจฎเจฌเฉˆเจกเจก เจ•เฉเฉฐเจœเฉ€-เจฎเฉเฉฑเจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธเฅค
เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ v0.5 เจ‡เฉฑเจ• เจคเจ•เจจเฉ€เจ•เฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจนเฉˆ, เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจชเจนเจฟเจฒเฉ€ เจชเฉ‚เจฐเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจฆเฉ‡ เจฌเจพเจ…เจฆ เจฆเฉ‡ เจ—เจ เจจ เจฆเฉ‡ เจจเจพเจฒ, เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเฉเจงเจพเจฐ เจฆเฉ‡ เจฎเฉเจ•เฉฐเจฎเจฒ เจนเฉ‹เจฃ เจ…เจคเฉ‡ เจœเจจเจคเจ• เจ…เฉฐเจคเจฎ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ…เจคเฉ‡ เจธเจฅเจฟเจฐเจคเจพ เจฆเฉ‡ เจชเฉœเจพเจ… เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

LMDB 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจ‡เฉฑเจ• เจ•เจพเจซเจผเฉ€ เจœเจพเจฃเจฟเจ†-เจชเจ›เจพเจฃเจฟเจ† เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจฒ เจเจฎเจฌเฉ‡เจกเจก เจ•เฉเฉฐเจœเฉ€-เจฎเฉเฉฑเจฒ DBMS เจนเฉˆ เจฐเฉเฉฑเจ– B+ เจฌเจฟเจจเจพ เจธเจฐเจ—เจฐเจฎ เจฒเจพเจ—เจฟเฉฐเจ—, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจธเจฅเจพเจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจพเจ‚เจเฉ‡ เจ•เฉ€เจคเฉ‡ (เจจเฉˆเจŸเจตเจฐเจ• เจจเจนเฉ€เจ‚) เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจ…เจคเฉ‡ เจฌเจนเฉเจค เจ•เฉเจธเจผเจฒเจคเจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจก เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ‡ เจเฉเฉฐเจก เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš, MDBX LMDB เจจเจพเจฒเฉ‹เจ‚ เจคเฉ‡เจœเจผ เจ…เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจญเจฐเฉ‹เจธเฉ‡เจฎเฉฐเจฆ เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ libmdbx เจ†เจชเจฃเฉ‡ เจชเฉ‚เจฐเจตเจœ เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจฎเฉเฉฑเจ– เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจ•เจฐเจพเจฐ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ ACID เจ…เจคเฉ‡ CPU เจ•เฉ‹เจฐเจพเจ‚ เจตเจฟเฉฑเจš เจฒเฉ€เจจเฉ€เจ…เจฐ เจธเจ•เฉ‡เจฒเจฟเฉฐเจ— เจจเจพเจฒ เจ—เฉˆเจฐ-เจฌเจฒเจพเจ•เจฟเฉฐเจ— เจฐเฉ€เจก, เจ…เจคเฉ‡ เจ•เจˆ เจจเจตเฉ‡เจ‚ เจœเฉ‹เฉœเจฆเฉ‡ เจนเจจเฅค

LMDB เจฆเฉ‡ เจธเจฌเฉฐเจง เจตเจฟเฉฑเจš libmdbx เจฆเฉ‡ เจ…เฉฐเจคเจฐเจพเจ‚ เจ…เจคเฉ‡ เจธเฉเจงเจพเจฐเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฒเฉ‡เจ– เจฆเจพ เจนเฉฑเจ•เจฆเจพเจฐ เจนเฉˆ (เจนเฉˆเจฌเจฐเฉ‡ เจ…เจคเฉ‡ เจฎเฉ€เจกเฉ€เจ…เจฎ 'เจคเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจนเฉˆ)เฅค เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ…เจคเฉ‡ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจฆเจพ เจœเจผเจฟเจ•เจฐ เจ•เจฐเจจเจพ เจ‰เจšเจฟเจค เจนเฉˆ:

  • เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡, เจ•เฉ‹เจก เจ—เฉเจฃเจตเฉฑเจคเจพ, เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ…เจคเฉ‡ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจœเจพเจ‚เจšเจพเจ‚ 'เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจงเจฟเจ†เจจ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  • เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจคเฉ‹เจ‚ เจฒเฉˆ เจ•เฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ†เจกเจฟเจŸ เจคเฉฑเจ•, เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเฉŒเจฐเจพเจจ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃเฅค
  • เจ†เจŸเฉ‹-เจ•เฉฐเจชเฉˆเจ•เจŸเฉ€เจซเจฟเจ•เฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจกเจพเจŸเจพเจฌเฉ‡เจธ เจ†เจ•เจพเจฐ เจชเฉเจฐเจฌเฉฐเจงเจจเฅค
  • 32-เจฌเจฟเฉฑเจŸ เจ…เจคเฉ‡ 64-เจฌเจฟเฉฑเจŸ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€เจ†เจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจซเจพเจฐเจฎเฉˆเจŸเฅค
  • เจฐเฉ‡เจ‚เจœเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจจเจฎเฉ‚เจจเฉ‡ เจฆเฉ‡ เจ†เจ•เจพเจฐ เจฆเจพ เจ…เจจเฉเจฎเจพเจจ (เจฐเฉ‡เจ‚เจœ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ…เจจเฉเจฎเจพเจจ)เฅค
  • เจชเฉˆเจจเจ•เฉ‡เจ• เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉเจ†เจฐเจพ เจšเฉเจฃเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจชเฉฐเจจเฉ‡ เจฆเฉ‡ เจ†เจ•เจพเจฐ เจคเฉ‹เจ‚ เจฆเฉเฉฑเจ—เจฃเฉ€ เจตเฉฑเจกเฉ€เจ†เจ‚ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจเฅค

libmdbx เจฐเฉ€เจฒเฉ€เจœเจผ เจ‰เจฎเฉ€เจฆเจตเจพเจฐ เจ…เจ—เจธเจค 2019 เจตเจฟเฉฑเจš MDBX เจ…เจคเฉ‡ MithrilDB เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเจจ เจฆเฉ‡ เจซเฉˆเจธเจฒเฉ‡ (เจนเฉ‡เจ เจพเจ‚ เจฆเฉ‡เจ–เฉ‹) เจฆเจพ เจจเจคเฉ€เจœเจพ เจนเฉˆเฅค เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚, libmdbx เจจเฉ‡ (เจคเจฐเจ•เจธเฉฐเจ—เจค) เจ…เจงเจฟเจ•เจคเจฎ เจคเจ•เจจเฉ€เจ•เฉ€ เจ•เจฐเจœเจผเฉ‡ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจ…เจคเฉ‡ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจธเจฅเจฟเจฐ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจตเจพเจธเจคเจต เจตเจฟเฉฑเจš, เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ…เฉฐเจฆเจพเจœเจผเฉ‡ เจ…เจคเฉ‡ เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจจเจพเจฒเฉ‹เจ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš 2-3 เจ—เฉเจฃเจพ เจœเจผเจฟเจ†เจฆเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

  • เจฎเฉˆเจ• เจ“เจเจธ เจ…เจคเฉ‡ เจฆเฉ‚เจœเฉ‡-เจŸเฉ€เจ…เจฐ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ: เจซเฉเจฐเฉ€เจฌเฉ€เจเจธเจกเฉ€, เจธเฉ‹เจฒเจพเจฐเจฟเจธ, เจกเจฐเฉˆเจ—เจจเจซเจฒเจพเจˆ เจฌเฉ€เจเจธเจกเฉ€, เจ“เจชเจจเจฌเฉ€เจเจธเจกเฉ€, เจจเฉˆเฉฑเจŸเจฌเฉ€เจเจธเจกเฉ€เฅค AIX เจ…เจคเฉ‡ HP-UX เจธเจนเจฟเจฏเฉ‹เจ— เจจเฉ‚เฉฐ เจฒเฉ‹เฉœ เจ…เจจเฉเจธเจพเจฐ เจœเฉ‹เฉœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค
  • เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจ…เจจเจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจตเจฟเจตเจนเจพเจฐ เจธเฉˆเจจเฉ€เจŸเจพเจˆเจœเจผเจฐ เจ…เจคเฉ‡ เจเจกเจฐเฉˆเฉฑเจธ เจธเฉˆเจจเฉ€เจŸเจพเจˆเจœเจผเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฐเฉ‹เจ—เจพเจฃเฉ‚-เจฎเฉเจ•เจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, -Wpedantic เจจเจพเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚, เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจตเจฐเจฟเจŸเฉ€ เจธเจŸเฉˆเจŸเจฟเจ• เจเจจเจพเจฒเจพเจˆเจœเจผเจฐ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจ†เจฆเจฟ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค
  • เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเฉ‹ API เจตเจฐเจฃเจจ.
  • เจเจฎเจฌเฉˆเจกเจฟเฉฐเจ— เจฆเฉ€ เจธเฉŒเจ– เจฒเจˆ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฆเจพ เจฎเฉ‡เจฒเฅค
  • CMake เจธเจนเจฟเจฏเฉ‹เจ—.
  • เจจเฉ‡เจธเจŸเจก เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจเฅค
  • เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟ เจ•เฉ€ OS เจฐเฉ€เจฌเฉ‚เจŸ เจนเฉ‹เจ‡เจ† เจนเฉˆ (เจ—เฉฐเจฆเจพ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจธเจŸเจพเจช) bootid เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพเฅค
  • เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡/เจชเฉเจฐเจพเจฃเฉ‡ เจชเฉฐเจจเจฟเจ†เจ‚ เจฆเฉ€ เจ…เฉฐเจค-เจคเฉ‹เจ‚-เจ…เฉฐเจค เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจ…เจคเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจœเจพเจฃเจ•เจพเจฐเฉ€เฅค
  • เจ…เจจเฉเจ•เฉ‚เจฒ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจ–เฉเฉฑเจฒเฉเจนเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจœเฉเฉœเจจ เจฒเจˆ เจตเจฟเจ•เจฒเจช MDBX_ACCEDEเฅค
  • เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ OFD เจฌเจฒเจพเจ•เจฟเฉฐเจ— เจœเจฆเฉ‹เจ‚ เจ‰เจชเจฒเจฌเจง เจนเฉ‹เจตเฉ‡เฅค
  • เจชเจพเจˆเจช เจตเจฟเฉฑเจš เจ—เจฐเจฎ เจฌเฉˆเจ•เจ…เฉฑเจช.
  • เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจ›เจพเจ‚เจŸเฉ€ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ (qsort() เจจเจพเจฒเฉ‹เจ‚ 2-3 เจ—เฉเจฃเจพ เจคเฉ‡เจœเจผ เจ…เจคเฉ‡ std::sort() เจจเจพเจฒเฉ‹เจ‚ 30% เจคเฉฑเจ• เจคเฉ‡เจœเจผ)เฅค
  • เจ…เจงเจฟเจ•เจคเจฎ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจตเจงเจพเจˆ เจ—เจˆ เจนเฉˆเฅค
  • เจ…เฉฑเจ—เฉ‡ เจชเฉœเฉเจนเจจ เจฆเจพ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจจเจฟเจฏเฉฐเจคเจฐเจฃ (เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจซเจพเจˆเจฒ เจ•เฉˆเจšเจฟเฉฐเจ— เจฐเจฃเจจเฉ€เจคเฉ€)เฅค
  • เจตเจงเฉ‡เจฐเฉ‡ เจนเจฎเจฒเจพเจตเจฐ เจ…เจคเฉ‡ เจคเฉ‡เจœเจผ เจ†เจŸเฉ‹-เจธเฉฐเจ•เฉเจšเจฟเจคเฉ€เจ•เจฐเจจเฅค
  • B+ เจŸเฉเจฐเฉ€ เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฐเจฃเจจเฉ€เจคเฉ€เฅค
  • เจกเจพเจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจจเฉเจ•เจธเจพเจจ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจ—เฉˆเจฐ-เจธเจฅเจพเจจเจ• เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ (NFS, เจธเจพเจ‚เจฌเจพ, เจ†เจฆเจฟ) เจฆเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจœเฉ‡เจ•เจฐ เจ—เจฒเจค เจขเฉฐเจ— เจจเจพเจฒ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  • เจŸเฉˆเจธเจŸเจพเจ‚ เจฆเฉ‡ เจธเจฎเฉ‚เจน เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

libmdbx เจฆเฉ‡ "เจ…เจ—เจฒเฉ‡" เจธเฉฐเจธเจ•เจฐเจฃ เจฆเจพ เจตเจฟเจ•เจพเจธ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจœเฉ‹เจ‚ เจœเจพเจฐเฉ€ เจฐเจนเฉ‡เจ—เจพ MithrilDB, เจœเจฆเฉ‹เจ‚ เจ•เจฟ MDBX เจฆเฉ‡ "เจฎเฉŒเจœเฉ‚เจฆเจพ" เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจตเฉˆเจ•เจŸเจฐ เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจธเฉˆเฉฑเจŸ เจจเฉ‚เฉฐ เจซเฉเจฐเฉ€เจœเจผ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฅเจฟเจฐ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ‡เจน เจซเฉˆเจธเจฒเจพ เจคเจฟเฉฐเจจ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡ เจฒเจฟเจ† เจ—เจฟเจ† เจธเฉ€:

  • เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ…เจธเฉฐเจ—เจค: MithrilDB เจจเฉ‚เฉฐ เจธเจพเจฐเฉ€เจ†เจ‚ เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ (เจ…เจธเฉฐเจ—เจค) เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจซเจพเจˆเจฒ เจซเจพเจฐเจฎเฉˆเจŸ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ (เจ…เจธเฉฐเจ—เจค) API เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค
  • เจจเจตเจพเจ‚ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก: MithrilDB เจธเฉ‹เจฐเจธ เจ•เฉ‹เจก เจจเฉ‚เฉฐ LMDB เจคเฉ‹เจ‚ เจธเฉเจคเฉฐเจคเจฐ เจฒเจพเจ‡เจธเฉฐเจธเจธเจผเฉเจฆเจพ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจ–เฉเจฆ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฒเจพเจ‡เจธเฉˆเจ‚เจธ เจฆเฉ‡ เจคเจนเจฟเจค เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจนเฉˆ (เจ‡เจธ เจฆเฉเจ†เจฐเจพ เจฎเจจเจœเจผเฉ‚เจฐ เจ“.เจเฉฑเจธ.เจ†เจˆ. เจฒเจพเจ‡เจธเฉฐเจธ เจ…เจชเจพเจšเฉ‡ 2.0เจ…เจคเฉ‡ เจจเจนเฉ€เจ‚ OpenLDAP เจซเจพเจŠเจ‚เจกเฉ‡เจธเจผเจจ).
  • เจตเจฟเจ›เฉ‹เฉœเจพ เจธเฉฐเจญเจพเจตเฉ€ เจ‰เจฒเจเจฃ เจคเฉ‹เจ‚ เจฌเจšเจฆเจพ เจนเฉˆ, เจตเจงเฉ‡เจฐเฉ‡ เจจเจฟเจธเจผเจšเจฟเจคเจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฆเจพ เจ…เฉฑเจ—เฉ‡ เจ‡เฉฑเจ• เจธเฉเจคเฉฐเจคเจฐ เจฎเจพเจฐเจ— เจนเฉˆเฅค

MithrilDB, MDBX เจตเจพเจ‚เจ—, เจตเฉ€ เจ†เจงเจพเจฐเจฟเจค เจนเฉˆ เจฐเฉเฉฑเจ– B+ เจ…เจคเฉ‡ MDBX เจ…เจคเฉ‡ LMDB เจฆเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจจเฉเจ•เจธเจพเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจฌเจนเฉเจค เจ‰เฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเฉ€ เจชเฉ‡เจธเจผ เจ•เจฐเฉ‡เจ—เจพเฅค เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, "เจฒเฉฐเจฌเฉ€ เจฐเฉ€เจกเจฟเฉฐเจ—" เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจœเฉ‹ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ€ "เจธเฉ‹เจœ" เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจชเฉเจฐเจ—เจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เจฟ เจ•เฉ‚เฉœเฉ‡ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจฒเฉฐเจฌเฉ‡ เจชเฉœเฉเจนเจจ เจฆเฉ‡ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฆเฉเจ†เจฐเจพ เจฌเจฒเฉŒเจ• เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจจเจตเฉ‡เจ‚ MithrilDB เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเจจ:

  • เจกเจพเจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจ•เจˆ เจตเจฟเจญเจฟเฉฐเจจ เจฎเฉ€เจกเฉ€เจ† 'เจคเฉ‡ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจธเจฎเจฐเจฅเจจ: HDD, SSD เจ…เจคเฉ‡ เจ—เฉˆเจฐ-เจ…เจธเจฅเจฟเจฐ เจฎเฉˆเจฎเฉ‹เจฐเฉ€เฅค
  • "เจ•เฉ€เจฎเจคเฉ€" เจ…เจคเฉ‡ "เจ˜เฉฑเจŸ-เจฎเฉเฉฑเจฒ" เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒ เจฐเจฃเจจเฉ€เจคเฉ€เจ†เจ‚, "เจ—เจฐเจฎ", "เจจเจฟเฉฑเจ˜เฉ‡" เจ…เจคเฉ‡ "เจ เฉฐเจกเฉ‡" เจกเฉ‡เจŸเจพ เจฒเจˆเฅค
  • เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ€ เจ‡เจ•เจธเจพเจฐเจคเจพ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจ เจฒเจˆ เจฎเจฐเจ•เจฒ เจŸเฉเจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ.
  • WAL เจฆเฉ€ เจ…เจ–เจผเจคเจฟเจ†เจฐเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ…เจคเฉ‡ เจฐเจพเจˆเจŸ-เจ‡เฉฐเจŸเฉˆเจ‚เจธเจฟเจต เจฆเฉเจฐเจฟเจธเจผเจพเจ‚ เจ…เจคเฉ‡ เจกเจพเจŸเจพ เจ‡เจ•เจธเจพเจฐเจคเจพ เจ—เจพเจฐเฉฐเจŸเฉ€ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจจเฅค
  • เจกเจฟเจธเจ•เจพเจ‚ 'เจคเฉ‡ เจกเจพเจŸเจพ เจฆเจพ เจ†เจฒเจธเฉ€ เจ•เฉˆเจš-เจ…เฉฑเจช เจซเจฟเจ•เจธเฉ‡เจธเจผเจจเฅค

เจธเจฐเฉ‹เจค: linux.org.ru

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