ืฉื—ืจื•ืจ ืฉืœ DBMS libmdbx 0.11.7. ื”ืขื‘ืจ ืืช ื”ืคื™ืชื•ื— ืœ-GitFlic ืœืื—ืจ ื”ื ืขื™ืœื” ื‘-GitHub

ืกืคืจื™ื™ืช libmdbx 0.11.7 (MDBX) ืฉื•ื—ืจืจื” ืขื ื™ื™ืฉื•ื ืฉืœ ืžืกื“ ื ืชื•ื ื™ื ืงื•ืžืคืงื˜ื™ ืžืฉื•ื‘ืฅ ืžืคืชื—-ืขืจืš ื‘ืขืœ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื. ื”ืงื•ื“ libmdbx ืžื•ืจืฉื” ืชื—ืช ื”ืจื™ืฉื™ื•ืŸ ื”ืฆื™ื‘ื•ืจื™ ืฉืœ OpenLDAP. ื›ืœ ืžืขืจื›ื•ืช ื”ื”ืคืขืœื” ื•ื”ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื”ื ื•ื›ื—ื™ื•ืช ื ืชืžื›ื•ืช, ื›ืžื• ื’ื Elbrus 2000 ื”ืจื•ืกื™.

ื”ืžื”ื“ื•ืจื” ื‘ื•ืœื˜ืช ื‘ืžืขื‘ืจ ืฉืœ ื”ืคืจื•ื™ืงื˜ ืœืฉื™ืจื•ืช GitFlic ืœืื—ืจ ืฉื‘-15 ื‘ืืคืจื™ืœ 2022, ื”ื ื”ืœืช GitHub, ืœืœื ื›ืœ ืื–ื”ืจื” ืื• ื”ืกื‘ืจ, ืžื—ืง ืืช libmdbx ื™ื—ื“ ืขื ืฉื•ืจื” ืฉืœ ืคืจื•ื™ืงื˜ื™ื ืื—ืจื™ื, ืชื•ืš ื—ืกื™ืžืช ื’ื™ืฉื” ืœืžืคืชื—ื™ื ืจื‘ื™ื ื”ืงืฉื•ืจื™ื ืœ- ื—ื‘ืจื•ืช ื”ื›ืคื•ืคื•ืช ืœืกื ืงืฆื™ื•ืช ืืžืจื™ืงืื™ื•ืช. ืžื ืงื•ื“ืช ืžื‘ื˜ื ืฉืœ ื”ืžืฉืชืžืฉื™ื, ื›ืœ ื”ื“ืคื™ื, ื”ืžืื’ืจ ื•ื”ืžื–ืœื’ื•ืช ืฉืœ ื”ืคืจื•ื™ืงื˜ ื”ืคื›ื• ืœืคืชืข ืœืขืžื•ื“ 404, ืœืœื ืืคืฉืจื•ืช ืœืชืงืฉื•ืจืช ื›ืœืฉื”ื™ ื•ืœื‘ืจืจ ืืช ื”ืกื™ื‘ื•ืช.

ืœืžืจื‘ื” ื”ืฆืขืจ, ื›ืžืขื˜ ื›ืœ ื”ื ื•ืฉืื™ื, ื‘ื”ื ื”ื™ื• ืฉืืœื•ืช ืจื‘ื•ืช ืขื ืชืฉื•ื‘ื•ืช ืžืคื•ืจื˜ื•ืช, ื›ืžื• ื’ื ื“ื™ื•ื ื™ื ืจื‘ื™ื, ืื‘ื“ื•. ืื•ื‘ื“ืŸ ื”ืžื™ื“ืข ื”ื–ื” ื”ื•ื ื”ื ื–ืง ื”ืื•ื‘ื™ื™ืงื˜ื™ื‘ื™ ื”ื™ื—ื™ื“ ืฉื”ื ื”ืœืช GitHub ื”ืฆืœื™ื—ื” ืœื’ืจื•ื ืœืคืจื•ื™ืงื˜. ืขื•ืชืงื™ื ื—ืœืงื™ื™ื ืฉืœ ื”ื“ื™ื•ื ื™ื ื ืฉืืจื™ื ื–ืžื™ื ื™ื ื‘-archive.org.

