libmdbx 0.11.3 (MDBX) āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻāĻŋ āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻāĻāĻŋ āĻāĻā§āĻ-āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āϏāĻŽā§āĻĒāύā§āύ, āĻāĻŽā§āĻĒā§āϝāĻžāĻā§āĻ, āĻāĻŽāĻŦā§āĻĄā§āĻĄ āĻā§-āĻā§āϝāĻžāϞ⧠āĻĄā§āĻāĻžāĻŦā§āϏ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰā§āĨ¤ libmdbx āĻā§āĻĄāĻāĻŋ OpenLDAP āĻĒāĻžāĻŦāϞāĻŋāĻ āϞāĻžāĻāϏā§āύā§āϏā§āϰ āĻ āϧā§āύ⧠āϞāĻžāĻāϏā§āύā§āϏāĻĒā§āϰāĻžāĻĒā§āϤāĨ¤ āĻāĻāĻŋ āϏāĻŽāϏā§āϤ āĻŦāϰā§āϤāĻŽāĻžāύ āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻŦāĻ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰā§āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ āĻāϞāĻŦā§āϰāĻžāϏ ⧍ā§Ļā§Ļā§Ļ-āĻā§āĻ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤ ⧍ā§Ļ⧍⧧ āϏāĻžāϞā§āϰ āĻļā§āώ āύāĻžāĻāĻžāĻĻ, libmdbx āĻĻā§āĻāĻŋ āĻĻā§āϰā§āϤāϤāĻŽ āĻāĻĨā§āϰāĻŋāϝāĻŧāĻžāĻŽ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻâāĻāϰāĻŋāĻāύ āĻāĻŦāĻ āύāϤā§āύ "āĻāĻā§āϞāĻž"-āϤ⧠āϏā§āĻā§āϰā§āĻ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāĻā§āĻā§, āϝāĻž āϰāĻŋāĻĒā§āϰā§āĻ āĻ āύā§āϝāĻžāϝāĻŧā§ āϏāϰā§āĻŦā§āĻā§āĻ-āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āϏāĻŽā§āĻĒāύā§āύ āĻāĻĨā§āϰāĻŋāϝāĻŧāĻžāĻŽ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĨ¤
āĻāϤāĻŋāĻšāĻžāϏāĻŋāĻāĻāĻžāĻŦā§, libmdbx āĻšāϞ LMDB DBMS-āĻāϰ āĻāĻāĻāĻŋ āĻāĻā§āϰ āĻĒā§āύāĻāĻĄāĻŋāĻāĻžāĻāύ āĻāĻŦāĻ āύāĻŋāϰā§āĻāϰāϝā§āĻā§āϝāϤāĻž, āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϏā§āĻ āĻāĻŦāĻ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻžāϰ āĻā§āώā§āϤā§āϰ⧠āĻāϰ āĻĒā§āϰā§āĻŦāĻĒā§āϰā§āώāĻā§ āĻāĻžāĻĄāĻŧāĻŋāϝāĻŧā§ āĻā§āĻā§āĨ¤ LMDB āĻāϰ āϤā§āϞāύāĻžāϝāĻŧ, libmdbx āĻā§āĻĄā§āϰ āĻā§āĻŖāĻŽāĻžāύ, API āϏā§āĻĨāĻžāϝāĻŧāĻŋāϤā§āĻŦ, āĻĒāϰā§āĻā§āώāĻž āĻāĻŦāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻā§āĻā§āϰ āĻāĻĒāϰ āĻ āύā§āĻ āĻā§āϰ āĻĻā§āϝāĻŧāĨ¤ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻžāĻ āĻžāĻŽā§āϰ āĻ āĻāĻŖā§āĻĄāϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻāĻŋāĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āϏāĻžāĻĨā§ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāĻž āĻšāϝāĻŧāĨ¤
Libmdbx ACID āĻĒā§āϰāϝā§āĻā§āϤāĻŋ, āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϰ āĻāĻ ā§āϰ āĻā§āϰāĻŽāĻŋāĻā§āĻāϰāĻŖ āĻāĻŦāĻ āϏāĻŋāĻĒāĻŋāĻāĻ āĻā§āϰ āĻā§āĻĄāĻŧā§ āϰā§āĻāĻŋāĻ āϏā§āĻā§āϞāĻŋāĻ āϏāĻš āύāύ-āĻŦā§āϞāĻāĻŋāĻ āϰāĻŋāĻĄ āϏā§āĻŦāĻŋāϧāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻāĻāĻŋ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻāĻŽā§āĻĒā§āϝāĻžāĻā§āĻāĻŋāĻĢāĻŋāĻā§āĻļāύ, āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻāĻžāϰ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻž āĻāĻŦāĻ āϰā§āĻā§āĻ āĻā§āϝāĻŧā§āϰāĻŋ āĻ āύā§āĻŽāĻžāύ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤ ⧍ā§Ļā§§ā§Ŧ āϏāĻžāϞ āĻĨā§āĻā§ āĻĒā§āϰāĻāϞā§āĻĒāĻāĻŋ āĻĒāĻāĻŋāĻāĻŋāĻ āĻā§āĻāύā§āϞāĻāĻŋāϏ āĻĻā§āĻŦāĻžāϰāĻž āĻ āϰā§āĻĨāĻžāϝāĻŧāύ āĻāϰāĻž āĻšāĻā§āĻā§ āĻāĻŦāĻ ā§¨ā§Ļā§§ā§ āϏāĻžāϞ āĻĨā§āĻā§ āϤāĻžāĻĻā§āϰ āĻĒāĻŖā§āϝāĻā§āϞāĻŋāϤ⧠āĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧā§ āĻāϏāĻā§āĨ¤
libmdbx āĻāĻāĻāĻŋ C++ API āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§, āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ Rust, Haskell, Python, NodeJS, Ruby, Go, āĻāĻŦāĻ Nim-āĻāϰ āĻāύā§āϝ āĻāĻŽāĻŋāĻāύāĻŋāĻāĻŋ-āϏāĻŽāϰā§āĻĨāĻŋāϤ āĻŦāĻžāĻāύā§āĻĄāĻŋāĻāĻ āϰāϝāĻŧā§āĻā§āĨ¤
ā§§ā§§āĻ āĻ āĻā§āĻā§āĻŦāϰā§āϰ āĻĒā§āϰā§āĻŦāĻŦāϰā§āϤ⧠āϏāĻāĻŦāĻžāĻĻ āĻŦāĻŋāĻā§āĻāĻĒā§āϤāĻŋāϰ āĻĒāϰ āĻĨā§āĻā§ āϝā§āĻ āĻāϰāĻž āĻĒā§āϰāϧāĻžāύ āύāϤā§āύ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ, āĻāύā§āύāϤāĻŋ āĻāĻŦāĻ āϤā§āϰā§āĻāĻŋ āϏāĻāĻļā§āϧāύ:
- C++ API-āĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āĻĒā§āϰāϏā§āϤā§āϤ āĻŦāϞ⧠āĻŦāĻŋāĻŦā§āĻāĻŋāϤ āĻšāϝāĻŧāĨ¤
- āĻŦāĻĄāĻŧ āĻā§āϰāĻžāύāĻā§āϝāĻžāĻāĻļāύ āĻāĻŽāĻŋāĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ GC āĻĄā§āĻāĻž āĻāĻĒāĻĄā§āĻā§āϰ āĻāϤāĻŋ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻŦāĻžāĻĄāĻŧāĻžāύ⧠āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻĨā§āϰāĻŋāϝāĻŧāĻžāĻŽ āĻāĻā§āϏāĻŋāϏā§āĻā§āĻŽā§ libmdbx āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻŦāĻŋāĻļā§āώāĻāĻžāĻŦā§ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĨ¤
- āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ āĻĄā§āĻāĻžāĻŦā§āϏ āĻĢāϰāĻŽā§āϝāĻžāĻ āϏāĻŋāĻāύā§āĻāĻžāϰāĻāĻŋ āĻāĻŽāύāĻāĻžāĻŦā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϝāĻžāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻāĻžāĻā§ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϏā§āĻŦāĻā§āĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻāĻĒāĻĄā§āĻ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻāϰ āĻĢāϞā§, āϝāĻāύ āĻĒā§āϰā§āύ⧠āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϏāĻāϏā§āĻāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻāϏā§āĻāϰāĻŖ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻŽāĻŋāĻ āĻāϰāĻž āĻā§āϰāĻžāύāĻā§āϝāĻžāĻāĻļāύāĻā§āϞ⧠āĻĒāĻĄāĻŧāĻž āĻšāϝāĻŧ, āϤāĻāύ āĻĄā§āĻāĻžāĻŦā§āϏ āĻāϰāĻžāĻĒāĻļāύ āϏāĻāĻā§āϰāĻžāύā§āϤ āĻā§āϞ āϧāĻžāϰāĻŖāĻž āĻĻā§āϰ āĻšāϝāĻŧāĨ¤
- 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_GET_BOTH āĻ āύā§āϰā§āϧ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŽāĻŋāϞā§āϰ āĻā§āώā§āϤā§āϰ⧠MDBX_NOTFOUND āĻĢā§āϰāϤ āĻāϏāĻžāϰ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āϏāĻāĻāϞāύ āϤā§āϰā§āĻāĻŋ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ Linux āĻāĻžāϰā§āύā§āϞā§āϰ āϏāĻžāĻĨā§ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻŦāϰā§āĻŖāύāĻž āĻāϰ⧠āĻāĻŽāύ āĻšā§āĻĄāĻžāϰ āĻĢāĻžāĻāϞā§āϰ āĻ āύā§āĻĒāϏā§āĻĨāĻŋāϤāĻŋāϤā§āĨ¤
- āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ āĻĢā§āϞā§āϝāĻžāĻ MDBX_SHRINK_ALLOWED āĻāĻŦāĻ MDBX_ACCEDE āĻ āĻĒāĻļāύā§āϰ āĻŽāϧā§āϝā§āĻāĻžāϰ āϏāĻāĻāϰā§āώā§āϰ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻŦā§āĻļ āĻāĻŋāĻā§ āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻŦāĻŋāĻŦā§āϤāĻŋ āĻ āĻĒāϏāĻžāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- mdbx_env_set_option() āĻĢāĻžāĻāĻļāύ āĻĨā§āĻā§ āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤāĻāĻžāĻŦā§ MDBX_RESULT_TRUE āϰāĻŋāĻāĻžāϰā§āύ āĻšāĻāϝāĻŧāĻžāϰ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻŽā§āĻ, 90āĻāĻŋ āĻĢāĻžāĻāϞ⧠25āĻāĻŋāϰāĻ āĻŦā§āĻļāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, ~1300āĻāĻŋ āϞāĻžāĻāύ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, ~600āĻāĻŋ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻšāϝāĻŧā§āĻā§ā§ˇ
āĻāϤā§āϏ: opennet.ru
