MDBX á
á¬ááŒáá·áºááá¯ááºááẠáááá¬áááºááŸá¬ážá
áœá¬ ááŒááºáááºááŒááºáááºáá¬ážáá±á¬ áááºážááœá²áá
áºáá¯ááŒá
áºáááºá
MDBX ááŸáá·áº LMDB á¡ááŒá¬áž á¡áá±ážááŒá®ážáá¯á¶áž ááœá¬ááŒá¬ážáá»ááºáá»á¬áž
- á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá áá¯ááºá¡áááºá¡ááœá±ážá á ááºážáááºááŒááºážááŸáá·áº á¡ááá¯á¡áá»á±á¬áẠá á áºáá±ážááŸá¯áá»á¬ážááᯠááá¯áá¡á¬áá¯á¶á áá¯ááºáááºá
- ááá·áºáááºáá±á¬ááºáá»á¬ážááᯠá á áºáá±ážááŒááºážá០áá±áá¬áá±á·á áºáááºáá±á¬ááºáá¯á¶áá»á¬ážá á¡ááœááºážááá¯ááºážá á áºáá±ážááŸá¯á¡áá áá¯ááºáá±á¬ááºáá»ááºá¡ááœááºáž áááá¬áááºááŸá¬ážá áœá¬ ááá¯ááá¯ááááºážáá»á¯ááºááá¯ááºáááºá
- á¡ááá¯á¡áá»á±á¬áẠá á¯á ááºážááŸá¯ááŸáá·áº á¡ááá¯á¡áá»á±á¬áẠáá±áá¬áá±á·á Ạá¡ááœááºá¡á á¬áž á á®áá¶ááá·áºááœá²ááŸá¯á
- 32-bit ááŸáá·áº 64-bit á ááºážáá±ážááœá²áá»á¬ážá¡ááœáẠáá±áá¬áá±á·á áºáá±á¬áºáááºáá áºáá¯á
- á¡ááá¯ááºážá¡ááŒá¬ážá¡ááá¯áẠááá°áá¬á¡ááœá²áá»á¬ážááᯠááá·áºááŸááºážááŒááºáž (á¡ááá¯ááºážá¡ááŒá¬ážá¡ááá¯áẠáá±ážááŒááºážááŸá¯ ááá·áºááŸááºážáá»ááº)á
- áááºááááºáá»á¬ážááŸáá·áº á¡áá¯á¶ážááŒá¯áá°ááœá±ážáá»ááºááá¯ááºáá±á¬ áá±áá¬áá±á·á Ạá á¬áá»ááºááŸá¬á¡ááœááºá¡á á¬ážááẠááŸá áºáááá¯ááŒá®ážáá±á¬ áá®ážáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
libmdbx ááŒáá·áºáá»ááá±áž ááá¯ááºá á¬ážááŸááºáá±á¬ááºážááẠMDBX ááŸáá·áº MithrilDB ááá±á¬áá»ááºáá»á¬ážááᯠááœá²ááŒá¬ážááẠ2019 áá¯ááŸá ẠááŒáá¯ááºáááœáẠááŒá¯áá¯ááºáá²á·áá±á¬ áá¯á¶ážááŒááºáá»ááºáá áºáá¯á ááááºááŒá áºáááºá áá áºáá»áááºáááºážááŸá¬ááẠlibmdbx ááẠ(áááºááŒááºáá¯á¶ááá¬áž) á¡ááŒáá·áºáá¯á¶ážáááºážááá¬ááá¯ááºáá¬ááŒáœá±ážááŒá®áá»á¬ážááᯠáááºááŸá¬ážááŒá®áž á á¬ááŒáá·áºááá¯ááºááᯠáááºááŒáááºá¡á±á¬ááºááŒá¯áá¯ááºááẠáá¯á¶ážááŒááºáá²á·áááºá á¡ááŸááºááŸá¬á áááŠážááá·áºááŸááºážáá¬ážáááºááŸáá·áº á á®á ááºáá¬ážáááºááẠáááºááŸááºáá¬ážáá±á¬ áŠážáááºáá»ááºááœáẠá-á á ááá¯ááá¯áá¯ááºáá±á¬ááºááá¯ááºáááº-
- macOS ááŸáá·áº áá¯áááá¡ááá·áº ááááºáá±á¬ááºážáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááº- FreeBSDá Solarisá DragonFly BSDá OpenBSDá NetBSDá AIX ááŸáá·áº HP-UX á¡áá±á¬ááºá¡áá¶á·ááᯠááá¯á¡ááºáááᯠááá·áºááá¯ááºáááºá
- Undefined Behavior Sanitizer ááŸáá·áº Address Sanitizer ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºááᯠááá·áºá ááºáá¬ážááŒá®ážá "-Wpedantic" ááŒáá·áº áááºáá±á¬ááºááá·áºá¡áá« ááááá±ážáá»ááºáá»á¬ážá Coverity Static Analyzer ááááá±ážáá»ááºáá»á¬áž á áááºááá¯á·ááᯠáááºááŸá¬ážáá²á·áááºá
- ááœááºážáá¶
API áá±á¬áºááŒáá»áẠ. - ááŒáŸá¯ááºááŸá¶áá¬ááœáẠááœááºáá°á á±áááºá¡ááœáẠáááºážááŒá áºáá¯ááºááᯠáá±á«ááºážá ááºážááŒááºáž (áá±á«ááºážá ááºážááŒááºáž)á
- CMake áá¶á·ááá¯ážááŸá¯á
- á¡ááá¯ááºá¡áááºáž á¡áá±á¬ááºážá¡áááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- OS ááŒááºáááºá áááºááŒááºáž ááŸáá áááŸá áá¯á¶ážááŒááºááẠbootid ááᯠá¡áá¯á¶ážááŒá¯ááŒááºáž (áá áºáááºáá±á¬ áá±áá¬áá±á·á Ạáááºááá·áºááŒááºáž)á
- á¡ááºááááºáá¯ááºáá¬ážáá±á¬/áá±á¬ááºáž á á¬áá»ááºááŸá¬áá»á¬ážá á¡áá¯á¶ážá០á¡áá¯á¶ážá¡áá áá±ááœááºááŒááºážááŸáá·áº ááá¯ážáá»á²á·ááœá±áá±ážááœá±áá° á¡áá»ááºá¡áááºá
- ááœá²áá¯á¶ážááá¯ááºáá±á¬áá¯ááºááœáẠááœáá·áºáá¬ážááŒá®ážáá±á¬áá±áá¬áá±á·á áºááá¯á·áá»áááºáááºáááºá¡ááœáẠááœá±ážáá»ááºá áᬠMDBX_ACCEDEá
- áá¡áá¯á¶ážááŒá¯ááŸá¯
OFD ááááºááá¯á·ááŒááºážá áááŸáááá¯ááºáá±á¬á¡áá«á - ááá¯ááºáá²ááœáẠáá°áá±á¬á¡áá¶á
- á¡áá°ážááŒá¯ ááŒá¯ááŒááºáá¬ážáá±á¬ á¡ááœááºážááá¯ááºáž á á®ááŒááºáž á¡ááºáááá¯áá®ááẠ(âqsort()â ááẠ2-3 á ááá¯ááŒááºááŒá®áž âstd::sort()â ááẠ30% á¡áá ááá¯ááŒááºáááº)á
- á¡áá»á¬ážáá¯á¶ážáá±á¬á·á¡ááŸááºááᯠááá¯ážááŒáŸáá·áºáá¬ážáááºá
- ááŒáá¯áááºááŒááºážá¡á¬áž á¡ááá¯á¡áá»á±á¬áẠááááºážáá»á¯ááºááŒááºáž (ááŸááºáá¬ááºáá²ááœáẠáá±áá¬áá±á·á áºááá¯áẠááááºážáááºážááŒááºážáááºážáá»á°áá¬)á
- ááá¯ááá¯ááŒááºážáááºááŒá®áž ááá¯ááŒááºáá±á¬ á¡ááá¯á¡áá»á±á¬áẠá á¯á ááºážááŸá¯á
- B+ áá áºáááºá á¬áá»ááºááŸá¬áá»á¬ážááᯠáá±á«ááºážá ááºážáááºá¡ááœáẠááá¯ááá¯ááá·áºáá»á±á¬áºáá±á¬ áá»á°áá¬áá áºáá¯á
- ááŸá¬ážááœááºážá áœá¬á¡áá¯á¶ážááŒá¯áá«á áá±áá¬áá±á·á áºáá»ááºá á®ážááŒááºážá០áá¬ááœááºááẠáá±áááœááºážááá¯ááºáá±á¬ ááá¯ááºá áá áºáá»á¬áž (NFSá Samba á áááº) ááᯠááááºážáá»á¯ááºáá«á
- á á áºáá±ážááŸá¯á¡á á¯á¶ááᯠááá¯ážáá»á²á·ááŒá®ážáá«ááŒá®á
libmdbx á "áá±á¬ááºáá
áºáá¯" áá¬ážááŸááºážááᯠáá®ážááŒá¬ážááá±á¬áá»ááºáá
áºáá¯á¡ááŒá
Ạáááºáááºáá±á¬áºáá±á¬ááºáá«áááºá
- áá¯á¶ážááááá¬ááááŒá áºáá«- MithrilDB ááẠá á®á ááºáá¬ážááá·áºá¡ááºá¹áá«áááºá¡á¬ážáá¯á¶ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá¡ááœáẠááá°áá®áá±á¬ (áááá¬ááááŒá áº) áá±áá¬áá±á·á áºááá¯ááºáá±á¬áºáááºááŸáá·áº ááá°áá®áá±á¬ (áááá¬ááááŒá áº) API áá áºáᯠááá¯á¡ááºáááºá
- á¡áááºážá¡ááŒá
áºáá¯ááºá¡áá
áº- MithrilDB áááºážááŒá
áºáá¯ááºááᯠLMDB á០áá®ážááŒá¬ážááá¯ááºá
ááºááá¬ážááŒá®ážá ááá±á¬áá»ááºááá¯ááºááá¯ááºá ááá°áá®áá±á¬ááá¯ááºá
ááºáá
áºáá¯á¡á±á¬ááºááœáẠáá¯ááºáá±ááẠá
á®á
ááºáá¬ážááẠ(ááœáá·áºááŒá¯áá¬ážáá±á¬á
OR IF Apache 2.0 ááá¯ááºá áẠááá¯ááºáá«áOpenLDAP á¡áá»á¬ážáá°ááŸá¬ ááá¯ááºá áẠ). - ááœá²ááœááºááŒááºážááẠááŒá áºááá¯ááºáá»á±ááŸááá±á¬ ááŸá¯ááºááœá±ážááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážáᬠááá¯ááá¯áá±áá»á¬ááŸá¯ááᯠáá±á¬áºáá±á¬ááºáá±ážááŒá®áž ááá±á¬áá»ááºáá»á¬ážá¡ááœáẠááœááºáááºáá±á¬áááºážááŒá±á¬ááºážááᯠáá±áá»á¬á á±áááºá
MDBX áá²á·ááá¯á· MithrilDB ááá¯áááºáž á¡ááŒá±áá¶áá¬ážáááºá
- ááœá²ááŒá¬ážáá±á¬áá®áá®áá¬á¡áá»á¬ážá¡ááŒá¬ážááœáẠáá±áá¬áá±á·á áºááᯠáá¬ážááŸáááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯- HDDá SSD ááŸáá·áº ááááºááŒáááºáá±á¬ááŸááºáá¬ááºá
- "áá°"á "ááœá±áž" ááŸáá·áº "á¡á±áž" áá±áá¬á¡ááœáẠ"áááºááá¯ážááŸááá±á¬" ááŸáá·áº "áááºááá¯ážáááºáž" á¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážáá»á°áá¬áá»á¬ážá
- áá±áá¬áá±á·á áºááá¯ááºáá¬ááŸá¯ááᯠá á±á¬áá·áºááŒáá·áºááẠMerkle áá áºáááºááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
- WAL ááᯠá áááºááŒáá¯ááºááœá±ážáá»ááºá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®áž áá±áá¬ááá¯ááºáá¬ááŸá¯á¡á¬ááá¶áá»ááºááŒáá·áº áá±ážáááºá¡áá°ážááá¯á¡ááºáá±á¬ á¡ááŒá±á¡áá±áá»á¬ážááœáẠá áœááºážáá±á¬ááºáááºááᯠáááá¬á áœá¬ááá¯ážáááºá á±áááºá
- áá»ááºážááááŒá®ážááœá±á·á áœá¬ áááºážáá¯ááºááŒááºážááẠáá áºááºáá»á¬ážááá¯á· áá±áá¬áá»á¬áž áá±ážáááºá
source: opennet.ru