ืื•ื‘ื“ืŸ ืชืจื—ื™ืฉื™ CI ื•ืชืฉืชื™ืช ืžื•ื‘ื ื™ื (ื–ืžื™ื ื™ื ืขื‘ื•ืจ ืคืจื•ื™ืงื˜ื™ OpenSource ื‘ื—ื™ื ื) ืื™ืœืฅ ืื•ืชื ื• ืœื‘ืฆืข ืชื™ืงื•ืŸ, ืื™ื—ื•ื“ ื•ื—ื™ืกื•ืœ ื—ื•ื‘ื•ืช ื˜ื›ื ื™ื™ื ืงื˜ื ื™ื. ื›ืขืช CI ืฉื•ื—ื–ืจ ื›ืžืขื˜ ื‘ืื•ืชื” ืžื™ื“ื”, ืœืžืขื˜ ื‘ื“ื™ืงื•ืช ื”ื‘ื ื™ื™ื” ื•ื”ื”ืคืขืœื” ืขื‘ื•ืจ ื›ืœ ื’ืจืกืื•ืช ื”-BSD ื•ื”-Solaris. ื‘ื“ืจืš ื›ืœืœ, ืœืื—ืจ ื”ืคืขื•ืœื•ืช, GitHub ืœื ืงื™ื‘ืœื” ื›ืœ ื”ื‘ื”ืจื•ืช ืื• ื”ื•ื“ืขื•ืช, ืžืœื‘ื“ ืชื–ื›ื•ืจื•ืช ืขืœ ื”ืฆื•ืจืš ื‘ืชืฉืœื•ื ื•ื ื™ืกื™ื•ื ื•ืช ืœืžื—ื•ืง ื›ืกืฃ.

ืžืื– ื”ื—ื“ืฉื•ืช ื”ืื—ืจื•ื ื•ืช ืขืœ ืฉื—ืจื•ืจื• ืฉืœ libmdbx v0.11.3, ื‘ื ื•ืกืฃ ืœืฉื—ื–ื•ืจ ืžืคืขื•ืœื•ืช GitHub, ื›ื“ืื™ ืœืฉื™ื ืœื‘ ืœืฉื™ืคื•ืจื™ื ื•ื”ืชื™ืงื•ื ื™ื ื”ื‘ืื™ื:

  • ื ื•ืกืฃ ืคืชืจื•ืŸ ืœืขืงื™ืคืช ื”ื‘ืขื™ื” ืœืืคืงื˜/ืคื’ื ืฉืœ ื—ื•ืกืจ ืงื•ื”ืจื ื˜ื™ื•ืช ืฉื–ื•ื”ื” ื‘ืžื˜ืžื•ืŸ ื”ืžืฉื•ืœื‘ ืฉืœ ื”ืขืžื•ื“ ื•ื”ืžืื’ืจ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก. ื‘ืžืขืจื›ื•ืช ืฉื‘ื”ืŸ ืžื˜ืžื•ืŸ ื”ืขืžื•ื“ ื•ื”ืžืื’ืจ ืžืฉื•ืœื‘ื™ื ื‘ืืžืช, ืื™ืŸ ื˜ืขื ืฉื”ืงืจื ืœ ืžื‘ื–ื‘ื– ื–ื™ื›ืจื•ืŸ ืขื‘ื•ืจ ืฉื ื™ ืขื•ืชืงื™ื ืฉืœ ื ืชื•ื ื™ื ื‘ืขืช ื›ืชื™ื‘ื” ืœืงื•ื‘ืฅ ืฉื›ื‘ืจ ืžืžื•ืคื” ืœื–ื™ื›ืจื•ืŸ. ืœื›ืŸ, ื”ื ืชื•ื ื™ื ื”ื ื›ืชื‘ื™ื ื”ื•ืคื›ื™ื ืœื’ืœื•ื™ื™ื ื‘ืืžืฆืขื•ืช ืžื™ืคื•ื™ ื–ื™ื›ืจื•ืŸ ืœืคื ื™ ืฉื”ืงืจื™ืื” ืœืžืขืจื›ืช write() ืžืกืชื™ื™ืžืช, ื’ื ืื ื”ื ืชื•ื ื™ื ืขื“ื™ื™ืŸ ืœื ื ื›ืชื‘ื• ืœื“ื™ืกืง.

    ื‘ืื•ืคืŸ ื›ืœืœื™, ื”ืชื ื”ื’ื•ืช ืื—ืจืช ืื™ื ื” ืจืฆื™ื•ื ืœื™ืช, ืžื›ื™ื•ื•ืŸ ืฉืขื ืžื™ื–ื•ื’ ื“ื—ื•ื™, ืขื“ื™ื™ืŸ ืชืฆื˜ืจืš ืœืจื›ื•ืฉ ืžื ืขื•ืœื™ื ืœืจืฉื™ืžื•ืช ื“ืคื™ื, ืœื”ืขืชื™ืง ื ืชื•ื ื™ื ืื• ืœื”ืชืื™ื PTE. ืœื›ืŸ, ื›ืœืœ ื”ืงื•ื”ืจื ื˜ื™ื•ืช ื”ื‘ืœืชื™ ืžื“ื•ื‘ืจืช ื‘ืชื•ืงืฃ ืžืื– 1989, ื›ืืฉืจ ืžื˜ืžื•ืŸ ื”ืžืื’ืจ ื”ืžืื•ื—ื“ ื”ื•ืคื™ืข ื‘-SRV4. ืœื›ืŸ, ื–ื™ื”ื•ื™ ืงืจื™ืกื•ืช ืžื•ื–ืจื•ืช ื‘ืชืจื—ื™ืฉื™ ื ื™ืฆื•ืœ ื˜ืขื•ื ื™ื ืฉืœ libmdbx ื“ืจืฉ ืขื‘ื•ื“ื” ืจื‘ื”. ืชื—ื™ืœื” ืœืฉื—ื–ืจ ืืช ื”ื‘ืขื™ื”, ืื—ืจ ื›ืš ืœืืžืช ื”ืฉืขืจื•ืช ื•ืœื‘ื—ื•ืŸ ืฉื™ืคื•ืจื™ื.

    ื›ืขืช ืื ื• ื™ื›ื•ืœื™ื ืœื•ืžืจ ื‘ื‘ื™ื˜ื—ื•ืŸ ืฉื”ื‘ืขื™ื” ื–ื•ื”ืชื” ื‘ืฆื•ืจื” ืžื”ื™ืžื ื”, ืžืงื•ืžื™ืช ื•ื‘ื•ื˜ืœื” ื‘ืฆื•ืจื” ืžื”ื™ืžื ื”, ืœืžืจื•ืช ื”ืžื•ืจื›ื‘ื•ืช ื•ื”ืกืคืฆื™ืคื™ื•ืช ืฉืœ ืชืจื—ื™ืฉ ื”ื”ืชืจื‘ื•ืช. ื‘ื ื•ืกืฃ, ืคืขื•ืœืช ืžื ื’ื ื•ืŸ ื”ืขืงื™ืคื” ืื•ืฉืจื” ืขืœ ื™ื“ื™ ืื—ื“ ืžื”ืžืคืชื—ื™ื ืฉืœ Erigon (Ethereum); ื‘ืžืงืจื” ืฉืœื•, ื‘ื‘ื ื™ื™ืช ื ื™ืคื•ื™ ื”ื‘ืื’ื™ื, ื”ื”ื’ื ื” ื”ื•ืคืขืœื” ื›ืจื’ืจืกื™ื” ืขืงื‘ ื‘ื“ื™ืงืช ื˜ืขื ื” ืžื™ื•ืชืจืช.

    ื™ืฉ ืœืฆื™ื™ืŸ ื›ื™ ื‘ื”ืงืฉืจ ืฉืœ ื”ืฉื™ืžื•ืฉ ื”ื ืจื—ื‘ ื‘-libmdbx ื‘ืคืจื•ื™ืงื˜ื™ ื™ื™ืฆื•ืจ, ื”ื‘ื˜ื—ืช ืคืขื•ืœื” ืืžื™ื ื” ื—ืฉื•ื‘ื” ื‘ื™ืกื•ื“ื” ืžืืฉืจ ืœื”ื‘ื™ืŸ ืื ื–ื” ื‘ืื’ ืื• ืชื›ื•ื ื” ื•ื”ืื ื ื™ืชืŸ ืœืกืžื•ืš ืขืœ ืงื•ื”ืจื ื˜ื™ื•ืช ื›ื–ื•, ื•ืคื—ื•ืช ืžื›ืš ื—ื™ืคื•ืฉ ืื—ืจ ื’ื•ืจืžื™ื ืœื—ื•ืกืจ ืงื•ื”ืจื ื˜ื™ื•ืช ื‘ืชื•ืš ืœื™ื‘ืช ืœื™ื ื•ืงืก. ืœื›ืŸ, ื›ืืŸ ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ืชื™ืงื•ืŸ ื‘ืขื™ื” ืฉืื•ืœื™ ื”ืฉืคื™ืขื” ืขืœ ืžืฉืชืžืฉื™ื.

  • ื”ืจื’ืจืกื™ื” ืฉืœ ืฉื’ื™ืืช EXDEV (ืงื™ืฉื•ืจ ื—ื•ืฆื”-ืžื›ืฉื™ืจ) ื‘ืขืช ื”ืขืชืงื” ื—ืžื” ืฉืœ ืžืกื“ ื ืชื•ื ื™ื ืœืœื ื“ื—ื™ืกื” ืœืžืขืจื›ืช ืงื‘ืฆื™ื ืื—ืจืช, ื”ืŸ ื“ืจืš ื”-API ื•ื”ืŸ ืขื ื›ืœื™ ื”ืฉื™ืจื•ืช mdbx_copy, ื‘ื•ื˜ืœื”.
  • Kris Zyp ื”ื˜ืžื™ืข ืชืžื™ื›ืช libmdbx ื‘-Deno. ืงืื™ ื•ื•ื˜ืœืกืŸ ืขื™ืฆื‘ ืืจื™ื–ื•ืช RPM ืขื‘ื•ืจ ืคื“ื•ืจื”. ื“ื™ื•ื•ื™ื“ ื‘ื•ื™ืกื™ ื™ื™ืฉื ื›ืจื™ื›ื•ืช ืขื‘ื•ืจ ืกืงืืœื”.
  • ืขื™ื‘ื•ื“ ืงื‘ื•ืข ืฉืœ ื”ืขืจืš ืฉืฆื•ื™ืŸ ืขืœ ื™ื“ื™ ืืคืฉืจื•ืช MDBX_opt_rp_augment_limit ื‘ืขืช ืขื™ื‘ื•ื“ ืขืกืงืื•ืช ืขื ืง ื‘ื‘ืกื™ืกื™ ื ืชื•ื ื™ื ื’ื“ื•ืœื™ื. ื‘ืขื‘ืจ, ืขืงื‘ ืฉื’ื™ืื”, ื™ื›ืœื• ืœื”ืชื‘ืฆืข ืคืขื•ืœื•ืช ืžื™ื•ืชืจื•ืช, ืฉืœืขืชื™ื ื”ืฉืคื™ืขื• ืขืœ ื”ื‘ื™ืฆื•ืขื™ื ื‘ื™ื™ืฉื•ืžื™ Ethereum (Erigon/Akula/Silkworm) ื•-Binance Chain.
  • ื”ืจื‘ื” ื‘ืื’ื™ื ืชื•ืงื ื•, ื›ื•ืœืœ ื‘-C++ API. ืชื™ืงืŸ ื‘ืขื™ื•ืช ื‘ื ื™ื™ื” ืจื‘ื•ืช ื‘ืชืฆื•ืจื•ืช ื ื“ื™ืจื•ืช ื•ืืงื–ื•ื˜ื™ื•ืช. ืจืฉื™ืžื” ืžืœืื” ืฉืœ ื›ืœ ื”ืฉื™ืคื•ืจื™ื ื”ืžืฉืžืขื•ืชื™ื™ื ื–ืžื™ื ื” ื‘-ChangeLog.
  • ื‘ืกืš ื”ื›ืœ ื‘ื•ืฆืขื• 185 ืฉื™ื ื•ื™ื™ื ื‘-89 ืงื‘ืฆื™ื, ื ื•ืกืคื• โ‰ˆ3300 ืฉื•ืจื•ืช, โ‰ˆ4100 ื ืžื—ืงื•. ืขื•ื“ ื”ื•ืกืจื• ื‘ืขื™ืงืจ ืขืงื‘ ื ื™ืงื•ื™ ืงื‘ืฆื™ ื˜ื›ื ื•ืœื•ื’ื™ื” ื—ืกืจื™ ืชื•ืขืœืช ืžืžื™ืœื ื”ืงืฉื•ืจื™ื ืœ-GitHub ื•ืœืฉื™ืจื•ืชื™ื ื”ืชืœื•ื™ื™ื.

