ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ Π²ΡΠΏΡΡΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ libmdbx 0.11.7 (MDBX), ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΡΠΎΠ±ΠΎΠΉ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ΄ libmdbx ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ OpenLDAP Public License. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΠΠ»ΡΠ±ΡΡΡ 2000.
Π Π΅Π»ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΡΠ΅ΡΠ²ΠΈΡ GitFlic ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ 15 Π°ΠΏΡΠ΅Π»Ρ 2022 Π³ΠΎΠ΄Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ GitHub Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΉ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ libmdbx Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π² Π΄ΠΎΡΡΡΠΏ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ ΠΈΠ·-Π·Π° ΡΠ°Π½ΠΊΡΠΈΠΉ Π‘Π¨Π. ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΡΡΠ°Π»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ Β«404Β», Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΉ ΠΈ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈΡΠΈΠ½.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ issues Π±ΡΠ»ΠΈ ΡΡΠ΅ΡΡΠ½Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌΠΈ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ. Π£ΡΡΠ°ΡΠ° ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ΅Π΄, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ GitHub ΡΠΌΠΎΠ³Π»Π° Π½Π°Π½Π΅ΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ. Π§Π°ΡΡΠΈΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Π°ΡΡ ΠΈΠ²Π΅ archive.org.
ΠΠΎΡΠ΅ΡΡ ΠΎΡΡΡΡΠΎΠ΅Π½Π½ΡΡ CI-ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ (Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ OpenSource-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ) ΠΏΡΠΈΠ²Π΅Π»Π° ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ, ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΎΠ»Π³Π°. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ CI Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠΎΡΡΠΈ Π² ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ΅, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³ΠΎΠ½-ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² BSD ΠΈ Solaris. ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ GitHub Π½Π΅ ΠΏΠΎΡΡΡΠΏΠΈΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠΏΠ»Π°ΡΡ ΠΈ ΠΏΠΎΠΏΡΡΠΎΠΊ ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π΅Π½Π΅Π³.
Π‘ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΡΠ»ΠΎΠΉ Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΎ ΡΠ΅Π»ΠΈΠ·Π΅ libmdbx v0.11.3, ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ GitHub, ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±Ρ
ΠΎΠ΄ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°/Π΄Π΅ΡΠ΅ΠΊΡΠ° Π½Π΅ΠΊΠΎΠ³Π΅ΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ Π² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠΌ ΠΊΡΡΠ΅ ΡΡΡΠ°Π½ΠΈΡ ΠΈ Π±ΡΡΠ΅ΡΠΎΠ² Π² ΡΠ΄ΡΠ΅ Linux. Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
, Π³Π΄Π΅ ΠΊΡΡ ΡΡΡΠ°Π½ΠΈΡ ΠΈ Π±ΡΡΠ΅ΡΠΎΠ² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½, ΡΠ΄ΡΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΡΡΠ°ΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π½Π° Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠΉ Π² ΠΏΠ°ΠΌΡΡΡ ΡΠ°ΠΉΠ». ΠΠΎΡΡΠΎΠΌΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° write(), Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Π΄ΠΈΡΠΊ.
ΠΠ±ΡΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π΅ ΡΠ°ΡΠΈΠΎΠ½Π°Π»Π½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈ ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΎ ΡΠ»ΠΈΠ²Π°Π½Π΅ Π²ΡΠ΅ ΠΏΠ°ΠΊ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π·Π° ΡΠΏΠΈΡΡΡΠΈΡΠ΅ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠΈ, Π΄Π° ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°Ρ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ° PTE. ΠΠ°ΡΠΎΠ²Π° Π½Π΅ΡΠΎΡΠΌΠ°Π»Π½ΠΎΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΊΠΎΡ Π΅ΡΠ΅Π½ΡΠ½ΠΎΡΡ Π΄Π΅ΠΉΡΡΠ²Π° ΠΎΡ 1989 Π³., ΠΊΠΎΠ³Π°ΡΠΎ Π² SRV4 ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ ΠΊΠ΅Ρ Π½Π° Π±ΡΡΠ΅ΡΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΎΡΠΊΡΠΈΡΠΈΡΡΠ° Π½Π° ΡΡΡΠ°Π½Π½ΠΈ ΡΡΠΈΠ²ΠΎΠ²Π΅ Π² Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π½Π° libmdbx ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΠ°Π±ΠΎΡΠ°. ΠΡΡΠ²ΠΎ, ΠΏΠΎ Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Ρ ΠΈΠΏΠΎΡΠ΅Π·ΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²Π΅ΡΠ΅Π½ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½, Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΈ ΠΎΡΡΡΡΠ°Π½Π΅Π½, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΡΠ»Π°ΡΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΡ Π½Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΎΠ±Ρ ΠΎΠ΄ Π±Π΅ΡΠ΅ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½Π° ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Erigon (Ethereum), Π² Π½Π΅Π³ΠΎΠ²ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π΄Π΅Π±ΡΠ³ ΡΡΠ±ΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ²Π°ΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ΅ ΠΈΠ·ΡΠ°Π·ΡΠ²Π°ΡΠ΅ Π² ΡΠ΅Π³ΡΠ΅ΡΠΈΡ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΠ·Π»ΠΈΡΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° assert.
Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° libmdbx Π² ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΏΡΠΈΠ½ΡΠΈΠΏΠ½ΠΎ ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΎ Π΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΡΠ°Π±ΠΎΡΠ°, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΄Π° ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ "Π³ΡΠ΅ΡΠΊΠ° ΡΠΎΠ²Π° ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡ" ΠΈ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ° Π½Π° ΡΠ°ΠΊΠ°Π²Π° ΠΊΠΎΡ Π΅ΡΠ΅Π½ΡΠ½ΠΎΡΡ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π½Π΅ Π΄Π° ΡΠ΅ ΡΡΡΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° Π½Π΅ΠΊΠΎΡ Π΅ΡΠ΅Π½ΡΠ½ΠΎΡΡ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. ΠΠ°ΡΠΎΠ²Π° ΡΡΠΊ ΡΡΠ°Π²Π° Π΄ΡΠΌΠ° Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΌΠΎΠ³ΡΠ» Π΄Π° Π·Π°ΡΠ΅Π³Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅.
- ΠΡΡΡΡΠ°Π½Π΅Π½ Π΅ ΡΠ΅Π³ΡΠ΅Ρ Π²ΡΠ² Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠ° EXDEV (Cross-device link) ΠΏΡΠΈ Π³ΠΎΡΠ΅ΡΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π±Π΅Π· ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ°ΡΠΈΡ Π½Π° Π΄ΡΡΠ³Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΊΡΠΎ ΡΡΠ΅Π· API, ΡΠ°ΠΊΠ° ΠΈ Ρ ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° mdbx_copy.
- Kris Zyp ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° libmdbx Π² Deno. Kai Wetlesen ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° RPM Π·Π° Fedora. David BouyssiΓ© ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ Π·Π° Scala.
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π° Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ°, Π·Π°Π΄Π°Π²Π°Π½Π° ΠΎΡ ΠΎΠΏΡΠΈΡΡΠ° MDBX_opt_rp_augment_limit ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΠ. ΠΠΎ-ΡΠ°Π½ΠΎ, ΠΏΠΎΡΠ°Π΄ΠΈ Π³ΡΠ΅ΡΠΊΠ°, Π±ΡΡ Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΠΌΠ°Π½ΠΈ ΠΈΠ·Π»ΠΈΡΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΠ΅ ΠΎΡΡΠ°Π·ΡΠ²Π°Ρ Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π² ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Ethereum (Erigon/Akula/Silkworm) ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Π½Π° Binance Chain.
- ΠΠΎΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΡΠ½ΠΎΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π² C++ API. Π Π΅ΡΠ΅Π½ΠΈ ΡΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° Π² ΡΠ΅Π΄ΠΊΠΈ ΠΈ Π΅ΠΊΠ·ΠΎΡΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π·Π½Π°ΡΠΈΠΌΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ Π² ChangeLog.
- ΠΠ±ΡΠΎ ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ 185 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² 89 ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΎΠΊΠΎΠ»ΠΎ 3300 ΡΠ΅Π΄Π°, ΠΈΠ·ΡΡΠΈΡΠΈ ΡΠ° ΠΎΠΊΠΎΠ»ΠΎ 4100. ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ ΠΈΠ·ΡΡΠΈΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π΅ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ GitHub ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΡΡΠ»ΡΠ³ΠΈ.
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ libmdbx Π΅ Π΄ΡΠ»Π±ΠΎΠΊΠ° ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π‘Π£ΠΠ LMDB ΠΈ Ρ Π½Π°Π΄ΠΌΠΈΠ½Π°Π²Π° ΠΏΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ, Π½Π°Π±ΠΎΡ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ LMDB, Π² libmdbx Π΅ ΠΎΠ±ΡΡΠ½Π°ΡΠΎ Π³ΠΎΠ»ΡΠΌΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°, ΡΡΠ°Π±ΠΈΠ»Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° API, ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΠ Ρ Π½ΡΠΊΠΎΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΎ libmdbx ΠΏΡΠ΅Π΄Π»Π°Π³Π° ACID, ΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΎ ΡΠ΅ΡΠ΅Π½Π΅ Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΡΠ΄ΡΠ°ΡΠ° Π½Π° Π¦ΠΠ£. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΠ, ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΎΠ±Π΅ΠΌΠ° Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ (range query estimation). ΠΡ 2016 Π³. ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠΈΠ½Π°Π½ΡΠΈΡΠ° ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Positive Technologies ΠΈ ΠΎΡ 2017 Π³. ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ.
ΠΠ° libmdbx Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠ°Π·Π²ΠΈΡΠΎ C++ API, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΏΡΠΈΠ²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ Π΅Π·ΠΈΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ ΠΎΡ Π΅Π½ΡΡΡΠΈΠ°ΡΡΠΈ: Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
