ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libmdbx 0.11.7 (MDBX) Π΅ ΠΏΡΡΠ½Π°ΡΠ° Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π° Π²Π³ΡΠ°Π΄Π΅Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ. ΠΠΎΠ΄ΡΡ Π½Π° libmdbx ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡ Π»ΠΈΡΠ΅Π½Π· OpenLDAP. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π°ΠΊΡΡΠ°Π»Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΡΡΠΊΠ°ΡΠ° Elbrus 2000.
ΠΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΎ Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΡΠΌ ΡΡΠ»ΡΠ³Π°ΡΠ° GitFlic, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° GitHub ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π° libmdbx Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° 15 Π°ΠΏΡΠΈΠ» 2022 Π³. Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΠ° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠ°Π΄Π½Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎΠ΄ ΡΠ°Π½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π‘ΠΠ©. ΠΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π°Ρ Π° Π² ΡΡΡΠ°Π½ΠΈΡΠ° "404", Π±Π΅Π· Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠ°ΠΊΠ²Π°ΡΠΎ ΠΈ Π΄Π° Π΅ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅.
ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ Π±ΡΠΎΠ΅Π²Π΅ ΡΠ° Π·Π°Π³ΡΠ±Π΅Π½ΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΡΠΎΡΠΈ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΡΡΠΈΠΈ. ΠΠ°Π³ΡΠ±Π°ΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΎΠ±Π΅ΠΊΡΠΈΠ²Π½Π° Π²ΡΠ΅Π΄Π°, ΠΊΠΎΡΡΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° GitHub ΡΡΠΏΡ Π΄Π° Π½Π°Π½Π΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π§Π°ΡΡΠΈΡΠ½ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΎΡ Π΄ΠΈΡΠΊΡΡΠΈΠΈΡΠ΅ ΠΎΡΡΠ°Π²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π² Π°ΡΡ ΠΈΠ²Π° Π½Π° archive.org.
ΠΠ°Π³ΡΠ±Π°ΡΠ° Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ CI ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° (Π΄ΠΎΡΡΡΠΏΠ½Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ Π·Π° OpenSource ΠΏΡΠΎΠ΅ΠΊΡΠΈ) Π½ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ΅Π²ΠΈΠ·ΠΈΡ, ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°Π»ΡΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π΄ΡΠ»Π³. Π‘Π΅Π³Π° CI Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½ ΠΏΠΎΡΡΠΈ Π² ΡΡΡΠ°ΡΠ° ΡΡΠ΅ΠΏΠ΅Π½, Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° BSD ΠΈ Solaris. ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π½ΠΎ Π΅, ΡΠ΅ ΡΠ»Π΅Π΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ° Π½Π° GitHub Π½Π΅ ΡΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΡΠ°Π·ΡΡΠ½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΡ, ΠΎΡΠ²Π΅Π½ Π½Π°ΠΏΠΎΠΌΠ½ΡΠ½Π΅ Π·Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΏΠ»Π°ΡΠ°Π½Π΅ ΠΈ ΠΎΠΏΠΈΡΠΈ Π·Π° ΠΎΡΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΈ.
Π‘Π»Π΅Π΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΈΠ½ΠΈ Π·Π° ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° libmdbx v0.11.3, Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° GitHub, Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠ°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ:
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΡΠΊΡΠΈΡ Π΅ΡΠ΅ΠΊΡ/Π΄Π΅ΡΠ΅ΠΊΡ Π½Π° Π½Π΅ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈΡ ΠΊΠ΅Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΈ Π±ΡΡΠ΅ΡΠ° Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. Π ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΊΠ΅ΡΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΈ Π±ΡΡΠ΅ΡΠΈΡΠ΅ ΡΠ° Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ, Π½ΡΠΌΠ° ΡΠΌΠΈΡΡΠ» ΡΠ΄ΡΠΎΡΠΎ Π΄Π° Π³ΡΠ±ΠΈ ΠΏΠ°ΠΌΠ΅Ρ Π·Π° Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π° Π²ΡΠ² ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π΅ ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°Π½ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ, ΡΡΠ°Π²Π°Ρ Π²ΠΈΠ΄ΠΈΠΌΠΈ ΡΡΠ΅Π· ΠΊΠ°ΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠ΅Π΄ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ write() Π΄Π° Π·Π°Π²ΡΡΡΠΈ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ°.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ, Π΄ΡΡΠ³ΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π΅ ΡΠ°ΡΠΈΠΎΠ½Π°Π»Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ ΡΡΡ Π·Π°Π±Π°Π²Π΅Π½ΠΎ ΡΠ»ΠΈΠ²Π°Π½Π΅ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Ρ Π²Π°ΡΠ°ΡΠ΅ ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈ Π·Π° ΡΠΏΠΈΡΡΡΠΈ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠΈ, Π΄Π° ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ PTE. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½Π΅Π³Π»Π°ΡΠ½ΠΎΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡ Π΅ Π² ΡΠΈΠ»Π° ΠΎΡ 1989 Π³., ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈΡΡ Π±ΡΡΠ΅ΡΠ΅Π½ ΠΊΠ΅Ρ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π² SRV4. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½Π½ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ Π² Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° libmdbx ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°. ΠΡΡΠ²ΠΎ, ΡΡΠ΅Π· Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΠ΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Ρ ΠΈΠΏΠΎΡΠ΅Π·ΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°.
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²Π΅ΡΠ΅Π½ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½, Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ° ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΡ Π·Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π±Π°ΠΉΠΏΠ°Ρ Π±Π΅ΡΠ΅ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½Π° ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Erigon (Ethereum), Π² Π½Π΅Π³ΠΎΠ²ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π·Π°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΡΠ΅Π³ΡΠ΅ΡΠΈΡ ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ²ΡΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ.
Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠΈΡΠΎΠΊΠΎ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° 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 DBMS ΠΈ Π½Π°Π΄ΠΌΠΈΠ½Π°Π²Π° ΡΠ²ΠΎΡ ΠΏΡΠ°ΡΠΎΠ΄ΠΈΡΠ΅Π» ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ, Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ LMDB, libmdbx Π½Π°Π±Π»ΡΠ³Π° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°, ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡΡΠ° Π½Π° API, ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²Ρ Ρ Π½ΡΠΊΠΎΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΎ, libmdbx ΠΏΡΠ΅Π΄Π»Π°Π³Π° ACID, ΡΡΡΠΈΠΊΡΠ½Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ Π² ΡΠ΄ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΏΠ»ΡΡΠ½ΡΠ²Π°Π½Π΅, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. ΠΡ 2016 Π³. ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠΈΠ½Π°Π½ΡΠΈΡΠ° ΠΎΡ Positive Technologies ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ ΠΎΡ 2017 Π³.
libmdbx ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ C++ API, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΎΡ Π΅Π½ΡΡΡΠΈΠ°ΡΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ ΠΊΡΠΌ Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru