Π‘ΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ 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 ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ unified buffer cache. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½Π½ΡΡ ΡΠ±ΠΎΠ΅Π² Π² Π½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ 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