ืžื‘ื—ื™ื ื” ื”ื™ืกื˜ื•ืจื™ืช, libmdbx ื”ื•ื ืขื™ื‘ื•ื“ ืžืขืžื™ืง ืฉืœ ื”-LMDB DBMS ื•ื”ื•ื ืขื“ื™ืฃ ืขืœ ื”ืื‘ ื”ืงื“ืžื•ืŸ ืฉืœื• ื‘ืืžื™ื ื•ืช, ืžืขืจืš ืชื›ื•ื ื•ืช ื•ื‘ื™ืฆื•ืขื™ื. ื‘ื”ืฉื•ื•ืื” ืœ-LMDB, libmdbx ืฉืžื” ื“ื’ืฉ ืจื‘ ืขืœ ืื™ื›ื•ืช ืงื•ื“, ื™ืฆื™ื‘ื•ืช API, ื‘ื“ื™ืงื•ืช ื•ื‘ื“ื™ืงื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช. ืžืกื•ืคืง ื›ืœื™ ืขื–ืจ ืœื‘ื“ื™ืงืช ืชืงื™ื ื•ืช ืžื‘ื ื” ืžืกื“ ื”ื ืชื•ื ื™ื ืขื ื›ืžื” ื™ื›ื•ืœื•ืช ืฉื—ื–ื•ืจ.

