ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° MDBX ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ
De wichtichste ferskillen tusken MDBX en LMDB:
- ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠ΄Π°, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΠΌ.
- Oanmerklik mear kontrΓ΄le tidens operaasje, fan kontrΓ΄le parameters oant ynterne kontrΓ΄le fan databasestruktueren.
- Auto-kompaktifikaasje en automatysk behear fan databasegrutte.
- In inkele databankformaat foar 32-bit en 64-bit gearkomsten.
- Skatting fan samplevoluminten troch berik (berikfraachskatting).
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ»ΡΡΠ΅ΠΉ Π²Π΄Π²ΠΎΠ΅ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π±Π»ΠΈΠ½Ρ ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΠΠ.
ΠΡΠΏΡΡΠ΅Π½Π½ΡΠΉ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π² ΡΠ΅Π»ΠΈΠ·Ρ libmdbx ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ Π² Π°Π²Π³ΡΡΡΠ΅ 2019 ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² MDBX ΠΈ MithrilDB. ΠΡΠΈ ΡΡΠΎΠΌ Π² libmdbx Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ ΡΡΡΡΠ°Π½ΠΈΡΡ (ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ) ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΎΠ»Π³Π° ΠΈ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. ΠΠΎ ΡΠ°ΠΊΡΡ Π² ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² 2-3 ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π»ΠΎΡΡ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎ:
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° macOS ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Β«Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ΅Π»ΠΎΠ½Π°Β»: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° AIX ΠΈ HP-UX ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠ°Π½Π°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Undefined Behavior Sanitizer ΠΈ Address Sanitizer, ΡΡΡΡΠ°Π½Π΅Π½Ρ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ Ρ Β«-WpedanticΒ», Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Coverity Static Analyzer ΠΈ Ρ.Π΄.
- Update
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ API . - Π‘Π»ΠΈΡΠ½ΠΈΠ΅ (Π°ΠΌΠ°Π»ΡΠ³Π°ΠΌΠ°ΡΠΈΡ) ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CMake.
- Stipe foar geneste transaksjes.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ bootid Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΠ‘ (Π³ΡΡΠ·Π½ΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ).
- Π‘ΠΊΠ²ΠΎΠ·Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½ΡΡ /ΡΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ .
- ΠΠΏΡΠΈΡ MDBX_ACCEDE Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠΆΠ΅ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΠ Π² ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
- GebrΓ»k
OFD-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΏΡΠΈ ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ. - ΠΠΎΡΡΡΠ΅Π΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² pipe.
- Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (Π΄ΠΎ 2-3 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ Β«qsort()Β» ΠΈ Π΄ΠΎ 30% Π±ΡΡΡΡΠ΅Π΅ Β«std::sort()Β»).
- Π£Π²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΠΊΠ»ΡΡΠ°.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ read ahead (ΡΡΡΠ°ΡΠ΅Π³ΠΈΠ΅ΠΉ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΠ Π² ΠΏΠ°ΠΌΡΡΠΈ).
- ΠΠΎΠ»Π΅Π΅ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½Π°Ρ ΠΈ Π±ΡΡΡΡΠ°Ρ Π°Π²ΡΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
- ΠΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ B+ Π΄Π΅ΡΠ΅Π²Π°.
- ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ (NFS, Samba ΠΈ Ρ.ΠΏ.) Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΠ ΠΏΡΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.
- Π Π°ΡΡΠΈΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ².
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Β«ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉΒ» Π²Π΅ΡΡΠΈΠΈ libmdbx Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΠΠΎΠ»Π½Π°Ρ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ: Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Ρ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π² MithrilDB ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ (Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ) ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΠ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ (Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅) API.
- ΠΠΎΠ²ΡΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄: Π΄Π»Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° MithrilDB ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½Π°Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ LMDB, Π° ΡΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ (ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΉ
OF IF Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0, Π° Π½Π΅OpenLDAP Iepenbiere lisinsje ). - Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ, Π²Π½Π΅ΡΡΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΡΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
MithrilDB ΠΊΠ°ΠΊ ΠΈ MDBX, ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π°
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΠ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ Π½ΠΎΡΠΈΡΠ΅Π»ΡΡ : HDD, SSD ΠΈ ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
- ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π΄Π»Ρ Β«ΡΠ΅Π½Π½ΡΡ Β» ΠΈ Β«ΠΌΠ°Π»ΠΎΡΠ΅Π½Π½ΡΡ Β», Π΄Π»Ρ Β«Π³ΠΎΡΡΡΠΈΡ Β», Β«ΡΠ΅ΠΏΠ»ΡΡ Β» ΠΈ Β«Ρ ΠΎΠ»ΠΎΠ΄Π½ΡΡ Β» Π΄Π°Π½Π½ΡΡ .
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Merkle tree Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΠ.
- ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ WAL ΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΡΡ Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΌΠΈ Π½Π° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ .
- ΠΠ΅Π½ΠΈΠ²Π°Ρ Π΄ΠΎΠ³ΠΎΠ½ΡΡΡΠ°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ°Ρ .
Boarne: opennet.ru