αααααΆααα libmdbx 0.11.3 (MDBX) ααααΌαβααΆαβα ααβααααΆαβααΆαα½αβααΉαβααΆαβα’αα»ααααβααΌαααααΆαβαα·ααααααβαααααβααβαααβααΆαβααααααβαααβααΆαβααααα·αααααΆαβαααααα αααααΌα libmdbx ααααΌαααΆααααααα’αΆααααΆααααααααααα’αΆααααΆαααααααΆααΆααα OpenLDAP α ααααααααααααα·ααααα·ααΆα αα·αααααΆαααααααααα αα α»ααααααααΆααα’ααααααΌαααΆαααΆαααα ααααΌα ααΆ Russian Elbrus 2000α αα α α»αααααΆα 2021 libmdbx ααααΌαααΆαααααΎααΆαααααααΆααααααααααΆααααα»ααα αααα»ααααΆαααΈαααααα Ethereum αααααΏααααα»αααΈαααΊ Erigon αα·α "Shark" ααααΈ αααααααα ααΆαααΆα ααααααΆαααΊααΆα’αα·αα·αα Ethereum αααααααΎαααΆαααααααααα»αα
ααΆαααααααα·ααΆααααα libmdbx ααΊααΆααααΎαααΆαα‘αΎααα·ααααΆααααΈααααα αα LMDB DBMS α αΎααααααΎαααΆααα»ααααα»αααααααααα½ααααα»αααΆαααΏααΆαα αααα»ααααααααα·ααα αα·αααΆαα’αα»ααααα ααΎαααααααααα ααΉα LMDB, libmdbx αααααααΎαα»αααΆαααΌα αααααααΆα API ααΆαααααΎααααα αα·αααΆααααα½ααα·αα·ααααααααααααααααααα·α α§αααααααααΎααααΆαααααααΆαααα·αα·αααααΎαααΆααα»α αα·ααααα ααΆααααααααααΌαααααΆααα·αααααααααααΆααααααααΆααααααααααα½αα ααα½αααααΌαααΆαααααααααααα
ααΆααα αα αααα·ααααΆ libmdbx αααααααΌα ACID ααΆαααααΆααααααΌαααααΉαααΆα serialization αα·αααΆαα’αΆαααααα·ααααααααΆααααΆαα½αααΉαααΆαααααΎααΆαααααααΆαααΈααα’αααααααααΆααααααΌααααΈααΈααΌα ααΆαααααα½ααααααααααααααααα· ααΆααααααααααααα αααΌαααααΆααα·αααααααααααααααααααααα· αα·αααΆααααΆαααααααΆααααα½ααα½αααααΌαααΆαααΆααααα α αΆααααΆααααΈααααΆα 2016 αα αααααααααααααΌαααΆααααααααΌααα·αα·ααα Positive Technologies α αΎαααααΌαααΆαααααΎααααΆαααααα»αααα·ααααααααααα½αααΆααααΈααααΆα 2017α
libmdbx αααααααΌα C++ API ααααΌα ααΆααΆαα αααΆααΆαααααΆαααααααα’αααα αΌαα α·ααααααααΆαα Rust, Haskell, Python, NodeJS, Ruby, Go αα·α Nim α
ααΆαα αααααααα·α ααΆααααααα’ αα·αααΆααααααααΌαααααΆαααααΆαααααααα αΆααααΆααααΈααααααΆααα»ααα ααααααΈ 11 αααα»ααΆα
- C++ API ααααΌαααΆαα αΆαααα»αααΆαα½α ααΆαααααααΆααααΆαααααΎααααΆααα
- ααΆαααααΎαα αα α»ααααααααΆααα·αααααα GC αα αααααααΎααααα·ααααα·ααΆαααααααααΌαααΆααααααΏααααΆαααααΆαα αααααΆαααΆααααααΆααααΆαα·ααααα αααααααΎ libmdbx αα αααα»αααααααααα’αααΌ Ethereum α
- α αααααααΆααΆααααα»αααααααααααΌαααααΆααα·ααααααααααΌαααΆαααααΆααααααΌα ααΎααααΈααΆααααααΆαααααΎαα αα α»ααααααααΆααααααααααααααααα· αααααΆααΆααααααΆααΆαααΆαααααα»αα ααααα’αααααααΎααααΆααα ααΆα’αα»ααααΆαα±ααα’ααααα»αααααΆααααΆααα·αααααΆααα·ααα·αα’αααΈα’αααΎαα»αααα½αααααΌαααααΆααα·αααααα αα ααααααααααα α½ααααααααααααΆαααααααΌαααΆαααααΎααΎααααΈα’αΆαααααα·ααααα·ααΆααααααΆααααααααΆααααααααα αα α»ααααααα
- αα»αααΆααααααα mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() αα·α mdbx_env_get_syncbytes() α ααΆαααααααααΆαααΆαααααααααΆααααααα·ααααα·ααΆα MDBX_SET_UPPERBOUND α
- ααΆααααααΆαααΆααα’αααα ααααααααΎαααΆαα½ααααααα·ααΈα ααααααααααΆααααααΆααα’αααα αααα»ααααα C ++ 11/14/17/20 ααααΌαααΆααα»αα ααα ααΆαααααααΆααΆαα½αααΉααααααα·ααΈα ααααααααααα·ααααααααααΌαααΆαααΆααΆα clang α αΆααααααΎαααΈ 3.9, gcc α αΆααααααΎαααΈ 4.8 αα½αααΆααααΆααα½αααααα»αααααΆαααααααΎ cdevtoolset-9 αααααΆαα CentOS/RHEL 7 α
- αα½ααα»αααααααΆααααααααααααααααααΆαααααΆααααΈααααΌαααααααα αααααααααΆααΆααααΆαααααααααΎα§αααααααααΎααααΆαα mdbx_chk α
- ααΆααα½ααα»αααα α»α MDBX_PROBLEM ααααα·αααΆαααααΉααα»ααααααααΌαααΆααααααααααα·ααα ααααααααααΆααααΎαααααααααΆα αΆααα
- ααΆααα½ααα»αααΆααααααΌααααα‘αααααα·α MDBX_NOTFOUND αααα»αααααΈααΆαααΆαααααΌαααααα·αα αααΆααααΆαααα αααααααΎαααΆαααααΎ MDBX_GET_BOTH α
- ααΆααα½ααα»αααα α»ααααα»αααΆαα ααααααα ααΎααΈαα»α αααα»αααααΈαααααααΆαα―αααΆαααααααΆααΆαα½αααΉαααΆααα·αααααΆα’αααΈα ααα»α αααααΆααααΆαα½αααΊαααα
- ααΆααα½ααα»αααΆααααααααα·α αααΆαααααααααααα»α MDBX_SHRINK_ALLOWED αα·ααααααΎα MDBX_ACCEDE α
- ααΆααααα½ααα·αα·αααααΆαα’αα’αΆαααααα·αα αΆαααΆα αααΆα αααΎαααααΌαααΆααα»αα ααα
- ααΆααα½ααα»αααΆααααα‘αααααα·αααααα·αααααΉααα»ααα MDBX_RESULT_TRUE ααΈαα»αααΆα mdbx_env_set_option() α
- ααα»ααα ααΆαααααΆααααααΌαα αααΎαααΆα 90 ααααΌαααΆαααααΎα‘αΎαα αααα 25 α―αααΆα ~ 1300 αααααΆααααααΌαααΆααααααα ~ 600 ααααΌαααΆααα»αα
ααααα: opennet.ru