Π‘ΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ 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 ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
Secara historis, libmdbx minangka desain ulang jero saka LMDB DBMS lan ngluwihi progenitor ing babagan linuwih, set fitur lan kinerja. Dibandhingake karo LMDB, libmdbx menehi akeh penekanan ing kualitas kode, stabilitas API, tes, lan pamriksa otomatis. Sawijining sarana kanggo mriksa integritas struktur database diwenehake karo sawetara opsi pemulihan.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ libmdbx ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ACID, ΡΡΡΠΎΠ³ΡΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅Π΅ ΡΡΠ΅Π½ΠΈΠ΅ Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠ΄ΡΠ°ΠΌ Π¦ΠΠ£. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΠ, ΠΎΡΠ΅Π½ΠΊΠ° ΠΎΠ±ΡΡΠΌΠ° Π²ΡΠ±ΠΎΡΠΎΠΊ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ (range query estimation). Π‘ 2016 Π³ΠΎΠ΄Π° ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΈΠ½Π°Π½ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Positive Technologies ΠΈ Ρ 2017 Π³ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ .
ΠΠ»Ρ libmdbx ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΎΠ΅ C++ API, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΡΠ·ΡΠΊΠ°ΠΌ Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.
Source: opennet.ru