áá±áá¬á¡ááŒá±á¬ááºá¡ááŒá¬ážááŒáá·áº á¡áá¯ááºáá¯ááºáá±á¬á¡áá«á disk áá±áá¬ááœááºáááŸáááŒááºážááŒá¿áá¬ááẠáá áºáá«áá áºáá¶ááœáẠááŒá áºáá±á«áºáá¬ááá¯ááºáááºá á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážáááºáááºážáááºážáá áºáá¯ááŸá¬ compression ááŒá áºááŒá®ážá áá°áá®áá±á¬áááááá¬ááŒáá·áºááá¯ááŸá±á¬ááºááŸá¯ááá¬áááá¯ááá¯ážááŒáŸáá·áºáááºáááºááá¯ááºáá±á¬ááŒá±á¬áá·áºá á€áá±á¬ááºážáá«ážááœááºá Apache Ignite ááœáẠáá±áá¬áá»á¯á¶á·ááŒááºážáá¯ááºáá±á¬ááºáá¯á¶ááᯠáá±á·áá¬áá«áááºá á€áá±á¬ááºážáá«ážááẠáá¯ááºáá¯ááºá¡ááœááºáž á¡áá¯á¶ážááŒá¯ááá·áº áá áºáá»á¯á¶á·áááºážáááºážáá»á¬ážááá¯áᬠáá±á¬áºááŒáá«áááºá á¡áá±á¬ááºá¡áááºáá±á¬áºáááºááŒá áºá á± ááá¯ááºáá±á¬ááºáááºááŒá áºá á± áá±áá¬áá»á¯á¶á·ááŒááºážá á¡ááŒá¬ážáááºážáááºážáá»á¬áž (ááœááºáááºáá±á«áºááœááºá áááºááá¯áá®ááœááº) ááẠáááºáááºááŒááºáááœáẠááŸááá±áááºááŒá áºáááºá
ááá¯á·ááŒá±á¬áá·áºá ááŒá²ááŒá¶áá±á¬áá¯ááºááᯠááœáá·áºáá¬ážááŒááºážááŒáá·áºá áááºááŸáºáá»á¬ážááŸá áá±áá¬á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááŒá±á¬áá·áº Ignite ááẠáá áºááºááá¯á· á áááºáá±ážáá¬ážáááº-
- áááºááŸáºáá»á¬ážáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬áž
- Ahead Log áá±ážáá« (áá±á¬ááºá០ááá¯ážááá¯áž WAL)
WAL compaction áá¯áá±á«áºáá±á¬ WAL compression á¡ááœáẠááá¹ááá¬ážáá
áºáá¯ááŸááá±ááŒá®ááŒá
áºáááºá áááŒá¬áá±ážáá®áááœááºááŸááá¬ážáá±á¬ Apache Ignite 2.8 ááẠááá·áºá¡á¬áž disk ááœááºáá±áá¬áá»á¯á¶á·áááºááœáá·áºááŒá¯ááá·áºáá±á¬ááºáááºááá¹ááá¬ážááŸá
áºáá¯ááá¯ááááºáááºáá±ážáá²á·áááº- áááºááŸáºáá»á¬ážáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááá¯áá»á¯á¶á·áááºá¡ááœáẠdisk page compression ááŸáá·áº WAL á
á¬áá»ááºááŸá¬áá»áŸááºáá
áºááŒááºáá»á¯á¶á·ááŸá¯á¡áá»áá¯á·ááá¯áá»á¯á¶á·áááºá¡ááœáẠWAL á
á¬áá»ááºááŸá¬áá»áŸááºáá
áºááŒááºáá»á¯á¶á·ááŸá¯á á€ááá¹ááá¬ážáá¯á¶ážáá»áá¯ážáá¯á¶ážá¡ááŒá±á¬ááºáž á¡áá±ážá
áááºááᯠá¡á±á¬ááºááœááºáá±á¬áºááŒáá¬ážáááºá
áá áºá á¬áá»ááºááŸá¬áá»á¯á¶á·
áááºááá¯á€áá¯ááºáááºážááá¯áááº
áŠážá áœá¬á Ignite ááẠáá±áá¬ááᯠáááºááá¯á·ááááºážáááºážáááºááᯠá¡ááá¯áá»á¯ááºááŒáá·áºááŒáá«á áá¯á·á á á¬áá»ááºááŸá¬ááŸááºáá¬ááºááᯠááááºážáááºážáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áááºá á á¬áá»ááºááŸá¬á¡ááœááºá¡á á¬ážááᯠnode áá¡á ááœáẠáááºááŸááºáá¬ážááŒá®áž áá±á¬ááºááá¯ááºážá¡ááá·áºáá»á¬ážááœáẠááŒá±á¬ááºážáá²ááááá«á ááá¯á·á¡ááŒáẠá á¬áá»ááºááŸá¬á¡ááœááºá¡á á¬ážááẠáá«áá«ááŸá áºáá¯ááŸáá·áº ááá¯ááºá áá áºááááºááá¯á·ááá·áºá¡ááœááºá¡á á¬ážá áá»á¬ážááŒá¬ážááááºááŒá áºáááºá á á¬áá»ááºááŸá¬áá»á¬ážááᯠááá¯á¡ááºáááᯠáá áºááºá០RAM áá²ááá¯á· ááá·áºááœááºážáááºáá áá áºááºáá±á«áºááŸá áá±áá¬á¡ááœááºá¡á á¬ážááẠááœá²áá±áá»áá¬ážáá±ážááá·áº RAM ááá¬áááẠáá»á±á¬áºááœááºááœá¬ážááá¯ááºáááºá áá áºááºá០á á¬áá»ááºááŸá¬áá áºáá¯ááᯠáááºááẠRAM ááœáẠáá±áá¬á¡áá¯á¶á¡áá±á¬ááºáááŸááá«áá á¡áá¯á¶ážáááŒá¯áá±á¬á·ááá·áº á á¬áá»ááºááŸá¬áá±á¬ááºážáá»á¬ážááᯠRAM á០ááŸááºáá¯ááºáááºááŒá áºáááºá
áá±áá¬ááᯠá¡á±á¬ááºáá±á¬áºááŒáá«áá¯á¶á
á¶ááŒáá·áº áá
áºááºáá±á«áºááœáẠááááºážáááºážáá¬ážáá«áááº- áááºááŸáºá¡ááœá²á·áá
áºáá¯á
á®á á¡ááá¯ááºážáá
áºáá¯á
á®á¡ááœáẠáá®ážááŒá¬ážááá¯ááºáá
áºáá¯ááᯠáááºáá®ážáá¬ážáááºá á€ááá¯ááºááœáẠá
á¬áá»ááºááŸá¬áá»á¬ážááẠáááºá
ááºáááºááá¯áẠá¡ááœáŸááºážááááºážáá
áºáá¯ááŒá®ážáá
áºáᯠáá±á«áºáá¬áááºá á
á¬áá»ááºááŸá¬ á¡ááŒáá·áºá¡á
á¯á¶ááœáẠáááºááŸááºáá¬ážáá±á¬ ááá¯ááºááœáẠáááºááŸáºá¡ááœá²á· áááºááŸááºááŸá¯á
áá
áºá á¡áááºážááá·áºáá¶áá«ááºááŸáá·áº á
á¬áá»ááºááŸá¬á¡ááœáŸááºážááá¯á· áá«áááºáá«áááºá ááá¯á·ááŒá±á¬áá·áºá á
á¬áá»ááºááŸá¬á¡ááŒáá·áºáááºááŸááºááŸá¯á
áá
áºááᯠá¡áá¯á¶ážááŒá¯á áá»áœááºá¯ááºááá¯á·ááẠááá¯ááºááŸáá·áº á
á¬áá»ááºááŸá¬áá
áºáá¯á
á®á¡ááœáẠááá¯ááºááŸáá¡á±á¬á·ááºáááºááᯠáá®ážááŒá¬ážáááºááŸááºááá¯ááºáááºá Apache Ignite Wiki áá±á¬ááºážáá«ážááœáẠá
á¬áá»ááºááŸá¬ááŸááºáá¬ááºá¡ááŒá±á¬ááºáž ááá¯ááá¯áááºááŸá¯ááá¯ááºáááº-
á¡áááºá០ááá·áºááŸááºážááá¯ááºááá²á·ááá¯á· áá áºá á¬áá»ááºááŸá¬áá»á¯á¶á·ááŸá¯ ááá¹ááá¬ážááẠá á¬áá»ááºááŸá¬á¡ááá·áºááœáẠá¡áá¯ááºáá¯ááºáááºá á€ááá¹ááá¬ážá¡á¬áž ááœáá·áºáá¬ážáá±á¬á¡áá«á RAM á¡ááœááºážááŸá áá±áá¬áá»á¬ážááᯠááááááºááŸá¯áááŸááá² áá¯ááºáá±á¬ááºáá±áááºá ááá¯á·áá±á¬áº á á¬áá»ááºááŸá¬áá»á¬ážááᯠRAM á០disk ááá¯á· ááááºážáááºážáá±á¬á¡áá« áááºážááá¯á·ááᯠáá»á¯á¶á·ááá¯ááºáá«áááºá
ááá¯á·áá±á¬áº á á¬áá»ááºááŸá¬áá áºáá¯á á®ááᯠáá®ážááá·áºáá»á¯á¶á·ááŒááºážááẠááŒá¿áá¬á¡ááœáẠá¡ááŒá±ááá¯ááºáá±á áááºááẠáááŸááá¬áá±á¬ áá±áá¬ááá¯ááºáá»á¬ážá á¡ááœááºá¡á á¬ážááᯠáá áºáááºážáááºážááŒáá·áº áá»áŸá±á¬á·áá»ááẠááá¯á¡ááºáááºá á á¬áá»ááºááŸá¬á¡ááœááºá¡á á¬ážááᯠáááŒá¯ááŒááºáá±á¬á·áá«áá ááŒá¿áá¬áá»á¬ážá áœá¬ááᯠáááºáá®ážááá¯ááºáá±á¬ááŒá±á¬áá·áº á á¬áá»ááºááŸá¬áá»á¬ážááᯠááá¯ááºáá áºáá¯ááŒá®ážáá áºáá¯ááá¯á· áá±ážááá¯ááºáá±á¬á·áááºááá¯ááºáá«á
- á á¬áá»ááºááŸá¬á¡ááœáŸááºážááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááºááœááºáááºááŸááá±á¬ á¡á±á¬á·ááºáááºááᯠáá»áœááºá¯ááºááá¯á· ááœááºáá»ááºááá¯ááºáááºááá¯ááºáá«á
- ááá¯ááºáá¡áá¯á¶ážááœááºáááŸááá±á¬ á á¬áá»ááºááŸá¬áá»á¬ážááŸáá·áº áááºážááá¯á·áá¡ááœááºá¡á á¬ážááᯠááŒá±á¬ááºážáá²ááŒááºážááŒáá·áº áááºááá¯á·áá¯ááºáá±á¬ááºááááºááᯠáááŸááºážáááºážáá«á á á¬áá»ááºááŸá¬ á¡ááœááºá¡á á¬áž áá»á±á¬á·áááºážááœá¬ážáá«áá áááºážááᯠááœáŸááºáááºáá¬ážáá±á¬ áá±áᬠáá»á±á¬ááºááœá¬ážáááºá á á¬áá»ááºááŸá¬ á¡ááœááºá¡á á¬áž ááá¯ážáá¬áá«á áááºážá¡ááœáẠááá¯ááºááŸá áá±áá¬á¡áá áºááᯠááŸá¬ááœá±ááẠááá¯á¡ááºáááºá
- á á¬áá»ááºááŸá¬áá áºáá¯ááẠááá¯ááºá áá áºááááºááá¯á·ááŒááºážá¡ááœááºá¡á á¬ážá áá»á¬ážááŒá¬ážááŒááºážááá¯ááºáá±á¬ ááá¯ááºá¡áá»á¬ážá¡ááŒá¬ážááŒáá·áº ááœá±á·áá»á¬ážáá±áá«áá áááºážááᯠá á¬áááºááŒááºáž ááá¯á·ááá¯áẠáá±ážáá¬ážááŒááºážááœáẠá áœááºážáá±á¬ááºáááºááᯠáá»áááºážááœá¬ážá á±ááá¯ááºááá·áº áá±á¬ááºáááºááá¯ááºá áá áºááá±á¬ááºáá áºáá¯ááᯠááááẠááá¯á¡ááºáááºááŒá áºáááºá
á€ááŒá¿áá¬áá»á¬ážááᯠáááºážáááá¯ááºááá¯ááºá¡ááá·áºááœáẠááŒá±ááŸááºážááŒááºážááŸááŸá±á¬ááºááŸá¬ážáááºá Apache Ignite ááŸá disk á á¬áá»ááºááŸá¬áá»á¯á¶á·ááŒááºážááᯠsparse files áá¯áá±á«áºáá±á¬ ááá¯ááºá áá áºááá¹ááá¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá áá»á²ááá¯ááºááẠáá¯ááááŒáá·áºáá±á¬ áá±áá¡áá»áá¯á·ááᯠ"ááœááºážáá»á¬áž" á¡ááŒá Ạá¡ááŸááºá¡áá¬ážááŒá¯ááá¯ááºááá·áº á¡áá¬áá áºáá¯ááŒá áºáááºá á€ááá á¹á ááœááºá á€á¡áá±á«ááºáá»á¬ážááᯠááááºážáááºážááẠááá¯ááºá áá áºááááºááá¯á·ááŒááºážáá»á¬ážááᯠááœá²áá±áá±ážáááºááá¯ááºáá±á¬ááŒá±á¬áá·áº disk áá±áá¬ááœááºáá»á¬ážááᯠáááºáá¬á á±áá«áááºá
ááá¯ááºá áá áºááááºááá¯á·ááŒááºážááᯠááœááºááŒá±á¬ááºáááºá¡ááœááºá á á¬áá»ááºááŸá¬á¡ááœááºá¡á á¬ážááŸáá·áº Apache Ignite ááœáẠáááºáá±á¬ááºážááá·áºáááºáá»ááºáá áºáá¯áá»ááŸááºááá·áº ááá¯ááºá áá áºááááºááá¯á·ááá·áºá¡áá±á«ááºá á¡ááœááºá¡á á¬ážááẠááŒá®ážáááẠááá¯á·ááá¯áẠáá°áá®ááááºááŒá áºááŒá®ážá á á¬áá»ááºááŸá¬ á¡ááœááºá¡á á¬ážááẠááá¯ááºá áá áºááááºááá¯á·ááá·áº á¡ááœááºá¡á á¬ážááẠáááºážááŒááºá áœá¬ ááŒá®ážáá±ááá«áááºá á á¬áá»ááºááŸá¬á¡ááœááºá¡á á¬ážááẠááá±á¬ááºá¡ááœááºá¡á á¬ážááŸáá·áº áá®áá»áŸáá«áá ááá±á¬ááºáá áºáá¯áááºážááᯠáá»áœááºá¯ááºááá¯á· áááºáá±á¬á·á០ááœááºááá¯ááºááẠááá¯ááºáá«á á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ááá±á¬á·áá áºáá¯áááºážááᯠááœááºáááºážá á±áááºá¡ááœááºá ááááááºáá¬ážáá±á¬ á á¬áá»ááºááŸá¬ááẠ0 bytes ááᯠááááºážááá¯ááºááááºááŒá áºáááºá á á¬áá»ááºááŸá¬á¡ááœááºá¡á á¬ážááẠ2 ááá¯á·ááá¯áẠ4 ááá±á¬ááºáá»á¬ážá á¡ááœááºá¡á á¬ážááŸáá·áº áá®áá»áŸáá«áá áá»áœááºá¯ááºááá¯á·á á á¬áá»ááºááŸá¬ááᯠá¡áááºážáá¯á¶áž 50% ááá¯á·ááá¯áẠ75% á¡áá®ážáá®áž ááááááºáá¬ážáá»áŸáẠá¡áááºážáá¯á¶áž ááá±á¬ááºáá áºáᯠááœááºááá¯ááºáá±ááŒá®ááŒá áºáááºá
ááá¯á·ááŒá±á¬áá·áºá ááá¹ááá¬ážá¡áá¯ááºáá¯ááºáá¯á¶ááá±á¬ááºáá¯á¶ážáá±á¬áºááŒáá»ááº- á
á¬áá»ááºááŸá¬áá
áºáá¯ááᯠdisk ááá¯á·áá±ážáá±á¬á¡áá«á á
á¬áá»ááºááŸá¬ááá¯áá»á¯á¶á·áááºááŒáá¯ážá
á¬ážáááºá áá»á¯á¶á·áá¬ážáá±á¬ á
á¬áá»ááºááŸá¬á á¡ááœááºá¡á
á¬ážááẠáá
áºáᯠááá¯á·ááá¯áẠáá
áºáá¯áááºááá¯áá±á¬ ááá¯ááºá
áá
áºááá±á¬ááºáá»á¬ážááᯠááœáŸááºáá±ážááẠááœáá·áºááŒá¯áá«áá á
á¬áá»ááºááŸá¬á¡á¬áž ááááááºáá¬ážáá±á¬ áá¯á¶á
á¶ááŒáá·áº áá±ážáá¬ážáá¬ážááŒá®ážá áááºááŸá¬ážáá¬ážáá±á¬ ááá±á¬ááºáá»á¬ážá¡á
á¬áž âá¡áá±á«ááºâ ááᯠááŒá¯áá¯ááºááẠ(á
áá
áºáá±á«áºááá¯ááŸá¯ááᯠáá¯ááºáá±á¬ááºáááºá fallocate()
punch hole á¡áá¶ááŸáá·áºá¡áá°) á ááááááºáá¬ážáá±á¬ á
á¬áá»ááºááŸá¬á á¡ááœááºá¡á
á¬ážááẠááááºááá¯á·ááŸá¯áá»á¬ážááᯠááœááºááŒá±á¬ááºááẠááœáá·áºáááŒá¯áá«áá á
á¬áá»ááºááŸá¬ááᯠááááááºáá¬ážááŒááºážáááŸáááá·áºá¡ááá¯ááºáž ááááºážáááºážáá¬ážáááºá á
á¬áá»ááºááŸá¬ á¡á±á¬á·ááºáááºá¡á¬ážáá¯á¶ážááᯠá
á¬áá»ááºááŸá¬á¡ááœááºá¡á
á¬ážááŒáá·áº á
á¬áá»ááºááŸá¬á¡ááœáŸááºážááᯠááŒáŸá±á¬ááºááŒááºážááŒáá·áº áá»á¯á¶á·ááŒááºážáááŸááá² áá°áá®áá±á¬áááºážááŒáá·áº ááœááºáá»ááºáááºá ááá·áºááá¯ááºááá¯ááºá
á¬áá»ááºááŸá¬áá»á¬ážááᯠáá±áá¬ááœáŸá±á·áááºáááá¯á¡ááºáá«á áá»á¯á¶á·ááŒááºážáááŒá¯áá²áá²á·ááá¯á· á
á¬áá»ááºááŸá¬á¡á±á¬á·ááºáááºáá»á¬ážááẠááá¯ááºá
áá
áºááááºááá¯á·ááŒááºážá áááºááááááºáá»á¬ážáá±á«áºááœáẠáá»áá±á¬ááºáááºá
áááºááŸá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááœááºá Ignite ááẠLinux OS á¡á±á¬ááºááœáẠáá±ážáááºáá±á¬ááá¯ááºáá»á¬ážááŸáá·áºáᬠá¡áá¯ááºáá¯ááºááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áºá á€áááºáááºááŸá¯á
áá
áºááœáẠIgnite ááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá«ááœááºáᬠáá
áºááºá
á¬áá»ááºááŸá¬áá»á¯á¶á·ááŸá¯ááᯠááœáá·áºááá¯ááºáááºá
áá áºá á¬áá»ááºááŸá¬áá»á¯á¶á·ááŒááºážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº ááŸááá·áºáá»ááŸá¯ á¡ááºáááá¯áá®áááºáá»á¬áž- ZSTDá LZ4á Snappyá ááá¯á·á¡ááŒááºá ááááºáá±á¬áºááŒáá¬ážáá±á¬ algorithms áá»á¬ážááŸáá·áºááŸáá¯ááºážááŸááºáá«á CPU áá±á«áºááŸááááºá¡á¬ážáá»á±á¬á·áááºážá á±ááá·áºáá»ááºáá±áá¬áá»á¬ážááá¯áá»á¯á¶á·ááŒááºážáááŒá¯áá²á á¬áá»ááºááŸá¬ááŸáá¡áá¯á¶ážáááŒá¯áá±á¬áá±áá¬ááá¯áá¬áá¯ááºáá áºááá·áºáááºáááºááŸá¯áá¯áẠ(SKIP_GARBAGE) ááŸááá«áááºá
á áœááºážáá±á¬ááºááẠááááá¯ááºááŸá¯
áá¶ááá±á¬ááºážá áœá¬ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá€ááá¹ááá¬ážááᯠáá¯ááºáá¯ááºáá¬ááœáẠá¡áá¯á¶ážááŒá¯ááẠá¡á á®á¡á ááºáááŸááá±á¬ááŒá±á¬áá·áº á¡ááŸááºáááẠá áœááºážáá±á¬ááºááẠááá¯ááºážáá¬ááŒááºážáá»á¬ážááᯠáá»áœááºá¯ááºááá¯ááºáá±á¬ááºáá²á·áá²á áááºááá·áºáá±áá¬ááœáẠááŸá¯á¶ážáááºá áááºááá·áºáá±áá¬ááœáẠá¡ááá¯ááºááááºááᯠáá®á¡áá¯áá®á¡á ááŸááºážáááá¯ááºáá«áááºá
áá®ááá¯áá¯ááºááá¯á·á áááºáá±á¬ááºáá²á·á¡áá« á á¬áá»ááºááŸá¬ááœá±ááᯠáááºááá¯áááºááŒá®áž áá±ážáá¬ážáááºááá¯áá¬ááᯠááŸááºáá¬ážáá¬ážááá¯á· ááá¯áá«áááºá
- áááºááŸá¯ááŒááºáž áá¯ááºáá±á¬ááºáá»ááºááᯠáá¯ááºáá±á¬ááºááá·áºá¡áá«á áááºážááᯠRAM ááœáẠáŠážá áœá¬ááŸá¬ááœá±áááºá á¡áááºá ááŸá¬ááœá±ááŸá¯ áá¡á±á¬ááºááŒááºáá«áá á á¬áá»ááºááŸá¬ááᯠáááºááŸá¯ááŒááºážááᯠáá¯ááºáá±á¬ááºááá·áº áá°áá®áá±á¬á á¬ááœá²ááŒáá·áº áá áºááºá០RAM áá²ááá¯á· áááºáá±ážáá«áááºá
- á á¬áá±ážááŒááºážáá¯ááºáááºážááᯠáá¯ááºáá±á¬ááºáá±á¬á¡áá« RAM ááŸá á á¬áá»ááºááŸá¬ááᯠáá áºáááºáááºáᯠá¡ááŸááºá¡áá¬ážááŒá¯áá±á¬áºáááºáž á á¬áá±ážááŒááºážáá¯ááºáá±á¬ááºááá·áº thread ááŒáá·áº á á¬áá»ááºááŸá¬ááᯠáá»ááºáá»ááºáž áá áºááºááœáẠáá¯ááºááá¯ááºážááá¯ááºáᬠááááºážáááºážáááºááá¯ááºáá«á áá áºáááºáá±á¬á á¬áá»ááºááŸá¬á¡á¬ážáá¯á¶ážááᯠáá®ážááŒá¬ážá á¬ááœá²áá»á¬ážááŒáá·áº á á áºáá±ážáá±ážááááºáá¯ááºáááºážá ááºááœáẠáá±á¬ááºááá¯ááºážááœáẠáá áºááºááœáẠááááºážáááºážáá¬ážáááºá
ááá¯á·ááŒá±á¬áá·áº á á¬áááºááŒááºážáá¯ááºáááºážá¡áá±á«áº áááºáá±á¬ááºááŸá¯ááŸá¬-
- á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ (disk IO) ááẠread file system blocks á¡áá±á¡ááœááºáá»áááºážááŒááºážááŒá±á¬áá·áºááŒá áºáááºá
- á¡áá¯ááºááá¹ááᬠ(CPU) ááẠáá»á²ááá¯ááºáá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºááẠoperating system ááŸááá¯á¡ááºáá±á¬á¡ááá¯áááºááá¯ááŒá±á¬áá·áºááŒá áºáááºá ááá¯ááá¯ááŸá¯ááºááœá±ážáá±á¬ ááá¯ááºááœá²á·á ááºážáá¯á¶á¡á¬áž ááááºážáááºážáááºá¡ááœáẠáá±á¬ááºááẠIO áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠá€áá±áá¬ááœáẠááœááºááá¯ááºááŒá±á¬ááºáá±á«áºáá¬áááá·áºááẠ(áá¶ááá±á¬ááºážá áœá¬ááŒáá·áºá áá»áœááºá¯ááºááẠááá¯ááºáá»á¬áž áááºááá¯á·áá¯ááºáá±á¬ááºáá¯á¶á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáá»áœááºá¯ááºááááá±ážáá«)á
- á¡áá¯ááºááá¹ááᬠ(CPU) ááẠá á¬áá»ááºááŸá¬áá»á¬ážááᯠáá»á¯á¶á·ááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá
- á á¬áá±ážááŒááºážáá¯ááºáááºážá¡áá±á«áº áááºáá±á¬ááºááŸá¯áááŸááá«á
- á á áºáá±ážáá±ážáááẠáá¯ááºáááºážá ááºá¡áá±á«áº áááºáá±á¬ááºááŸá¯ (á€áá±áá¬ááœáẠá¡á¬ážáá¯á¶ážááẠáááºááŸá¯ááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº áááºáá°áááº)á
- á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ (disk IO) ááẠáá±ážáá¬ážáá±á¬ ááá¯ááºá áá áºááááºááá¯á·ááá·áº á¡áá±á¡ááœáẠáá»á±á¬á·áááºážááŒááºážááŒá±á¬áá·áº ááŒá áºáááºá
- á¡áá»ááºááá±á¬áá±á¬ááºáá±á¬ (CPUá ááŒá áºááá¯ááºáá±á¬ disk IO) ááẠáá»á²áá±áá±á¬ááá¯ááºáá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá
- á¡áá¯ááºááá¹ááᬠ(CPU) ááẠá á¬áá»ááºááŸá¬áá»á¯á¶á·ááẠááá¯á¡ááºááŒááºážááŒá±á¬áá·áº ááŒá áºáááºá
á áá±ážá áááºááŒááºážá á áá±ážááᯠááœáŸááºáá±ážáááºáááºážá á€á¡áá¬á¡á¬ážáá¯á¶ážááẠáááºáááºážáá»ááºá¡áá±á«áºááœáẠáá»á¬ážá áœá¬áá°áááºáááºá ááá¯á·áá±á¬áº áá áºááºá á¬áá»ááºááŸá¬ááᯠááááááºááŒááºážááẠá áá áºá¡áá»á¬ážá á¯ááœáẠá áœááºážáá±á¬ááºáááºáá»áááºážááŒááºážááá¯á· áŠážáááºááœá¬ážááá¯ááºáááºáᯠáá»áœááºá¯ááºáá¯á¶ááŒááºááá¯áá«áááºá ááá¯á·á¡ááŒááºá áá»á²ááá¯ááºáá»á¬ážááŸáá·áº á¡áá¬ážáá°áá»ááºážáááºáááºážááᯠá¡áá¯á¶ážááŒá¯ááá·áº á¡ááŒá¬áž DBMS áá»á¬ážááœáẠá ááºážáááºááŸá¯áá»á¬ážááẠcompression ááá¯ááœáá·áºáá¬ážááá·áºá¡áá« á áœááºážáá±á¬ááºáááºáá»áááºážááœá¬ážáááºááᯠááŒááááºá
áááºááá¯ááœáá·áºááŒá®áž configure áá¯ááºááá²á
á¡áááºááœááºáá±á¬áºááŒáá²á·ááá·áºá¡ááá¯ááºážá disk page compression ááá¯áá¶á·ááá¯ážáá±ážáá±á¬ Apache Ignite áá¡áááºážáá¯á¶ážáá¬ážááŸááºážááŸá¬ 2.8 ááŒá áºááŒá®áž Linux áááºáááºááŸá¯á áá áºááá¯áᬠáá¶á·ááá¯ážáá¬ážáááºá á¡á±á¬ááºáá«á¡ááá¯ááºážááœáá·áºááŒá®áž configure áá¯ááºáá«á
- class-path ááœáẠignite-compression module áá áºáá¯ááŸáááá«áááºá áá°áááºážá¡á¬ážááŒáá·áºá áááºážááẠlibs/optional directory ááŸá Apache Ignite ááŒáá·áºááŒá°ážááŸá¯ááœáẠáááºááŸáááŒá®áž class-path ááœáẠááá«áááºáá«á áááºááẠáááºážááœáŸááºááᯠlibs ááá¯á· á¡ááá·áºáá áºááá·áºááá¯á· ááœáŸá±á·ááá¯ááºááŒá®áž áááºážááᯠignite.sh ááŸáá áºááá·áº áá¯ááºáá±á¬ááºááá·áºá¡áá« áááºážááᯠá¡ááá¯á¡áá»á±á¬áẠááœáá·áºáá±ážáááºááŒá áºáááºá
- á
áœá²ááŒá²ááŸá¯ááᯠááœáá·áºáá¬ážáááẠ(ááŸáá
áºááá·áº ááœáá·áºáá¬ážáááºá
DataRegionConfiguration.setPersistenceEnabled(true))
. - á
á¬áá»ááºááŸá¬á¡ááœááºá¡á
á¬ážááẠááá¯ááºá
áá
áºááááºááá¯á·ááá·áºá¡ááœááºá¡á
á¬ážááẠááá¯ááŒá®ážááá«ááẠ(áááºážááá¯á¡áá¯á¶ážááŒá¯á áááºááŸááºááá¯ááºáááºá
DataStorageConfiguration.setPageSize()
). - áá±áá¬áá»á¯á¶á·ááẠááá¯á¡ááºááá·áº cache áá
áºáá¯á
á®á¡ááœááºá compression method ááᯠconfigure áá¯ááºááááºááŒá
áºááŒá®áž (optionally) compression level (áááºážáááºážáá»á¬áž
CacheConfiguration.setDiskPageCompression() , CacheConfiguration.setDiskPageCompressionLevel()
).
WAL áá»á¯á¶á·ááŒááºážá
áááºááá¯á€áá¯ááºáááºážááá¯áááº
WAL ááá¯áᬠáá¬áá²á áá¬ááŒá±á¬áá·áº ááá¯á¡ááºáá¬áá²á á¡ááá¯áá»á¯ááº- á€áááºááŸá¬ á á¬áá»ááºááŸá¬ááá¯ááŸá±á¬ááºááŸá¯ááᯠáá±á¬ááºáá¯á¶ážááœáẠááŒá±á¬ááºážáá²á á±ááá·áº ááŒá áºáááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá«áááºáá±á¬ ááŸááºáááºážáá áºáá¯ááŒá áºáááºá ááŒá¯ááºáá»áá«á ááŒááºáááºáá±á¬ááºážááœááºááẠá¡ááá ááá¯á¡ááºáá«áááºá á¡áá¯á¶ážááŒá¯áá°á¡á¬áž ááááºážáá»á¯ááºááŸá¯áááŒá¯áá¯ááºáá® áááºááá·áºáá¯ááºáá±á¬ááºáá»ááºáááᯠWAL ááœáẠááŒá áºáááºáá áºáá¯ááᯠáŠážá áœá¬ááŸááºáááºážáááºááááºááŒá áºááŒá®ážá áá»ááºááœááºáá«á áááºážááᯠááŸááºáááºážááœáẠááŒááºáááºááœáá·áºááá¯ááºááŒá®áž á¡ááá¯áá«áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá°á០á¡á±á¬ááºááŒááºáá±á¬áá¯á¶á·ááŒááºááŸá¯áááŸááá²á·ááá·áºááá¯áẠáá¯ááºáá±á¬ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠááŒááºáááºááá°ááá¯ááºáááºááŒá áºáááºá áá áºááºááŸá á á¬áá»ááºááŸá¬ááá¯ááŸá±á¬ááºááŸá¯ááœáẠáááºáááºááẠá¡áá»áááºáááŸááá« (á¡áááºááœáẠáá±á¬áºááŒáá¬ážááŒá®áž á á¬áá»ááºááŸá¬á ááá¯ážááá¯á· á¡ááŸááºááááºá á¬áá±ážááŒááºážááẠáá®ážááŒá¬ážá á¬ááœá²áá»á¬ážááŒáá·áº ááŒáá·áºááŒá¬áá±áááŒáá·áº "á á áºáá±ážááŒááºáž" áá¯áá±á«áºáá±á¬ áá¯ááºáááºážá ááºááœáẠáá¯ááºáá±á¬ááºáááºáᯠáá±á¬áºááŒáá¬ážáá«áááºá
WAL ááœáẠááá·áºááœááºážááŸá¯áá»á¬ážááᯠáá¯áá¹ááááŸáá·áº áá¯ááºááá¯ááºážááá¯ááºáᬠááœá²ááŒá¬ážáá¬ážáááºá Boolean ááœá±áᬠáá°ááá¯á·ááá¯ááºáá°ááá¯á· áá±á¬á·ááœá±áá²á· áááºááá¯ážááœá±ááŸááááºá áá¯ááºááá¯ááºážááá¯ááºáᬠ- á
á¬áá»ááºááŸá¬á
ááá¯ážááŸá á
á¬áá»ááºááŸá¬áá»á¬ážá ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠáá±á¬ááºááŒááºáááºáááºá áá¯áá¹ááááŸááºáááºážáá»á¬ážááẠá¡ááŒá¬ážááá
á¹á
áááºá¡áá»áá¯á·á¡ááœáẠá¡áá¯á¶ážáááºááá¯ááºáá±á¬áºáááºáž áá»ááºáá»ááŸá¯áá
áºáá¯ááœáẠááŒááºáááºááá°áááºá¡ááœááºáᬠáá¯ááºááá¯ááºážááá¯ááºáá¬ááŸááºáááºážáá»á¬áž ááá¯á¡ááºááŒá®áž áá±á¬ááºáá¯á¶ážá¡á±á¬ááºááŒááºáá±á¬ á
á
áºáá±ážáá±ážááááºá០ááŸááºáááºážáá»á¬ážááᯠááá¯á¡ááºáá«áááºá á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡áá±ážá
áááºááŸááºážááŒááŒá®áž áááºááá·áºá¡ááœááºááŒá±á¬áá·áº á€áááºážááŒáá·áº á¡áá¯ááºáá¯ááºáááºááᯠááŸááºážááŒáááºááá¯ááºáá±á¬áºáááºáž á
áááºáááºá
á¬ážáá°áá»á¬ážááẠApache Ignite Wiki ááŸá áá±á¬áºááŒááŒá®ážáá¬ážáá±á¬ááºážáá«ážááᯠááá¯ážáá¬ážááá¯ááºáááº-
áá¯áá¹ááááŸááºáááºážáá áºáá¯ááœáẠáá¯ááºááá¯ááºážááá¯ááºáá¬ááŸááºáááºážáá»á¬ážá áœá¬ áááŒá¬ááááŸááááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááá¯ááá¯áááºááŸá¬á áááºááŸáºááœáẠáá¯ááºáá±á¬ááºáá»ááºáá áºáá¯ááẠá á¬áá»ááºááŸá¬ááŸááºáá¬ááºááŸá á á¬áá»ááºááŸá¬áá»á¬ážá áœá¬ (áá±áá¬ááá¯ááºááá¯ááºáá«áááºááá·áº á á¬áá»ááºááŸá¬á á¡ááœáŸááºážááááºážáá»á¬ážáá«ááá·áº á á¬áá»ááºááŸá¬áá»á¬ážá á¡ááá²á·á á¬áááºážáá»á¬ážáá«ááá·áº á á¬áá»ááºááŸá¬áá»á¬áž) ááᯠá¡áá»áá¯ážáááºáá±á¬ááºá á±áááºá áá±á«ááºážá ááºá ááºážáááºááŸá¯á¡áá»áá¯á·ááœááºá áá¯ááºááá¯ááºážááá¯ááºáá¬ááŸááºáááºážáá»á¬ážááẠWAL ááá¯ááºá 90% á¡áá ááááºážááá¯ááºáá¬ážááŒá±á¬ááºáž ááœá±á·ááŸááá²á·áááºá ááá¯á·áá±á¬áºá áááºážááá¯á·ááẠá¡áá»áááºááá¯áá±á¬ááºážááẠááá¯á¡ááºááẠ(áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá á á áºáá±ážáá±ážááááºáá»á¬ážááŒá¬ážáá¬áááẠá áááá áºááŒá áºáááº)á áááºážááááºá ááºááŸá¯ááᯠáá¯á¶ážááŸá¯á¶ážááŒá®ážáá±á¬áẠá€áá±áá¬ááᯠáááºááŸá¬ážááŒááºážááẠáá¯áá¹áááááºáá«áááºá áááºážááẠWAL compaction ááá¹ááá¬ážáá¯ááºáá±á¬ááºáááº- áááºážááẠáá¯ááºááá¯ááºážááá¯ááºáá¬ááŸááºáááºážáá»á¬ážááá¯áááºááŸá¬ážááŒá®áž áá»ááºáá¯áá¹ááááŸááºáááºážáá»á¬ážááᯠzip ááá¯á¡áá¯á¶ážááŒá¯á áá»á¯á¶á·áá±ážáᬠááá¯ááºá¡ááœááºá¡á á¬ážááẠá¡ááœááºáááááá¬áá¬áá»á±á¬á·áá»ááœá¬ážááẠ(ááá«ááᶠá¡ááŒáááºáááºááŸáá·áºáá»á®)á
áá¯ááºááá¯ááºážá¡áá WAL ááœáẠáá¯á¶áá±á¡ááœááºá¡á á¬áž (áá¯á¶ááŸááºá¡á¬ážááŒáá·áº 10MB) á á¡ááá¯ááºážáá»á¬ážá áœá¬ (64) áá«áááºááŒá®áž á ááºááá¯ááºážáá¯á¶á á¶ááŒáá·áº áááºáá±ážáá¬ážáááºá áááºááŸá á¡ááá¯ááºážááᯠááŒáá·áºááŒá®ážáááºááŸáá·áº áá±á¬ááºá¡ááá¯ááºážááᯠáááºááŸáá¡ááŒá ẠáááºááŸááºáá¬ážááŒá®áž ááŒáá·áºá áœááºáá¬ážáá±á¬ á¡ááá¯ááºážááᯠáá®ážááŒá¬ážá á¬ááœá²ááŒáá·áº ááŸááºáááºážááá¯á· áá°ážáá°áá«áááºá WAL compaction ááẠarchive segments áá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºááŒá®ážááŒá áºáááºá ááá¯á·á¡ááŒááºá áá®ážááŒá¬áž thread áá áºáá¯á¡áá±ááŒáá·áºá áááºážááẠá á áºáá±ážáá±ážááááºá áá¯ááºáá±á¬ááºááŸá¯ááᯠá á±á¬áá·áºááŒáá·áºááŒá®áž áá¯ááºááá¯ááºážááá¯ááºáᬠááŸááºáááºážáá»á¬áž áááá¯á¡ááºáá±á¬á·ááá·áº archive segments áá»á¬ážááœáẠcompression ááᯠá áááºáááºá
á áœááºážáá±á¬ááºááẠááááá¯ááºááŸá¯
WAL compaction ááẠáá®ážááŒá¬áž thread áá áºáá¯á¡áá±ááŒáá·áº áá¯ááºáá±á¬ááºáá±á¬ááŒá±á¬áá·áºá áá¯ááºáá±á¬ááºáá±ááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡áá±á«áº ááá¯ááºááá¯ááºáááºáá±á¬ááºááŸá¯ áááŸáááá·áºáá«á áá«áá±ááá·áº CPU (compression) áá²á· disk (archive á០WAL segment áá áºáá¯á á®ááá¯áááºááŒá®áž compressed segments áá»á¬ážááá¯áá±ážááŒááºáž) ááœááºáá±á¬ááºááẠbackground load ááá¯ááá·áºááœááºážáá¬ážáá²ááŒá áºáá±á¬ááŒá±á¬áá·áºá system ááẠáááºážáá¡ááŒáá·áºáá¯á¶ážá áœááºážáá±á¬ááºáááºááŒáá·áºáá¯ááºáá±á¬ááºáá±áá«áá áááºážááẠá áœááºážáá±á¬ááºáááºáá»áááºážááŒááºážáá®ááá¯á· áŠážáááºááœá¬ážáááºááŒá áºáááºá
áááºááá¯ááœáá·áºááŒá®áž configure áá¯ááºááá²á
ááá¯ááºááá¯ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯á WAL compaction ááᯠáááºááœáá·áºááá¯ááºáááºá WalCompactionEnabled
в DataStorageConfiguration (DataStorageConfiguration.setWalCompactionEnabled(true)
) ááá¯á·á¡ááŒááºá DataStorageConfiguration.setWalCompactionLevel() áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯á áá°áááºážáááºááá¯áž (BEST_SPEED) ááᯠááá»á±áááºáá«á áá»á¯á¶á·ááŸá¯á¡ááá·áºááᯠááẠáááºááŸááºááá¯ááºáá«áááºá
WAL á á¬áá»ááºááŸá¬áá»áŸááºáá áºááŒááºááá¯ááºáá»ááºáá»á¯á¶á·
áááºááá¯á€áá¯ááºáááºážááá¯áááº
WAL ááŸááºáááºážáá»á¬ážááœáẠáá¯áá¹ááááŸáá·áº áá¯ááºááá¯ááºážááá¯ááºáᬠááœá²ááŒá¬ážáá¬ážááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· ááááŸááá¬ážááŒá®ážááŒá áºáááºá á á¬áá»ááºááŸá¬áá áºáá¯á á®ááá¯á· ááŒá±á¬ááºážáá²ááŸá¯áá áºáá¯á á®á¡ááœááºá áá¯ááºááá¯ááºážááá¯ááºáᬠWAL ááŸááºáááºážááᯠá á¬áá»ááºááŸá¬ááŸááºáá¬ááºááœáẠáá¯ááºáá±ážáááºá áá¯ááºááá¯ááºážááá¯ááºáá¬ááŸááºáááºážáá»á¬ážááᯠáá áºááẠá¡áá»áá¯ážá¡á á¬ážááœá² 2 áá¯á¡ááŒá Ạááœá²ááŒá¬ážáá¬ážáá«áááº- á á¬áá»ááºááŸá¬áá»áŸááºáá áºááŒááºááŸááºáááºážááŸáá·áº ááŒá áºááá»áœááºážáá±á«áºááŸááºáááºážá á á¬áá»ááºááŸá¬áá áºáá¯áá±á«áºááŸá áá áºáá¯áá¯ááᯠááŒá±á¬ááºážáá²ááŒá®áž ááá·áºááŸááºážáá±á¬á¡ááŒá±á¡áá±á០áá áºáááºáá±á¬á¡ááŒá±á¡áá±ááá¯á· ááœáŸá²ááŒá±á¬ááºážááá·áºá¡áá«ááá¯ááºážá á€á á¬áá»ááºááŸá¬á áááá¹áá°á¡ááŒáá·áºá¡á á¯á¶ááᯠWAL (á á¬áá»ááºááŸá¬áá»áŸááºáá áºááŒááºááŸááºáááºáž) ááœáẠááááºážáááºážáá¬ážáááºá WAL ááœáẠáá áºááá¯ááºáᬠááŒá±á¬ááºážáá¬ážáá»áŸááºáááºá ááŸááºáááºážááẠá á¬áá»ááºááŸá¬á¡ááœááºá¡á á¬ážááẠá¡áááºážááẠááá¯ááŒá®ážáá±áááºááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá áºáááºáá±ááŒá®ááŒá áºáá±á¬ á á¬áá»ááºááŸá¬áá±á«áºááœáẠáá áºá á¯á¶áá áºáá¯ááᯠááŒá±á¬ááºážáá²áá«áá á á¬áá»ááºááŸá¬áá áºáá¯áá¯á¶ážááᯠááá¯ááºáá² á á¬áá»ááºááŸá¬á ááááºá¡ááŒá±á¡áá±ááŸáá·áº ááŸáá¯ááºážááŸááºáá«á ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááá¯áᬠáááºáááºá á±ááá·áº ááŒá áºááá»áœááºážáá±á«áºááŸááºáááºážááᯠWAL ááŒáá·áº ááœá²á·á ááºážáá¬ážáááºá á á¬áá»ááºááŸá¬áá»á¬ážá á¡ááŒá±á¡áá±ááᯠáá áºáááºááŒááºážá០ááá·áºááŸááºážááŒááºážááá¯á· ááŒááºáááºáááºááŸááºááŒááºážá¡á¬áž á á áºáá±ážáá±ážááááºáá¯ááºáááºážá ááºá¡ááœááºáž áá¯ááºáá±á¬ááºáá±áá±á¬ááŒá±á¬áá·áº á á áºáá±ážáá±ážááááºá áááºááŒá®ážáá±á¬áẠáá»ááºáá»ááºážááá¯áááá¯á áá¯ááºááá¯ááºážááá¯ááºáá¬ááŸááºáááºážá¡á¬ážáá¯á¶ážáá®ážáá«ážááẠá á¬áá»ááºááŸá¬áá»á¬ážá áá»áŸááºáá áºááŒááºáá¯á¶áá»á¬ážáᬠááŒá áºáááá·áºááẠ(á á áºáá±ážáá±ážááááºá áááºááŒá®ážááŒá®ážáá»ááºáž á á¬áá»ááºááŸá¬áá»á¬ážá¡á¬ážáá¯á¶ážááẠááá·áºááŸááºážáá±áá±á¬ááŒá±á¬áá·áº) ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºá á áºáá±ážáá±ážááááºááá¯á· áá»ááºážáááºáá¬áááºááŸáá·áºá¡áá»áŸ ááŒá áºááá»áœááºážáá±á«áºáá±áááŸááºáááºážá¡ááá¯ááºážá¡á ááẠááŒá®ážááœá¬ážáá¬ááŒá®áž áá±á¬ááºá á áºáá±ážáá±ážááááºáá¡á ááœáẠááŒááºáááºáááºááŸááºáááºá á¡áá»áá¯á·áá±á¬ áá±á«ááºážá ááºá ááºážáááºááŸá¯áá»á¬ážááœáẠááá¯ááºážáá¬áá»ááºáá»á¬ážá¡á áá¯ááºááá¯ááºážááá¯ááºáá¬ááŸááºáááºážáá»á¬ážá á á¯á á¯áá±á«ááºážáá¯áááºááŸá á á¬áá»ááºááŸá¬áá»áŸááºáá áºááŒááºááá¯ááºáá»ááºáá»á¬ážá áá±á á¯ááẠ90% á¡áááá±á¬ááºááŸáááŒá±á¬ááºáž ááŒááá²á·áááºá
WAL á á¬áá»ááºááŸá¬áá»áŸááºáá áºááŒááºáá»á¯á¶á·ááŒááºážá á áááºáá°ážááŸá¬ á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ á á¬áá»ááºááŸá¬áá»á¯á¶á·ááŒááºážáááááá¬ááᯠá¡áá¯á¶ážááŒá¯á á á¬áá»ááºááŸá¬áá»áŸááºáá áºááŒááºáá»á¬ážááᯠáá»á¯á¶á·áááºááŒá áºááẠ(áá áºá á¬áá»ááºááŸá¬áá»á¯á¶á·ááŸá¯ááᯠááŒáá·áºáá«)á áá áºáá»áááºáááºážááŸá¬áááºá WAL ááœááºá ááŸááºáááºážáá»á¬ážááᯠáá±á¬ááºáááºááœá²-áááºáááºáá¯ááºááœáẠáááºááá¯ááºááááºážáááºážáá¬ážááŒá®áž ááá¯ááºá áá áºááááºááá¯á·ááŒááºážá áááºááááááºáá»á¬ážááŸáá·áº ááŸááºáááºážáá»á¬ážááᯠá ááºážááŸá±á¬ááºáááºáááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº á€áá±áá¬ááœáẠdisk page compression ááá¹ááá¬ážááŸáá·áºááá°áá²á áá»áœááºá¯ááºááá¯á·ááœáẠá¡áá»á²ááá¯ááºáá»á¬ážááᯠáááá¯á¡ááºáá«á á¡á¬ážáá¯á¶ážá ááá¯á·ááŒá±á¬áá·áºá á€ááá¹ááá¬ážááẠOS Linux ááœááºáá¬áá á¡áá¯ááºáá¯ááºáááºááŒá áºáááºá ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠá á¬áá»ááºááŸá¬ááᯠáááºáá»áŸáá»á¯á¶á·ááá¯ááºáááºááá¯áááºá áá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡áá±ážáááŒá®ážáá±á¬á·áá«á áá»áœááºá¯ááºááá¯á·ááẠ1 byte ááᯠááœáŸááºáá±ážááá¯ááºáá»áŸááºáááºá áááºážááẠá¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ ááááºáá áºáá¯ááŒá áºááŒá®áž WAL ááœáẠáá»á¯á¶á·áá¬ážáá±á¬áá±áá¬ááᯠááá¯ááºá áá áºááááºááá¯á·ááŒááºážááẠ1 ááá¯ááºá áá áºááááºááá¯á·áá¬ážááŸáᬠáá»á¯á¶á·áá¬ážáá±á¬á á¬áá»ááºááŸá¬ááᯠááááºážáááºážááá¯ááºááá·áº disk page compression ááŸáá·áºááá°áá² WAL ááœáẠáá»á¯á¶á·áá¬ážáá±á¬áá±áá¬ááᯠááááºážáááºážááá¯ááºáá«áááºá
á á¬áá»ááºááŸá¬áá»á¬ážááẠá¡ááœááºáá»á¯á¶á·ááá¯ááºáá±á¬ áá±áá¬ááŒá áºáááºá áááºážááá¯á·á á á¯á á¯áá±á«ááºáž WAL ááá¬áááœáẠáááºážááá¯á·á áá»áŸáá±ááŸá¯ááẠá¡ááœááºááŒáá·áºáá¬ážáá±á¬ááŒá±á¬áá·áº WAL ááá¯ááºáá±á¬áºáááºááᯠáááŒá±á¬ááºážáá²áá² áááºážáá¡ááœááºá¡á á¬ážááᯠáááááá¬áᬠáá»áŸá±á¬á·áá»ááá¯ááºáááºááŒá áºáááºá áá¯áá¹ááááŸááºáááºážáá»á¬áž á¡áá«á¡ááẠááááááºááŸá¯ááẠáá±á¬áºáááºááŒá±á¬ááºážáá²ááŸá¯ááŸáá·áº ááá¯ááºáááºáá®ááŸá¯ áá¯á¶ážááŸá¯á¶ážááẠááá¯á¡ááºáá±áááá·áºáááºá á¥ááá¬á áá¯áá¹ááááŸááºáááºážáá»á¬ážááᯠá áááºáááºá á¬ážáá±á¬áºáááºáž ááá¯ááºá¡ááœááºá¡á á¬áž áááááá¬áᬠáá»á±á¬á·áá»ááœá¬ážááá·áº ááŒááºááá¯á¶ážá áœá²áá°áá»á¬ážá¡ááœáẠááá¯ááºáá«á
disk á á¬áá»ááºááŸá¬áá»á¯á¶á·ááŒááºážáá²á·ááá¯á·áááºá WAL á á¬áá»ááºááŸá¬áá»áŸááºáá áºááŒááºááá¯ááºáá»ááºáá»á¯á¶á·ááŸá¯ááẠZSTDá LZ4á Snappy compression algorithms ááŸáá·áº SKIP_GARBAGE áá¯ááºááá¯á·ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
á áœááºážáá±á¬ááºááẠááááá¯ááºááŸá¯
WAL á á¬áá»ááºááŸá¬áá»áŸááºáá áºááŒááºááá¯ááºáá»ááºáá»á¯á¶á·ááŸá¯ááᯠááá¯ááºááá¯ááºááœáá·áºááŒááºážááẠá á¬áá»ááºááŸá¬ááŸááºáá¬ááºááá¯á· áá±áá¬áá±ážáá±á¬ á á¬ááœá²áá»á¬ážááá¯áᬠáááºáá±á¬ááºááŸá¯ááŸáááŒá±á¬ááºáž áááááŒá¯áááááºááŸá¬ ááááºáá²áá±á WAL á០áá¯ááºááá¯ááºážááá¯ááºáᬠááŸááºáááºážáá»á¬ážááᯠáááºááŒááºážááẠáá áºááŒáááºáᬠááŒá áºáá±á«áºááŒá®ážá ááŒá¯ááºáá»ááŒá®ážáá±á¬áẠnode ááᯠááŒáŸáá·áºááẠ(á á áºáá±ážáá±ážááááºááœáẠááŒá¯ááºáá»áá«á)á
áááºážááẠá¡á±á¬ááºáá«áááºážáááºážááŒáá·áº áá±áá¬ááᯠááŒá±á¬ááºážáá²ááá·áº ááœá²áá»á¬ážááᯠá¡áá»áá¯ážáááºáá±á¬ááºáááº- áá áºááºááá¯á· ááá±ážáá® á¡ááŒáááºááá¯ááºáž á á¬áá»ááºááŸá¬ááᯠáá»á¯á¶á·ááẠááá¯á¡ááºááŒááºážááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠá¡áá¯ááºááá¹ááá¬áááºáá±á¬ááºááŸá¯ (CPU) ááᯠáááŸáááŒá®áž ááá¬á áá»á±á¬á·áááºážááœá¬ážááŒááºážááŒá±á¬áá·áº á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ (Disk IO)á data ááœá±áá±ážáááºá ááá¯á·ááŒá±á¬áá·áºá á€áá±áá¬ááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááẠááá¯ážááŸááºážáá«áááº- CPU á á áœááºážáá±á¬ááºáááºááᯠááá·áºáááºáá¬ážáá«áá áááºážááᯠdisk I/O ááŒáá·áº ááá·áºáááºáá¬ážáá«áá áá»áœááºá¯ááºááá¯á·ááẠááá¯ážááŒáá·áºáá¬áá«áááºá
ááœááºááá¯ááºáááŒá áºá á± WAL á¡ááœááºá¡á á¬ážááᯠáá»áŸá±á¬á·áá»ááŒááºážááẠWAL á¡ááá¯ááºážáá»á¬ážááᯠáá±á¬áºááœááºážááá¯ááºááŸáá·áº WAL á¡ááá¯ááºážáá»á¬ážááá¯á· á áœáá·áºáá áºááá·áº (á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬) á á®ážááŒá±á¬ááºážáá»á¬ážááᯠá¡áá»áá¯ážáááºáá±á¬ááºá á±áááºá
áá±á«ááºážá ááºáá±áá¬ááá¯á¡áá¯á¶ážááŒá¯á áá»áœááºá¯ááºááá¯á·ááááºáááºážáá»ááºááŸá á¡á á áºá¡ááŸááºá áœááºážáá±á¬ááºáááºá ááºážáááºááŸá¯áá»á¬ážááœáẠá¡áááºážáááºááá¯ážáá¬ááẠ(ááŒááºáááºážááŸá¯ 10%-15%, latency 10%-15%) áá»á±á¬á·áááºážááœá¬ážáááºááá¯ááŒááá²á·áááºá
áááºááá¯ááœáá·áºááŒá®áž configure áá¯ááºááá²á
á¡áááºážáá¯á¶áž Apache Ignite áá¬ážááŸááºáž- 2.8á á¡á±á¬ááºáá«á¡ááá¯ááºážááœáá·áºááŒá®áž configure áá¯ááºáá«á
- class-path ááœáẠignite-compression module áá áºáá¯ááŸáááá«áááºá áá°áááºážá¡á¬ážááŒáá·áºá áááºážááẠlibs/optional directory ááŸá Apache Ignite ááŒáá·áºááŒá°ážááŸá¯ááœáẠáááºááŸáááŒá®áž class-path ááœáẠááá«áááºáá«á áááºááẠáááºážááœáŸááºááᯠlibs ááá¯á· á¡ááá·áºáá áºááá·áºááá¯á· ááœáŸá±á·ááá¯ááºááŒá®áž áááºážááᯠignite.sh ááŸáá áºááá·áº áá¯ááºáá±á¬ááºááá·áºá¡áá« áááºážááᯠá¡ááá¯á¡áá»á±á¬áẠááœáá·áºáá±ážáááºááŒá áºáááºá
- á
áœá²ááŒá²ááŸá¯ááᯠááœáá·áºáá¬ážáááẠ(ááŸáá
áºááá·áº ááœáá·áºáá¬ážáááºá
DataRegionConfiguration.setPersistenceEnabled(true)
). - áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯á áá»á¯á¶á·áá¯ááºááᯠáááºááŸááºááá«áááºá
DataStorageConfiguration.setWalPageCompression()
á áá»á¯á¶á·ááŒááºážááᯠáá°áááºážá¡á¬ážááŒáá·áº ááááºááẠ(ááááºáá¬ážáá±á¬áá¯ááº)á - áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯á áá»á¯á¶á·ááŸá¯á¡ááá·áºááᯠááœá±ážáá»ááºááá¯ááºáááºá
DataStorageConfiguration.setWalPageCompression()
áá¯ááºáá áºáá¯á á®á¡ááœáẠááŸááºáááºáá±á¬áááºááá¯ážáá»á¬ážá¡ááœáẠáááºážáááºážá¡ááœáẠjavadoc ááᯠááŒáá·áºáá«á
áá±á¬ááºáá»ááº
Apache Ignite ááœáẠááá·áºááœááºážá
ááºážá
á¬ážáá¬ážáá±á¬ áá±áá¬áá»á¯á¶á·áá»á²á·ááŸá¯ááá¹ááá¬ážáá»á¬ážááᯠáá
áºáá¯ááŸáá·áºáá
áºáᯠáá®ážááŒá¬ážá
á®á¡áá¯á¶ážááŒá¯ááá¯ááºáá±á¬áºáááºáž áááºážááá¯á·ááᯠáááºááá·áºáá±á«ááºážá
ááºááŸá¯ááŸáááºáž áááºáá¶ááá¯ááºáááºá áááºážááá¯á·áá¯ááºáá±á¬ááºáá¯á¶ááᯠáá¬ážáááºááŒááºážááŒáá·áº ááá·áºáááºáááºážáá»ááºááŸá ááá·áºá¡áá¯ááºáá»á¬ážá¡ááœáẠáááºážááá¯á·ááẠááá·áºá¡áá¯ááºá¡ááœáẠáááºáá»áŸááá·áºáá»á±á¬áºááŒá±á¬ááºážááŸáá·áº áááºážááá¯á·ááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« áááºá
áœáá·áºááœáŸááºáááá·áºá¡áá¬áá»á¬ážááᯠáá¯á¶ážááŒááºááá¯ááºáááºááŒá
áºáááºá Disk page compression ááẠmain storage ááᯠáá»á¯á¶á·ááẠáá®ááá¯ááºážáá¯ááºáá¬ážááŒá®áž medium compression ratio ááᯠáá±ážááá¯ááºáá«áááºá WAL á
á¬áá»ááºááŸá¬ áá»áŸááºáá
áºááŒááºááá¯ááºáá»ááºáá»á¯á¶á·ááŸá¯ááẠWAL ááá¯ááºáá»á¬ážá¡ááœáẠáá»ááºážáá»áŸáá»á¯á¶á·ááŸá¯ááá¬áááᯠáá±ážá
áœááºážááá¯ááºááŒá®áž á
áœááºážáá±á¬ááºááẠááá¯ááá¯áá±á¬ááºážááœááºáá¬áááºááŒá
áºáááºá WAL compaction ááẠá
áœááºážáá±á¬ááºáááºá¡áá±á«áº á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬ á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááŸááááºááá¯ááºáá±á¬áºáááºáž áá¯ááºááá¯ááºážááá¯ááºáá¬ááŸááºáááºážáá»á¬ážááᯠáááºááŸá¬ážááŒááºážááŒáá·áº WAL ááá¯ááºáá»á¬ážá á¡ááœááºá¡á
á¬ážááᯠá¡áááºááá¯ááºáá¯á¶áž áá»áŸá±á¬á·áá»áá±ážáááºááŒá
áºáááºá
source: www.habr.com