ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° MDBX ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ
MDBX eta LMDB arteko desberdintasun garrantzitsuenak:
- Funtsean, arreta handiagoa ematen zaio kodearen kalitateari, probari eta egiaztapen automatikoei.
- Funtzionamenduan zehar kontrol nabarmen handiagoa, parametroak egiaztatzetik datu-baseen egituren barne auditoretzaraino.
- Automatikoki trinkotzea eta datu-basearen tamaina automatikoa kudeatzea.
- Datu-base formatu bakarra 32 biteko eta 64 biteko muntaketetarako.
- Lagin-bolumenak tarteen arabera kalkulatzea (barrutiaren kontsultaren estimazioa).
- Teklak krepeak baino bi aldiz handiagoak eta erabiltzaileak hauta dezakeen datu-basearen orriaren tamaina onartzen ditu.
ΠΡΠΏΡΡΠ΅Π½Π½ΡΠΉ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π² ΡΠ΅Π»ΠΈΠ·Ρ 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 ΠΈ Ρ.Π΄.
- Eguneratu
API deskribapenak . - Π‘Π»ΠΈΡΠ½ΠΈΠ΅ (Π°ΠΌΠ°Π»ΡΠ³Π°ΠΌΠ°ΡΠΈΡ) ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ.
- CMake laguntza.
- Habiaratutako transakzioetarako laguntza.
- Bootid erabiliz OSa berrabiarazi den zehazteko (datu-base zikina gelditu).
- Π‘ΠΊΠ²ΠΎΠ·Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½ΡΡ /ΡΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ .
- MDBX_ACCEDE aukera modu bateragarrian irekita dagoen datu-base batera konektatzeko.
- Erabili
OFD blokeatzea eskuragarri dagoenean. - Babeskopia beroa hodian.
- Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (Π΄ΠΎ 2-3 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ Β«qsort()Β» ΠΈ Π΄ΠΎ 30% Π±ΡΡΡΡΠ΅Π΅ Β«std::sort()Β»).
- Gehieneko teklaren luzera handitu da.
- Aurretik irakurtzeko kontrol automatikoa (datu-baseko fitxategiak memorian gordetzeko estrategia).
- Auto trinkotze oldarkorragoa eta azkarragoa.
- B+ zuhaitz-orriak batzeko estrategia optimoagoa.
- ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ (NFS, Samba ΠΈ Ρ.ΠΏ.) Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΠ ΠΏΡΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ.
- Proba multzoa zabaldu da.
libmdbx-en "hurrengo" bertsioaren garapenak proiektu bereizi gisa jarraituko du
- Guztiz bateraezina: MithrilDB-k datu-basearen fitxategi formatu desberdin bat (bateraezina) eta API desberdin bat (bateraezina) behar ditu aurreikusitako eginbide guztiak ezartzeko.
- Iturburu-kode berria: MithrilDB iturburu-kodea LMDBtik independentea izan da, eta proiektua bera beste lizentzia batekin argitaratzea aurreikusi da (onetsitakoa).
EDO BADA Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0, Π° Π½Π΅OpenLDAP Lizentzia Publikoa ). - Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ, Π²Π½Π΅ΡΡΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΡΡΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
MithrilDB, MDBX bezala, ere oinarritzen da
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΠ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ Π½ΠΎΡΠΈΡΠ΅Π»ΡΡ : HDD, SSD ΠΈ ΡΠ½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
- ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π΄Π»Ρ Β«ΡΠ΅Π½Π½ΡΡ Β» ΠΈ Β«ΠΌΠ°Π»ΠΎΡΠ΅Π½Π½ΡΡ Β», Π΄Π»Ρ Β«Π³ΠΎΡΡΡΠΈΡ Β», Β«ΡΠ΅ΠΏΠ»ΡΡ Β» ΠΈ Β«Ρ ΠΎΠ»ΠΎΠ΄Π½ΡΡ Β» Π΄Π°Π½Π½ΡΡ .
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Merkle tree Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΠ.
- ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ WAL ΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΡΡ Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΌΠΈ Π½Π° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ .
- ΠΠ΅Π½ΠΈΠ²Π°Ρ Π΄ΠΎΠ³ΠΎΠ½ΡΡΡΠ°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ°Ρ .
Iturria: opennet.ru