libmdbx 0.13.7 (MDBX) āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻāĻāĻŋ āĻāĻā§āĻ-āĻāĻžāϰā§āϝāĻā§āώāĻŽāϤāĻžāϏāĻŽā§āĻĒāύā§āύ, āĻāĻŽā§āĻĒā§āϝāĻžāĻā§āĻ, āĻāĻŽāĻŦā§āĻĄā§āĻĄ āĻā§-āĻŽāĻžāύ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāĻā§āĨ¤ libmdbx āĻā§āĻĄāĻāĻŋ Apache 2.0 āϞāĻžāĻāϏā§āύā§āϏā§āϰ āĻ āϧā§āύ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āϏāĻŽāϏā§āϤ āĻŦāϰā§āϤāĻŽāĻžāύ āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻŦāĻ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ āϏāĻŽāϰā§āĻĨāĻŋāϤ, āϏā§āĻāϏāĻžāĻĨā§ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ āĻāϞāĻŦā§āϰāĻžāϏ ⧍ā§Ļā§Ļā§ĻāĨ¤ libmdbx-āĻāϰ āĻāύā§āϝ, C++-āĻāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāύā§āύāϤ API, āϏā§āĻāϏāĻžāĻĨā§ Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala āĻāĻžāώāĻžāĻā§āϞāĻŋāϤ⧠āĻā§āϏāĻžāĻšā§-āϏāĻŽāϰā§āĻĨāĻŋāϤ āĻŦāĻžāĻāύā§āĻĄāĻŋāĻ āĻ āĻĢāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ libmdbx āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŽāύ āĻĒā§āϰāĻāϞā§āĻĒāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āϰāϝāĻŧā§āĻā§ Isar, Erigon, āĻāĻŦāĻ Reth, āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ StarkWare āĻāĻŦāĻ Positive Technologies-āĻāϰ āĻāύā§āύāϝāĻŧāύāĨ¤
āĻāϤāĻŋāĻšāĻžāϏāĻŋāĻāĻāĻžāĻŦā§, libmdbx āĻšāϞ LMDB DBMS-āĻāϰ āĻāĻāĻāĻŋ āĻāĻā§āϰ āĻĒā§āύāϰā§āĻāĻ āύ āĻāĻŦāĻ āύāĻŋāϰā§āĻāϰāϝā§āĻā§āϝāϤāĻž, āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϏā§āĻ āĻāĻŦāĻ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻžāϰ āĻĻāĻŋāĻ āĻĨā§āĻā§ āĻāϰ āĻĒā§āϰā§āĻŦāĻĒā§āϰā§āώāĻā§ āĻāĻžāĻĄāĻŧāĻŋāϝāĻŧā§ āĻā§āĻā§āĨ¤ LMDB-āĻāϰ āϤā§āϞāύāĻžāϝāĻŧ, libmdbx āĻā§āĻĄā§āϰ āĻŽāĻžāύ, API āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞāϤāĻž, āĻĒāϰā§āĻā§āώāĻž āĻāĻŦāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻā§āĻā§āϰ āĻāĻĒāϰ āĻ āύā§āĻ āĻā§āϰ āĻĻā§āϝāĻŧāĨ¤ āĻāĻŋāĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻā§āώāĻŽāϤāĻž āϏāĻš āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻžāĻ āĻžāĻŽā§āϰ āĻ āĻāĻŖā§āĻĄāϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤāĻāĻžāĻŦā§, libmdbx CPU āĻā§āϰ āĻā§āĻĄāĻŧā§ āϞāĻŋāύāĻŋāϝāĻŧāĻžāϰ āϏā§āĻā§āϞāĻŋāĻ āϏāĻš ACID, āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϰ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āϏāĻŋāϰāĻŋāϝāĻŧāĻžāϞāĻžāĻāĻā§āĻļāύ āĻāĻŦāĻ āύāύ-āĻŦā§āϞāĻāĻŋāĻ āϰāĻŋāĻĄ āĻ āĻĢāĻžāϰ āĻāϰā§āĨ¤ āĻ āĻā§-āĻāĻŽā§āĻĒā§āϝāĻžāĻāĻļāύ, āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻāĻžāϰ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻž āĻāĻŦāĻ āĻĒāϰāĻŋāϏāϰ āĻā§āϝā§āϝāĻŧāĻžāϰ⧠āĻ āύā§āĻŽāĻžāύ āϏāĻŽāϰā§āĻĨāĻŋāϤāĨ¤
āĻ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻž:
- SysV semaphores āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ mdbx_env_resurrect_after_fork() āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻžāϝāĻŧ āĻāĻāĻāĻŋ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻŦāĻžāĻ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāϞāĻŽāĻžāύ āϞā§āĻāĻžāϰ āϞā§āύāĻĻā§āύā§āϰ āĻĒāĻāĻā§āĻŽāĻŋāϤ⧠fork() āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻāĻāĻŋ āĻāĻžāĻāϞā§āĻĄ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻĒāϰā§āĻ āϤā§āϰā§āĻāĻŋāĻāĻŋ āĻĻā§āĻāĻž āĻĻā§āϝāĻŧ, āϝāĻžāϰ āĻĢāϞ⧠semaphores āĻāϰ āĻā§āϞ āĻ āĻĒāĻžāϰā§āĻļāύ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻĻā§āϰā§āύā§āϤāĻŋ āϏāĻš āĻŦāĻŋāĻāĻŋāύā§āύ āϤā§āϰā§āĻāĻŋ āĻĻā§āĻāĻž āĻĻā§āϝāĻŧāĨ¤ mdbx_env_resurrect_after_fork() āĻāϰ āĻāĻŦāĻŋāϰā§āĻāĻžāĻŦā§āϰ āĻĒāϰ āĻĨā§āĻā§ āϏāĻŽāϏā§āϝāĻžāĻāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻāĻŋāϞ āĻāĻŦāĻ MDBX_LOCKING=5 āĻŦāĻŋāĻāϞā§āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϤā§āϰāĻŋ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ macOS, āϏā§āĻāϏāĻžāĻĨā§ POSIX āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽāĻā§āϞāĻŋāĻā§ āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰā§āĻāĻŋāϞāĨ¤
- āύāύ-āϞāĻŋāύāĻžāĻā§āϏ POSIX āϏāĻŋāϏā§āĻā§āĻŽā§ (āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ macOS) DB Copy API-āϤ⧠āĻāĻā§ āϝāĻžāĻāϝāĻŧāĻž āĻāĻāĻāĻŋ āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻŦāĻ āĻāĻŋāĻā§ āĻā§āώā§āϤā§āϰ⧠āϝāĻāύ āĻāĻžāϰā§āĻā§āĻ āĻĢāĻžāĻāϞāĻāĻŋ āĻāĻāĻāĻŋ āύāύ-āϞā§āĻāĻžāϞ āĻĢāĻžāĻāϞ āϏāĻŋāϏā§āĻā§āĻŽā§ āĻ āĻŦāϏā§āĻĨāĻŋāϤ āĻāĻŋāϞāĨ¤ āĻāĻ āϏāĻŽāϏā§āϝāĻžāϰ āĻĢāϞ⧠EWOULDBLOCK/EAGAIN āϤā§āϰā§āĻāĻŋ āĻĢāĻŋāϰ⧠āĻāϏā§āĻā§, āϝāĻž OS āĻāĻžāϰā§āύā§āϞā§āϰ fcntl(F_SETLK) āĻāĻŦāĻ flock() āϞāĻāĻā§āϞāĻŋāϤ⧠āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ/āĻĻā§āĻŦāύā§āĻĻā§āĻŦā§āϰ āĻāĻžāϰāĻŖā§ āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ POSIX āϏāĻŋāϏā§āĻā§āĻŽā§ Copy API-āϤ⧠āĻĢāĻžāĻāϞ āϞāĻ āĻ āϧāĻŋāĻā§āϰāĻšāĻŖ āϤā§āϰā§āĻāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻžāϰ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻā§āϞāĻžāϰ āĻĒāϰ āĻāĻāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻžāϧāĻŋāĻ āϞā§āύāĻĻā§āύ āĻļā§āϰ⧠āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ MDBX_BAD_DBI āĻāϰ āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āϰāĻŋāĻāĻžāϰā§āύā§āϰ āĻāĻžāϰāĻŖ āĻšāĻā§āĻž āĻāĻāĻāĻŋ āĻŦāĻžāĻ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻā§āϞāĻž āĻā§āĻŦāĻŋāϞāĻā§āϞāĻŋ āĻĒā§āύāϰāĻžāϝāĻŧ āĻā§āϞāĻžāϰ āϏāĻŽāϝāĻŧ MDBX_DBS_FULL āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤāĻāĻžāĻŦā§ āĻĢāĻŋāϰ⧠āĻāϏāĻžāϰ āĻāĻžāϰāĻŖ āĻāĻŦāĻ āĻā§āϞāĻž DBI āĻšā§āϝāĻžāύā§āĻĄā§āϞ āϏā§āĻŽāĻž āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻĒā§āĻāĻā§ āϝāĻžāĻāϝāĻŧāĻž āĻāĻāĻāĻŋ āĻŦāĻžāĻ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- _FILE_OFFSET_BITS āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāĻž āĻšāϞ⧠āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āĻāύā§āϝ āĻŦāĻŋāϞā§āĻĄ āϤā§āϰā§āĻāĻŋ āĻ āĻŋāĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- MDBX_ENOMEM āĻāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠ENOMEM āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āĻŦāĻžāĻ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āϝāĻž āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻāĻŦāĻ/āĻ āĻĨāĻŦāĻž SDK āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āύāύ-POSIX/Windows āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽāĻā§āϞāĻŋāϤ⧠āĻŦāĻŋāϞā§āĻĄāĻāĻŋ āĻā§āĻā§ āĻĢā§āϞāϤ⧠āĻĒāĻžāϰā§āĨ¤
- Windows āĻāĻŦāĻ POSIX āĻāĻāϝāĻŧ āĻā§āώā§āϤā§āϰā§āĻ, āĻŦāĻŋāĻļā§āώ āĻāϰ⧠txn_end(), txn_lock(), āĻāĻŦāĻ txn_unlock() āĻā§āĻĄā§, āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āĻĄāĻŋāĻŦāĻžāĻ āĻŦāĻŋāϞā§āĻĄ āĻā§āϰā§āϝāĻžāĻļ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĻāĻžāϝāĻŧā§ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻā§āϞ āĻĻāĻžāĻŦāĻŋ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻŦāĻž āĻ āĻĒāϏāĻžāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻā§āĻāĻāĻžāĻā§ MSVC āϏāϤāϰā§āĻāϤāĻž āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ C5286 āĻāĻŦāĻ C5287 āϏāϤāϰā§āĻāϤāĻž āύāĻŋāώā§āĻā§āϰāĻŋāϝāĻŧ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- POSIX āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§ OFD āϞāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻ āϏā§āĻŦā§āĻā§āϤāĻŋ āĻāĻžāύāĻžāύā§āϰ āϝā§āĻā§āϤāĻŋ āĻāύā§āύāϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāĻāύ, EINVAL āĻāĻžāĻĄāĻŧāĻžāĻ, āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϤā§āϰā§āĻāĻŋ āĻā§āĻĄāĻā§āϞāĻŋ āĻŦāĻŋāĻŦā§āĻāύāĻžāϝāĻŧ āύā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ (ENOSYS, ENOIMPL, ENOTSUP, ENOSUPP, EOPNOTSUPP), āϝāĻž āĻāĻŋāĻā§ āĻā§āώā§āϤā§āϰ⧠āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻž āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āĻŦā§ āϝāĻāύ āĻŦāϰā§āϤāĻŽāĻžāύ āĻāĻžāϰā§āύā§āϞ/āĻāύā§āĻā§āĻāύāĻžāϰ/āĻāĻŽā§āϞā§āĻāϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻŋāϏā§āĻā§āĻŽ āĻāϞāĻā§āϞāĻŋāĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āύāĻžāĨ¤
- āĻĒāϰā§āĻā§āώāĻžāϰ āĻāĻžāĻ āĻžāĻŽā§ āĻāĻāύ --numa āĻŦāĻŋāĻāϞā§āĻĒāĻāĻŋ āϏāĻŽāϰā§āĻĨāύ āĻāϰā§āĨ¤ Âģ āϏā§āĻā§āĻāĻžāϏā§āĻāĻŋāĻ āĻĒāϰā§āĻā§āώāĻžāĻāĻŋāĻā§ āĻāĻāĻāĻŋ NUMA āύā§āĻĄā§āϰ āϏāĻžāĻĨā§ āĻāĻŦāĻĻā§āϧ āĻāϰāϤā§āĨ¤ NUMA āύā§āĻĄ āĻā§āĻĄāĻŧā§ āϏā§āĻĒāώā§āĻ āĻŦāĻŋāϤāϰāĻŖ āĻŦā§āϝāĻžāĻāĻžāϰāĻŋ/tmux āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž NUMA āĻŽā§āĻļāĻŋāύ⧠āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĻāĻā§āώāϤāĻž āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻŦā§āĻĻā§āϧāĻŋ āĻāϰā§āĻā§āĨ¤
- āϏā§āĻā§āĻāĻžāϏā§āĻāĻŋāĻ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻāĻāĻŋ āĻāϞā§āĻŽā§āϞ⧠āĻā§āϰāĻŽ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰ⧠āϝā§āĻāĻžāύ⧠āĻĒā§āĻĨāĻ āĻĒāϰā§āĻā§āώāĻž āĻāĻžāϞāĻžāύ⧠āĻšāϝāĻŧāĨ¤
āĻāϤā§āϏ: opennet.ru