ืžื‘ื—ื™ื ื” ื˜ื›ื ื•ืœื•ื’ื™ืช, libmdbx ืžืฆื™ืข ACID, ืกื™ื“ื•ืจื™ ืฉื™ื ื•ื™ื™ื ื—ื–ืงื™ื ื•ืงืจื™ืื•ืช ืœื ื—ื•ืกืžื•ืช ืขื ืงื ื” ืžื™ื“ื” ืœื™ื ื™ืืจื™ ืขืœ ืคื ื™ ืœื™ื‘ื•ืช ื”ืžืขื‘ื“. ื”ืงื•ืžืคืงืฆื™ื” ืื•ื˜ื•ืžื˜ื™ืช, ื ื™ื”ื•ืœ ื’ื•ื“ืœ ืžืกื“ ื ืชื•ื ื™ื ืื•ื˜ื•ืžื˜ื™ ื•ื”ืขืจื›ืช ืฉืื™ืœืชืช ื˜ื•ื•ื— ื ืชืžื›ื™ื. ืžืื– 2016, ื”ืคืจื•ื™ืงื˜ ืžืžื•ืžืŸ ืขืœ ื™ื“ื™ Positive Technologies ื•ืžืฉืžืฉ ื‘ืžื•ืฆืจื™ื” ืžืื– 2017.

libmdbx ืžืฆื™ืขื” API ืžืคื•ืชื— ืฉืœ C++, ื›ืžื• ื’ื ื›ืจื™ื›ื•ืช ื ืชืžื›ื•ืช ืขืœ ื™ื“ื™ ื—ื•ื‘ื‘ื™ื ืœืฉืคื•ืช Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”