áááºá¹ááá¬áá±á·áááºáááºážáá« áá»áœááºá¯ááºáá¡áááºááŸá¬ Danil Lipovoy ááŒá áºááŒá®ážá Sbertech ááŸá áá»áœááºá¯ááºááá¯á·áá¡ááœá²á·ááẠáá¯ááºáááºážáááºáááºáá±áá¬á¡ááœáẠááá¯ááŸá±á¬ááºááŸá¯á¡ááŒá ẠHBase ááᯠá áááºá¡áá¯á¶ážááŒá¯áá²á·áááºá áááºážááá¯áá±á·áá¬á ááºááœááºá áá»áœááºáá±á¬áºá áá áºááá»áá±á¬áºááŒááá¯áá±á¬á¡ááœá±á·á¡ááŒá¯á¶áá»á¬ážá á¯áá±á¬ááºážáá²á·ááẠ(áá»á¬ážá áœá¬áá±á¬áá»á¬ážá¡ááœááºá¡áá¯á¶ážáááºáááá·áºáááºáá¯áá»áŸá±á¬áºááá·áºáá«áááº) á á¡á±á¬ááºáá±á¬áºááŒáá« á ááºážáááºááŸá¯á¡á¬ážáá¯á¶ážááᯠHBase áá¬ážááŸááºáž 1.2.0-cdh5.14.2 ááŸáá·áº 2.0.0-cdh6.0.0-beta1 ááá¯á·ááŒáá·áº áá¯ááºáá±á¬ááºáá²á·áááºá
- á¡ááœá±ááœá±áááá¯áá¬
- áá±áá¬ááᯠHBASE ááá¯á·áá±ážáá¬ážááŒááºážá
- HBASE ááŸáá±áá¬ááá¯áááºááŒááºážá
- áá±áá¬ááááºážáááºážááŒááºáž
- áá±áá¬á¡ááœá²ááá¯áẠMultiGet/MultiPut áá¯ááºáá±á¬ááºááŒááºážá
- ááá¬ážáá»á¬ážááᯠáá±ááá»á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážááŒááºáž (splitting) áá»á°áá¬
- á¡ááŸá¬ážáá¶ááá¯ááºáááºááŸáááŸá¯á á á¯á ááºážááŸá¯ááŸáá·áº áá±áá¬áá±áá¬áá±á
- áááºáááºáá»á¬ážááŸáá·áº á áœááºážáá±á¬ááºáááº
- á áááºááá á®ážááŸá¯á ááºážáááºááŒááºážá
- ááœá±á·ááŸááá»ááºáá»á¬áž
1. á¡ááœá±ááœá±áááá¯áá¬
áááá¹áá°áá¬á
áá¬ááẠZooKeeper node áá±á«áºááŸá áááºááŒáœáá±á¬á
ááºáááŸáá¯á¶ážáá¯ááºáá¶ááᯠáá¬ážáá±á¬ááºááŒá®áž áá»á±á¬ááºáá¯á¶ážááœá¬ážáá±á¬á¡áá«ááœáẠáá¬á
áá¬ááá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¬áááºáá°áááºá
2. á¡áá»ááºá¡áááºááᯠHBASE ááá¯á· áá±ážáá«á
á¡áááºáá¯á¶áž put(rowkey) ááá¯áá¯á¶ážááŒá®áž table áá áºáá¯ááŸá¬ key-value object áá áºáá¯ááᯠáá±ážááŒáá·áºáá¡á±á¬ááºá client ááẠhbase:meta table ááᯠááááºážáááºážáá¬ážááá·áº Root Region Server (RRS) ááẠáááºááá·áºáá±áá¬ááœáẠááŸááá±áááºááᯠááŸá¬ááœá±ááááºááŒá áºáááºá á€á¡áá»ááºá¡áááºááᯠZooKeeper ááŸáááŸááááºá ááá¯á·áá±á¬áẠáááºážááẠRRS ááá¯áááºáá±á¬ááºááŒá®áž hbase:meta table ááá¯áááºáá¬á áááºážááẠRegionServer (RS) ááẠá áááºáááºá á¬ážáá±á¬ááá¬ážááŸá áá±ážáá¬ážáá±á¬ rowkey á¡ááœáẠáá±áá¬ááááºážáááºážááẠáá¬áááºááŸááááºáá°áá±á¬ á¡áá»ááºá¡áááºááᯠáá¯ááºáá°áááºá á¡áá¬áááºá¡áá¯á¶ážááŒá¯ááŸá¯á¡ááœááºá áááºáá¬ááá¬ážááᯠclient á០áááºááŸáºáá¯ááºáá¬ážáá±á¬ááŒá±á¬áá·áº áá±á¬ááºáááºááœá²áá±á«áºááá¯ááŸá¯áá»á¬ážááẠRS ááá¯á· ááá¯ááºááá¯ááºááá¯ááŒááºáá«áááºá
ááá¯á·áá±á¬ááºá RS ááẠáá±á¬ááºážááá¯áá»ááºáá áºáá¯áááºáá¶áááŸáááŒá®ážáá±á¬ááºá áá»ááºá á®ážááŸá¯áá áºáá¯ááŒá áºááœá¬ážááá·áºá¡áá« ááŒááºáááºááá°áááºá¡ááœáẠááá¯á¡ááºáá±á¬ WriteAheadLog (WAL) ááá¯á· áá±ážáá±ážáááºá ááá¯á·áá±á¬áẠáá±áá¬ááᯠMemStore ááœáẠááááºážáááºážáááºá áááºážááẠáá±ážáá¬ážáá±á¬ áá±áá¡ááœáẠááœá²áá¬ážáá±á¬ áá±á¬á·á¡á á¯á¶áá«ááŸááá±á¬ áááºááá¯áá®á¡ááœááºážááŸá ááŒá¬ážáá¶áá áºáá¯ááŒá áºáááºá ááá¬ážáá áºáá¯á á®ááœáẠáá±á¬á·ááœá²áá áºáá¯á á®áá«ááŸááá±á¬ á¡ááá¯ááºážáá»á¬áž (partitions) áá»á¬ážááᯠááá¯ááºážááŒá¬ážááá¯ááºáááºá áááºážááẠááá·áºá¡á¬áž ááá¯ááá¯ááŒáá·áºáá¬ážáá±á¬á áœááºážáá±á¬ááºáááºáááŸáá á±ááẠááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬áá¬áá¬áá»á¬ážáá±á«áºááœáẠáá±ááá»á¬ážááᯠáá±áá¬áá»ááá¯ááºá á±áááºááŒá áºáááºá ááá¯á·áá±á¬áºáááºáž á€áá¯ááºááŒááºáá»ááºá áááºááŸá¬ážáá±áá±á¬áºáááºážá ááá á¹á á¡á¬ážáá¯á¶ážááœáẠá¡áá¯ááºáááŒá áºááŒá±á¬ááºáž áá±á¬ááºááá¯ááºážááœáẠáá»áœááºá¯ááºááá¯á· ááŒááºááœá±á·ááááºááŒá áºáááºá
MemStore ááœáẠááá·áºááœááºážááŸá¯áá áºáá¯ááᯠááá·áºááœááºážááŒá®ážáá±á¬ááºá ááá·áºááœááºážááŸá¯ááᯠá¡á±á¬ááºááŒááºá áœá¬ ááááºážáááºážááŒá®ážááŒá áºááŒá±á¬ááºáž áááá¯ááºážááá·áºáá¶ááá¯á· áá¯á¶á·ááŒááºááŸá¯áá áºáᯠááŒááºáááºáá±ážááá¯á·áááºá ááá¯á·áá±á¬áº áááºááœá±á·ááœáẠáááºážááᯠááŒá¬ážáá¶áá áºáá¯ááœááºáᬠááááºážáááºážáá¬ážááŒá®áž á¡áá»áááºáá¬ááá áºáá¯áá»á±á¬áºááœááºááŒá®ážáá±á¬áẠááá¯á·ááá¯áẠáá±áá¬á¡áá áºááŒáá·áºááá·áºá¡áá«ááŸáᬠdisk ááá¯á·áá±á¬ááºááŸááááºááŒá áºáááºá
âDeleteâ áá¯ááºáá±á¬ááºáá»ááºááᯠáá¯ááºáá±á¬ááºáá±á¬á¡áá«á áá±áá¬áá»á¬ážááᯠáá¯ááºááá¯ááºážááá¯ááºáᬠáá»ááºáá
áºáááºááá¯ááºáá«á áááºážááá¯á·ááᯠáá»ááºááá¯ááºááŒááºážá¡ááŒá
Ạááá¯ážááŸááºážá
áœá¬ ááŸááºáá¬ážáá¬ážááŒá®áž á¡ááá¯áẠ7 ááœáẠá¡áá±ážá
áááºáá±á¬áºááŒáá¬ážááá·áº á¡ááááá»á
áºáá
áºááááºáááºážááá·áºáá¯ááºáá±á¬ááºáá»ááºááᯠáá±á«áºááá·áºá¡áá»áááºááœáẠáááºážááá¯ááºááá¯áẠáá»ááºáá®ážááŒááºáž ááŒá
áºáá±á«áºáá«áááºá
HFile áá±á¬áºáááºááŸá ááá¯ááºáá»á¬ážááᯠHDFS ááœáẠá á¯áá±á¬ááºážáá¬ážááŒá®áž áá±ážáááºáá±á¬áá»á áºáá»á áºáá±á¬ áá¯ááºáááºážá ááºááᯠá¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ á áááºáá¯ááºáá±á¬ááºááŒá®áž áááºááá·áºá¡áá¬á០ááá»ááºáá² ááá¯ááŒá®ážáá±á¬ááá¯ááºáá»á¬ážá¡ááŒá áºááá¯á· ááá¯ážááŸááºážá áœá¬ áá±á«ááºážá ááºážáááºá á¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸá áááºážááẠáá±áá¬ááá¯áááºááá·áºá¡áá«ááŸáᬠáá±á«áºáá¬ááá·áº ááŒá¿áá¬áá áºáá¯á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááœá¬ážááẠ(áá»áœááºá¯ááºááá¯á· áááºážááᯠáá±á¬ááºá¡áááºážáááºááŒá¬áá±á¬á¡áá« ááŒááºáá¬áá²á·áá«áááº)á
á¡áááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ loading áá¯ááºáááºážá ááºá¡ááŒááºá á€áá±áá¬áá±á·á áºáá¡ááŒááºážáááºáá¯á¶ážá¡ááŒááºážááŒá áºááá·áº BulkLoad ááŒá áºááá¯ááºáááºá áá»áœááºá¯ááºááá¯á·ááẠHFiles ááᯠáá®ážááŒá¬ážáááºáá®ážááŒá®áž áááºážááá¯á·ááᯠáá áºááºáá±á«áºááœáẠáá¬ážááŸááááŒááºážááŸá¬ áá»áœááºá¯ááºááá¯á·á¡á¬áž á á¯á¶áááºá áœá¬ á¡ááá¯ááºážá¡áá¬ááŸáá·áº á¡ááœááºááá·áºáá»á±á¬áºáá±á¬ á¡ááŒááºááŸá¯ááºážáá»á¬ážááᯠáááŸáá á±ááá·áºá¡áá»ááºááœáẠá¡áá»á¯á¶ážáááºáá«áááºá á¡ááŸááºáá±á¬á·á á€áá±áá¬ááœáẠááá·áºáááºáá»ááºááẠHBase ááá¯ááºáá² áá¬á·ááºáá²á á áœááºážáá±á¬ááºáááºáá»á¬ážááŒá áºáááºá á¡á±á¬ááºááœáẠ16 RegionServers ááŸáá·áº 16 NodeManager YARN (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 threads), HBase áá¬ážááŸááºáž 1.2.0-cdh5.14.2 áá«áááºáá±á¬ á¡á á¯á¡áá±ážáá áºáá¯áá±á«áºááŸá boot ááááºáá»á¬ážá
ááá¬ážááŸá partitions (áá±ááá»á¬áž) ááŸáá·áº Spark executors áá»á¬áž á¡áá±á¡ááœááºááᯠááá¯ážááŒáŸáá·áºááŒááºážááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠáá±á«ááºážáá¯ááºá¡ááŒááºááŸá¯ááºáž ááá¯ážáá¬áááºááᯠá€áá±áá¬ááœáẠáááºááœá±á·ááŒááºááá¯ááºáá«áááºá ááá¯á·á¡ááŒááºá á¡ááŒááºááŸá¯ááºážááẠááá¯ááºáá°ážááá·áº á¡áá¶á¡ááá¯ážá¡áá»ááºáá±á«áºáá°áááºáááºá ááŒá®ážáá¬ážáá±á¬ ááá±á¬ááºáá»á¬ážááẠMB/sec ááá¯ážáá¬áááºá á¡áá»áááºáá°áá
áºá¡ááá¯áẠááá·áºááœááºážáá¬ážáá±á¬ ááŸááºáááºážá¡áá±á¡ááœááºááœáẠáá±ážáááºáá±á¬ á¡áá¯á¶ážáááºáá»á¬ážá á¡ááŒá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááẠáááºážáá°ááŒá
áºáááºá
áá áºáá»áááºáááºážááœáẠááá¬ážááŸá áºáá¯ááá¯á· á áááºáááºááá¯ááºááŒá®áž á¡ááŒááºááŸá¯ááºážááᯠááŸá áºááááá¯ááºáááºá á¡á±á¬ááºááœáẠ10 KB áá¯á¶ážáá»á¬ážááᯠááá¬ážááŸá áºáá¯ááá¯á· áá áºááŒáá¯ááºááẠáá±ážáá¬ážááŒááºážááẠáá áºáá¯á á®ááœáẠ600 MB/sec ááá·áº (á á¯á á¯áá±á«ááºáž 1275 MB/sec) ááŒáá·áº ááŒá áºáá±á«áºáááºááᯠáááºááœá±á·ááŒááºááá¯ááºááẠá¡ááŸáẠáá)á
ááá¯á·áá±á¬áº 50 KB ááŸááºáááºážáá»á¬ážáá«ááŸááá±á¬ áá¯áááá¡ááŒá±ážááẠáá±á«ááºážáá¯ááºá¡ááŒááºááŸá¯ááºážááẠá¡áááºážáááºááŒá®ážááœá¬ážáá¬áááºááᯠááŒááááºá áááºážááẠááá·áºáááºáááºááá¯ážáá»á¬ážáá®ááá¯á· áá»ááºážáááºáá¬áá±ááŒá±á¬ááºáž áá±á¬áºááŒáááºá áá
áºáá»áááºáááºážááŸá¬áááºá HBASE ááá¯ááºááá¯ááºá áááºááœá±á·ááœáẠáááºáá®ážáá¬ážáá±á¬ load áááŸáááŒá±á¬ááºáž ááŸááºáá¬ážáá¬ážáááºááá¯áááºá ááá¯á¡ááºáááºááŸá¬ hbase:meta á០áá±áá¬ááᯠáŠážá
áœá¬áá±ážáááºááŸáá·áº HFiles ááá¯á
á®áááºážááŒá®ážáá±á¬áẠBlockCache áá±áá¬ááᯠááŒááºáááºáááºááŸááºááŒá®áž ááááºážáááºážáá«á ááá¬ááá¯ááºáá«á MemStore ááẠdisk ááá¯á· ááŒá¬ážáá¶ááŒá
áºáááºá
3. HBASE ááŸáá±áá¬ááá¯áááºááŒááºážá
á¡áááºá client ááœáẠhbase:meta á០á¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááŸááá±ááŒá®áᯠáá»áœááºá¯ááºááá¯á·áá°ááá«á áá±á¬ááºážááá¯áá»ááºááẠááá¯á¡ááºáá±á¬áá±á¬á·ááᯠááááºážáááºážáá¬ážááá·áº RS ááá¯á· ááá¯ááºááá¯ááºááœá¬ážáááºááŒá áºáááºá ááááŠážá áœá¬á ááŸá¬ááœá±ááŸá¯ááᯠMemCache ááœááºáá¯ááºáá±á¬ááºáááºá ááá¯áá±áá¬ááœáẠáá±áá¬ááŸááááºááŒá áºá á± áááŸááááºááŒá áºá á± ááŸá¬ááœá±ááŸá¯ááᯠBlockCache ááŒá¬ážáá¶ááœáẠáá¯ááºáá±á¬ááºááŒá®áž ááá¯á¡ááºáá«á HFiles ááœáẠáá¯ááºáá±á¬ááºáá«áááºá ááá¯ááºááœáẠáá±áá¬ááᯠááœá±á·ááŸááá«áá áááºážááᯠBlockCache ááœáẠáá¬ážááŸááááºááŒá áºááŒá®áž áá±á¬ááºáá±á¬ááºážááá¯ááŸá¯ááœáẠááá¯ááá¯ááŒááºáááºá áœá¬ ááŒááºááá¯á·áá±ážáá«áááºá Bloom filter ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒá±á¬áá·áº HFile ááœááºááŸá¬ááœá±ááŒááºážááẠá¡áá±á¬áºáá±ážááŒááºáááºá áá±áá¬á¡áááºážáááºááᯠáááºááŒá®ážáááºááŸáá·áº á€ááá¯ááºááœáẠááá¯á¡ááºáá±á¬áá±á¬á·áá«ááŸááááŸá áá»ááºáá»ááºážáá¯á¶ážááŒááºááŒá®áž ááá¯ááºáá«á áá±á¬ááºáá áºáá¯ááá¯á· áááºááœá¬ážáá«á
á€áááºážááŒá
áºáá¯á¶ážáá¯á០áá±áá¬ááᯠáááºáá¶áááŸáááŒá®ážáá±á¬áẠRS ááẠáá¯á¶á·ááŒááºááŸá¯ááᯠáá¯ááºáá±ážáááºá á¡áá°ážáááŒáá·áºá client á០áá¬ážááŸááºážááŒá±á¬ááºážáá²ááŒááºážááᯠáá±á¬ááºážááá¯áá¬áá«á áááºážááẠááœá±á·ááŸááá¬ážáá±á¬ á¡áá¬ááá¹áá¯áá
áºáá¯á áá¬ážááŸááºážá¡áá»á¬ážá¡ááŒá¬ážááᯠáá
áºááŒáá¯ááºááẠááœáŸá²ááŒá±á¬ááºážáá±ážááá¯ááºáááºá
4. áá±áá¬ááááºážáááºážááŒááºáž
MemStore ááŸáá·áº BlockCache ááŒá¬ážáá¶áá»á¬ážááẠááœá²áá±áá»áá¬ážáá±ážááá·áº on-heap RS memory á 80% á¡áá ááááºážááá¯ááºáá¬ážááẠ(áá»ááºáá±á¬á¡áá¬áá»á¬ážááᯠRS áááºáá±á¬ááºááŸá¯áá¯ááºáááºážáá»á¬ážá¡ááœáẠáá®ážááá·áºáá¬ážáá«áááº)á áá¯á¶ááŸááºá¡áá¯á¶ážááŒá¯ááŸá¯áá¯ááºááẠáá¯ááºáááºážá ááºáá»á¬ážáá±ážáá¬ážááŒá®áž áá°áá®áá±á¬áá±áá¬ááá¯áá»ááºáá»ááºážáááºááŒááºážáá»áá¯ážááŒá áºáá«á BlockCache ááá¯áá»áŸá±á¬á·áá»ááŒá®áž MemStore ááá¯ááá¯ážááŒáŸáá·áºááŒááºážááẠá¡áááá¹áá¬ááºááŸááá±á¬ááŒá±á¬áá·áºááŒá áºáááºá áá±áá¬á á¬áá±ážááŒááºážááẠá á¬áááºáááºá¡ááœáẠáááºááŸáºáá²ááá¯á· ááááºáá±á¬á¡áá«á BlockCache ááᯠáááŒá¬áá á¡áá¯á¶ážááŒá¯ááŸá¯ áááºážáá«ážááœá¬ážáá«áááºá BlockCache ááŒá¬ážáá¶ááœáẠá¡ááá¯ááºážááŸá áºááá¯ááºáž áá«áááºáááº- LruBlockCache (áá¯á¶ááœáẠá¡ááŒá²ááŸááá±áááº) ááŸáá·áº BucketCache (áá»á¬ážáá±á¬á¡á¬ážááŒáá·áº á¡á á¯á¡áá±áž ááá¯á·ááá¯áẠSSD áá±á«áºááœááº)á áááºááŸá¯ááẠáá±á¬ááºážááá¯ááŸá¯áá»á¬áž á¡áá»á¬ážá¡ááŒá¬ážááŸááá±áá»áááºááœáẠBucketCache ááᯠá¡áá¯á¶ážááŒá¯ááá·áºááŒá®áž áááºážááá¯á·ááẠá¡ááŸáá¯ááºá á¯áá±á¬ááºážáá°á áááºááŒáœá áœá¬áá¯ááºáá±á¬ááºááŸá¯ááᯠááŒá áºá á±ááá·áº LruBlockCache ááŸáá·áº áááá¯ááºáá®áá«á áá áºáá»áááºáááºážááŸá¬áááºá read cache ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá០á áœááºážáá±á¬ááºáááºááŒáá·áºáá¬ážáá¬áááºáᯠáááºááá»áŸá±á¬áºááá·áºááá·áºáá±á¬áºáááºáž á¡ááá¯áẠ8 ááœáẠá€á¡áá¬ááᯠááŒááºááœá¬ážáá«áááºá
RS áá
áºáá¯áá¯á¶ážá¡ááœáẠBlockCache áá
áºáá¯ááŸáááŒá®áž ááá¬ážáá
áºáá¯á
á®á¡ááœáẠMemStore áá
áºáᯠ(Column Family áá
áºáá¯á
á®á¡ááœáẠáá
áºáá¯) ááŸááá«áááºá
áááºááá¯
hbase(main):001:0> create 'ns:magic', 'cf'
Created table ns:magic
Took 1.1533 seconds
hbase(main):002:0> put 'ns:magic', 'key1', 'cf:c', 'try_to_delete_me'
Took 0.2610 seconds
hbase(main):003:0> flush 'ns:magic'
Took 0.6161 seconds
hdfs dfs -mv /data/hbase/data/ns/magic/* /tmp/trash
hbase(main):002:0> get 'ns:magic', 'key1'
cf:c timestamp=1534440690218, value=try_to_delete_me
Read on "Cache DATA" parameter ááᯠfalse áᯠáááºááŸááºáá¬ážáááºá ááá·áºááœááºá¡ááŒá¶á¥á¬ááºáá»á¬ážááŸááá«á comment ááœááºááœá±ážááœá±ážáááºááŒáá¯ááá¯áá«áááºá
5. Batch data processing MultiGet/MultiPut
áá±á¬ááºážááá¯áá»ááºáá áºáá¯áááºážááᯠáá¯ááºáá±á¬ááºááŒááºáž (Get/Put/Delete) ááẠá¡ááœááºá á»á±ážááŒá®ážáá±á¬ áá¯ááºáá±á¬ááºáá»ááºááŒá áºááŒá®ážá ááŒá áºááá¯ááºáá»áŸáẠáááºážááá¯á·ááᯠá á¬áááºáž ááá¯á·ááá¯áẠá á¬áááºážáá áºáá¯á¡ááŒá Ạáá±á«ááºážá ááºáá¬ážááá·áºááŒá®áž áááá¬áááºááŸá¬ážáá±á¬ á áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºááá¯ááºáááºááŒá áºáááºá á¡áá°ážáááŒáá·áº á á¬áá±ážááŒááºážáá¯ááºáááºážá¡ááœáẠá€áááºááŸá¬ ááŸááºáá±á¬áºáááºáž áááºááá·áºá¡áá«ááœáẠá¡á±á¬ááºáá«á¡áááºá¡áá²áá»á¬ážááŸááááºá á¡á±á¬ááºáá±á¬áºááŒáá«ááááºááẠMemStore ááŸááŸááºáááºážáá±á«ááºáž 50 ááá¯áááºáááºá¡áá»áááºááá¯ááŒááááºá á á¬áááºááŒááºážááᯠá á¬ááœá²áá áºáá¯ááœáẠáá¯ááºáá±á¬ááºáá²á·ááŒá®áž á¡áá»á¬ážááá¯ááºáááºááá¯ážááẠáá±á¬ááºážááá¯áá»ááºááŸá áá±á¬á·á¡áá±á¡ááœááºááᯠááŒááááºá áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááœáẠáá±á¬á·áá áºáá±á¬ááºá¡áá ááá¯ážáá¬áá±á¬á¡áá«á áá¯ááºáá±á¬ááºáá»áááºááẠáá»áááºážááœá¬ážáááºááᯠá€áá±áá¬ááœáẠáááºááœá±á·ááŒááºááá¯ááºáá«áááºá á¡ááŸáááºááá¯ážáá¬áááºá ááá¯á·áá±á¬áºá MSLAB áá¯ááºááᯠáá¯á¶áá±ááŒáá·áºááœáá·áºáá¬ážááŒááºážááŒáá·áºá á€á¡ááá·áºáááºááŸááºááŒá®ážáá±á¬áẠá áœááºážáá±á¬ááºáááºáá»áááºážááŸá¯á áááºáá¬ááŒá®áž ááŸááºáááºážááŸááá±áá¬ááá¬áááá¯ááŒá®ážáá±á áááºáááºáá»áááºááá¯ááŒá¬áá±ááŒá áºáááºá
á
ááºážáááºááŸá¯áá»á¬ážááᯠvirtual machineá 8 coresá áá¬ážááŸááºáž HBase 2.0.0-cdh6.0.0-beta1 ááœáẠááŒá¯áá¯ááºáá²á·áááºá
MSLAB áá¯ááºááẠáá»áá¯ážáááºáá áºááŸáá·áº á¡áá±á¬ááºážáá±áᬠáá±á¬ááŸá±á¬ááŒááºážááŒá±á¬áá·áº ááŒá áºáá±á«áºáá¬ááá·áº á¡á á¯á¡áá¯á¶ááá¯áẠá¡ááœá²á¡ááŒá²áá»á¬ážááᯠáá»áŸá±á¬á·áá»ááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá ááŒá±ááŸááºážáááºážáá áºáá¯á¡áá±ááŒáá·áº MSLAB ááá¯ááœáá·áºáá¬ážáá±á¬á¡áá«á áá±áá¬ááᯠáá±ážáááºáá±á¬áá²ááºáá»á¬áž (á¡áá¯á¶ážáá»á¬áž) á¡ááŒá áºáá¬ážááŸááᬠá¡áá¯á¶ážá¡áá²áá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºáááºá ááááºá¡áá±ááŒáá·áº áá±á¬ááºážááá¯áá¬ážáá±á¬áá±áá¬áááºáá±á·áá»áºááŸá ááá¬áááẠááœá²áá±áá»áá¬ážáá±ážááá·áºá¡ááœááºá¡á á¬ážáááºáá»á±á¬áºááœááºáá±á¬á¡áá«á á áœááºážáá±á¬ááºááẠáááááá¬áá¬áá»áááºážááœá¬ážáá«áááºá áá áºáááºááœááºá á€áá¯ááºááᯠááááºááŒááºážáááºáááºáž á¡ááŒá¶ááŒá¯ááá¯áááºááá¯ááºáá«á á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááºážááẠááŒááºážáááºáá±á¬áá±áá¬áá¯ááºáá±á¬ááºááŸá¯á¡ááá¯ááºá¡ááá·áºááœáẠGC ááŒá±á¬áá·áº áááºááá·áºááœá¬ážáááºááŒá áºáááºá áá±á¬ááºážááœááºáá±á¬ááŒá±ááŸááºážáá»ááºááŸá¬ á á¬áááºááŒááºážááŸáá·áº áá áºáá»áááºáááºážááœáẠááá·áºááœááºážáá±ážáá¬ážááŒááºážááœáẠáá²ááºáá¯áááºááá¬áááᯠááá¯ážááŒáŸáá·áºáááºááŒá áºáááºá ááŸááºáááºážáááºááŒá®ážáá±á¬ááºá MemStore ááᯠdisk ááá¯á·ááŒááºáááºáááºááŸááºáá±ážáá±á¬ flush command ááᯠrun áá«á ááá¯á·ááá¯áẠBulkLoad ááá¯á¡áá¯á¶ážááŒá¯á load áá¯ááºáá«á ááŒá¿áá¬áááŒá áºáá±á«áºááŒá±á¬ááºáž áááááŒá¯ááá·áºáá«áááºá á¡á±á¬ááºáá±á¬áºááŒáá«ááá¬ážááẠááá¯ááá¯ááŒá®ážáá¬ážáá±á¬ (ááŸáá·áºáá°áá®áá±á¬ááá¬á) áá±áá¬á¡ááœáẠMemStore ááŸáá±ážááŒááºážáá»ááºáá»á¬ážááẠááŸá±ážááœá±ážááŸá¯ááŒá áºá á±áááºáᯠáá±á¬áºááŒáááºá ááá¯á·áá±á¬áºáááºážá chunksize ááᯠááá¯ážááŒáŸáá·áºááŒááºážááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºáá±á¬ááºáá»áááºááᯠáá¯á¶ááŸááºá¡ááá¯ááºáž ááŒááºáá±ážáá«áááºá
chunksize ááᯠááá¯ážááŒáŸáá·áºááŒááºážá¡ááŒáẠáá±áá¬ááᯠáá±áá¡ááá¯áẠááá¯ááºážááœá²áá¬ááœááºáááºáž á¡áá±á¬ááºá¡áá° ááŒá
áºá
á±áá«áááºá ááá¬ážááœá²ááŒááºážá áááºážááẠáá±ááá
áºáá¯á
á®ááá¯á· áá±á¬ááºážááá¯ááŸá¯áááºážáá«ážáá¬ááŒá®áž áááºážááá¯á·ááẠáá²ááºáá
áºáá¯ááá¯á· á¡á¶áááºááœááºáá»ááŒá
áºáá«á áá¯á¶á·ááŒááºááŸá¯ááŸá¬ áá±á¬ááºážááœááºáá±áááºááŒá
áºáááºá
6. ááá¬ážáá»á¬ážááᯠáá±ááá»á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážááŒááºáž (splitting)á
HBase ááẠáá±á¬á·áááºááá¯áž ááá¯ááŸá±á¬ááºááŸá¯ááŒá áºááŒá®áž áá±á¬á·ááŒáá·áº ááá¯ááºážááŒá¬ážááŒááºážááᯠáá¯ááºáá±á¬ááºáá±á¬ááŒá±á¬áá·áºá áá±áá¡á¬ážáá¯á¶ážááœáẠáá±áá¬ááᯠá¡áá®á¡áá»áŸ ááá¯ááºážááŒá¬ážááẠá¡ááœááºá¡áá±ážááŒá®ážáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááá¯ááá¯á·áá±á¬ááá¬ážááᯠá¡ááá¯ááºážáá¯á¶ážááá¯ááºážááœá²ááŒááºážááŒáá·áº áá±áá¬ááᯠáá±ááá¯á¶ážáá»áá¯áž ááœá²áá±ážáááº-
á¥ááá¬á¡á¬ážááŒáá·áºá ááŸááºáá»á¬ážáá±á¬áááºááá¯ážáá»á¬ážá á¡áá»á¬ážá
á¯ááŸá¬ ááááºážáá
áºáá¯áááºážááŒáá·áº á
áááºáá«áá áááºážááẠáá±á¬ááºááá¯ááºážááœáẠloaded data áá»á¬ážááᯠáááááá¬áá¬ááŸá±ážááœá±ážááœá¬ážá
á±ááŒá®áž á¥ááá¬-
1000001
1000002
...
1100003
áá±á¬á·áá»á¬ážááᯠbyte á¡áááºážá¡áá»ááºážáá áºáá¯á¡ááŒá Ạááááºážáááºážáá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·á¡á¬ážáá¯á¶ážááẠáá°áá®á áœá¬á áááºááŒááŒá®áž á€áá±á¬á·á¡ááœá¬á¡áá±ážááᯠááááºážáááºážááá·áº áá°áá®áá±á¬áá±ááá¶áá«áẠ1 ááŸáá·áº áááºááá¯ááºáááºááŒá áºáááºá ááá¯ááºážááŒá¬ážááŒááºážááá¯ááºáᬠáá»á°áá¬áá»á¬ážá áœá¬ ááŸááá«áááºá
HexStringSplit â áá±á¬á·ááᯠ"00000000" => "FFFFFFFF" á¡ááœá¬á¡áá±ážááŸá ááá¹ááááááºážááááºážááŸááºáá¬ážáá±á¬ á á¬ááŒá±á¬ááºážá¡ááŒá áºááá¯á· ááŒá±á¬ááºážááŒá®áž áááºáááºááœáẠáá¯áááŒáá·áº ááœááºáááºááá¯ážáá«á
UniformSplit â á¡ááœá¬á¡áá±áž "00" => "FF" á¡ááœááºážááŸá áá±á¬á·ááᯠááá¯ááºá¡áááºážá¡áá»ááºážá¡ááŒá áºááá¯á· á¡ááá¯ááºážá¡ááŒá¬áž "XNUMX" => "FF" ááŸáá·áº áá¬áááºááœáẠáá¯áááŒáá·áº ááœááºáááºááá·áºáááºá
ááá¯á·á¡ááŒááºá áááºááẠááá¯ááºážááŒá¬ážááŒááºážááŸáá·áº á¡ááá¯á¡áá»á±á¬ááºááœá²ááŒááºážááŒááºážá¡ááœáẠáá±á¬á·ááœá²áá»á¬ážááᯠáááºááŸááºááá¯ááºáááºá ááá¯á·áá±á¬áºá á¡ááá¯ážááŸááºážáá¯á¶ážááŸáá·áº á¡áááá±á¬ááºáá¯á¶áž áá»ááºážáááºáááºážáá»á¬ážáá²á០áá áºáá¯ááŸá¬ UniformSplit ááŸáá·áº hash áá±á«ááºážá ááºááŒááºážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒá áºáááºá á¥ááᬠCRC32(rowkey) áá¯ááºáá±á¬ááºáá»ááºááŸáá·áº rowkey ááá¯ááºááá¯ááºá áá±á¬á·ááá¯áááºáááºááŒááºážá០á¡áááºááŸá¬ážáá¯á¶áž bytes á¡ááœá²áá»á¬áž-
hash + rowkey
ááá¯á·áá±á¬áẠáá±áá¬á¡á¬ážáá¯á¶ážááᯠáá±áá¡ááŸá¶á· á¡áá®á¡áá»áŸ ááŒáá·áºáá±áá«áááºá á á¬áááºáá±á¬á¡áá«á áááááá¯ááºááŸá áºáá¯ááᯠááá¯ážááá¯ážááŸááºážááŸááºáž áááºáá¬ážááŒá®áž áá°áááºážáá±á¬á·áá»ááºáá±áá«áááºá RS ááẠáá±áááœááºážááŸá áá±áá¬ááá¬áááŸáá·áº áá±á¬á·áá»á¬ážááᯠááááºážáá»á¯ááºááŒá®áž ááá·áºáááºáá»ááºáá»á¬ážááᯠáá»á±á¬áºááœááºáá«á áááºážááᯠá¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááŒá Ạá¡ááá¯á¡áá»á±á¬áẠááŒááºáá±á¬ááºáááºááŒá áºáááºá
7. á¡ááŸá¬ážáá¶ááá¯ááºáááºááŸáá·áº áá±áá¬áá±áá¬áá±á
áá±á¬á·á¡ááœá²áá áºáá¯á á®á¡ááœáẠáá±ááá áºáá¯ááᬠáá¬áááºááŸááá±á¬ááŒá±á¬áá·áº RS áá»ááºá á®ážááŒááºáž ááá¯á·ááá¯áẠáá»ááºááááºážááŒááºážááá¯ááºáᬠááŒá¿áá¬áá»á¬ážá¡ááœáẠááŒá±ááŸááºážáá»ááºááŸá¬ ááá¯á¡ááºáá±á¬áá±áá¬á¡á¬ážáá¯á¶ážááᯠHDFS ááœáẠááááºážáááºážáá¬ážááŒááºážááŒá áºáááºá RS ááŒá¯ááºáá»áá±á¬á¡áá« ZooKeeper node áá±á«áºááŸá ááŸáá¯á¶ážáá¯ááºáá¶áááŸááááŒáá·áº áááºážááᯠmaster á០ááááŸááááºá ááá¯á·áá±á¬áẠáááºážááẠáááºáá±á¬ááºááŸá¯áá±ážááá·áºáá±áá¡á¬áž á¡ááŒá¬áž RS ááá¯á· áá±ážá¡ááºááŒá®áž HFiles áá»á¬ážááᯠááŒáá·áºáá±áá¬ážáá±á¬ ááá¯ááºá áá áºááœáẠááááºážáááºážáá¬ážáá±á¬ááŒá±á¬áá·áºá ááá¯ááºááŸááºá¡áá áºá áááºážááá¯á·ááᯠáááºááŒá®áž áá±áá¬ááᯠáááºáááºáá¯ááºáá±á¬ááºáá±áá«áááºá ááá¯á·áá±á¬áºá á¡áá»áá¯á·áá±á¬áá±áá¬áá»á¬ážááẠMemStore ááœááºááŸááá±ááá¯ááºááŒá®áž HFiles ááá¯á·áááºáá±á¬ááºáááºá¡áá»áááºáááŸááá±á¬ááŒá±á¬áá·áº HDFS ááœááºááááºážáááºážáá¬ážááá·áº WAL ááᯠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááááá¯ááºážááŒá±á¬ááºážááá¯ááŒááºáááºááá°áááºá¡áá¯á¶ážááŒá¯áá«áááºá á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠá¡áá¯á¶ážáá»ááŒá®ážáá±á¬ááºá RS ááẠáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá¯á¶á·ááŒááºááá¯ááºáá±á¬áºáááºáž ááœá±á·áá»á¬ážááŸá¯ááẠáá±áá¬á¡áá»áá¯á·ááŸáá·áº áááºážááá¯á·ááᯠáááºáá±á¬ááºááŸá¯áá±ážááá·áº áá¯ááºáááºážá ááºáá»á¬ážááẠááá°áá®áá±á¬ node áá»á¬ážáá±á«áºááœáẠá¡áá¯á¶ážáááºááœá¬ážáááºáá°áá±á¬ á¡áá»ááºááᯠáŠážáááºá á±áááºá áá±áá¬áá±á áá»áááºážáá¬áááºá
ááŒá¿áá¬áááŒá±ááŸááºážáá»ááºááŸá¬ á¡ááááá»á¯á¶á·ááŒááºážááŒá áºááẠ- á€áá¯ááºáá¯á¶ážáá¯ááºáááºážááẠáááºážááá¯á·á¡ááœáẠáá¬áááºááŸááá±á¬ (áááºážááá¯á·ááá±ááá»á¬ážáááºááŸááá¬) á០ááá¯ááºáá»á¬ážááᯠá€áá¯ááºáááºážá ááºá¡ááœááºáž ááœááºáááºááŸáá·áºáá áºááºáá»á¬ážáá±á«áºááœááºáááºáá±á¬ááºááŸá¯ áááááá¬áá¬ááá¯ážáá¬áá±á¬ááŒá±á¬áá·áº ááááºá¡áá±ááŒáá·áº áááºážááá¯á·á¡ááœáẠáá¬áááºááŸááá±á¬ (áááºážááá¯á·ááá±ááá»á¬ážáááºááŸááá¬) ááá¯á· ááœáŸá±á·áááºá ááá¯á·áá±á¬áºáááºáž á¡áá¬áááºááœáẠáá±áá¬ááá°áá¯á¶ážá áœá²ááŸá¯ááẠáááááá¬áᬠá¡ááŸáááºááŒáŸáá·áºáá¬áááºá ááá¯á·á¡ááŒááºá major_compaction ááẠHFiles á¡á¬ážáá¯á¶ážááᯠáá±ááá áºáá¯á¡ááœááºáž ááá¯ááºáá áºáá¯á¡ááŒá Ạáá±á«ááºážá ááºážááŒá®áž ááá¬ážáááºáááºáá»á¬ážáá±á«áºáá°áááºá áá±áá¬ááá¯áááºáž ááŸááºážáá±ážáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠááááºážááááºážáá¬ážáááá·áº á¡áá¬ááá¹áá¯á áá¬ážááŸááºážá¡áá±á¡ááœáẠááá¯á·ááá¯áẠá¡áá¬ááá¹áá¯ááᯠáá¯ááºááá¯ááºážááá¯ááºáᬠáá»ááºááŒá®ážáá±á¬áẠáá áºáááºáá¬ááœáẠáááºááŸááºááá¯ááºáááºá
á€áá¯ááºáá¯á¶ážáá¯ááºáááºážááẠHBase ááááºáááºááŸá¯á¡áá±á«áºá¡ááœááºáá±á¬ááºážááœááºáá±á¬á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááŸáááá¯ááºáááºá á¡á±á¬ááºáá±á¬áºááŒáá«áá¯á¶ááẠá¡áááºáááºáá±á¬áá±áá¬ááŸááºáááºážáááºááŒááºážááŒá±á¬áá·áº á áœááºážáá±á¬ááºáááºáá»áááºážááœá¬ážáá¯á¶ááᯠááŒááá¬ážáááºá ááá¬ážáá áºáá¯ááá¯á· á á¬ááœá² áá áá±ážáá²á·áá¯á¶ááŸáá·áº á á¬ááœá² áá ááẠáá±áá¬ááᯠáá áºááŒáá¯ááºáááºáááºáá¯á¶ááᯠá€áá±áá¬ááœáẠááœá±á·ááŒááºááá¯ááºáááºá á á¬ááœá²áá»á¬ážáá±ážááŒááºážááẠá¡ááŒá¬ážá á¬ááœá²áá»á¬ážááŸáááºáá±á¬ HFiles áá»á¬áž ááá¯áá»á¬ážáá¬áááºá ááááºá¡áá±ááŒáá·áºá ááŸááºáá¬ááºá០áá±áá¬áá»á¬áž ááá¯áá»á¬ážáá¬ááẠááá¯á¡ááºááŒá®áž áá±á¬ááºáá¯á¶ážááœáẠGC ááẠá¡áá¯ááºá¡á¬ážáá¯á¶ážááᯠáááºááœá±á·áá»áá» ááŒááºáá±á¬ááºááœá¬ážá á±ááá·áº á¡áá¯ááºá áááºáááºá ááŒá®ážááŒá®ážáá¬ážáá¬áž ááŒáááºááœá²ááŒááºážá¡á¬áž ááœáŸááºáááºááŒááºážááŒáá·áº ááœááºáá±á«áºáá¬áá±á¬ á¡áá»ááºá¡á á®ážáá»á¬ážááᯠááŸááºážáááºážá á±ááŒá®áž áá¯ááºáá¯ááºá áœááºážá¡á¬áž ááŒááºáááºáá°áá±á¬ááºáá±ážááá¯á· áŠážáááºá á±áá²á·áááºá
á
ááºážáááºááŸá¯ááᯠDataNodes 3 áá¯ááŸáá·áº 4 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 threads) ááœáẠáá¯ááºáá±á¬ááºáá²á·áááºá HBase áá¬ážááŸááºáž 1.2.0-cdh5.14.2
áá±áá¬áá»á¬ážááᯠáááºááŒáœá áœá¬ áá±ážáá¬ážáááºááŸá¯ááŒá®ážááŒá áºááá·áº âááá¯ááºááá¯ááºâ ááá¬ážááœáẠááŒá®ážááŒá®ážáá¬ážáá¬áž áá»ááºážááŒá±á¬ááºážááŸá¯ááᯠá áááºáá²á·áááºááᯠááŸááºáá¬ážááá¯ááºáá«áááºá áááºážááẠáá±áá¬áááºááá·áºá¡áá« ááŸá¬ážááœááºážáá±á¬ áá¯á¶á·ááŒááºááŸá¯ááᯠááŒá áºáá±á«áºá á±ááá¯ááºááŒá±á¬ááºáž á¡áœááºááá¯ááºážááœáẠáá¯ááºááŒááºáá»ááºáá áºáá¯ááŸááá²á·áááºá á á áºáá±ážáááºá áá±áá¬á¡áá áºáá¯ááºáá±ážááŒá®áž ááá¬ážáá áºáá¯ááá¯á· á á¬áá±ážáááºááá·áº áá¯ááºáááºážá ááºáá áºáá¯ááᯠá áááºáá²á·áááºá á¡á²áá®áá±á¬áẠáá»áœááºáá±á¬áºáá»ááºáá»ááºážáááºááŒá®áž áá±ážáá¬ážáá²á·áááºááá¯ážáá²á· ááá¯ááºááá¯ááºááŸá¯ááŸááááŸá á á áºáá±ážáááºá á€áá¯ááºáááºážá ááºááᯠáá¯ááºáá±á¬ááºáá±áá»áááºááœáẠááŒá®ážááŒá®ážáá¬ážáá¬áž ááŒáááºááœá²ááŸá¯ááᯠá¡ááŒááẠ200 ááá·áº áá¯ááºáá±á¬ááºáá²á·ááŒá®áž áá áºááŒáááºáá»áŸ áá¡á±á¬ááºááŒááºáá²á·áá«á ááŒá¿áá¬ááẠáááºážáá«ážááŒá®áž ááŒáá·áºáá¬ážáá±á¬áá¬áááœááºáᬠáá±á«áºáá¬ááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááẠá á®á ááºáá¬ážááá·áºá¡ááá¯ááºáž á á¬áá±ážááŒááºážááŸáá·áº á á¬áááºááŒááºážáá¯ááºáááºážá ááºáá»á¬ážááᯠáááºááá·áºááŒá®áž ááá¯ááá¯á·áá±á¬ GC áá¯ááºááœááºááŸá¯áá»á¬ážááᯠáá¬ážáá®ážááẠááá·áºááŸááºážáá±ážáá¯ááºáá±á¬ááºáá«á
ááá¯á·á¡ááŒááºá á¡ááááá»á¯á¶á·ááŸá¯ááẠMemStore áá¡ááŒá±á¡áá±ááá¯áááááá¯ááºá á±áá«á áááºážááᯠdisk ááá¯á·áá¯ááºááŒá®ážáá»á áºáá áºá á±áááºá flush (connection.getAdmin()flush(TableName.valueOf(tblName))) ááá¯á¡áá¯á¶ážááŒá¯áááºááá¯á¡ááºáá«áááºá
8. áááºáááºáá»á¬ážááŸáá·áº á áœááºážáá±á¬ááºáááº
áá±á¬áºááŒáá¬ážááŒá®ážááŒá áºááá·áºá¡ááá¯ááºážá BulkLoad ááá¯áá¯ááºáá±á¬ááºáá±á¬á¡áá«ááœáẠáááºážááẠáááºááá·áºá¡áá¬ááŸáá¯ááºáá±á¬ááºáááºáááá¯á¡ááºááá·áº áááºážáá¡ááŒá®ážáá¬ážáá¯á¶ážá¡á±á¬ááºááŒááºááŸá¯ááá¯ááŒááááºá ááá¯á·áá±á¬áº áááºážááẠá áá áºáá»á¬ážááŸáá·áº áá°á¡áá»á¬ážá á¯ááŸáá·áº áááºááá¯ááºáá«áááºá ááá¯á·áá±á¬áºá á€áááááá¬ááẠááŒá®ážáá¬ážáá±á¬áá¯ááºááœááºáá»á¬ážááœáẠáá±áá¬á¡á á¯ááá¯ááºááááºážáááºážáááºá¡ááœáẠááá¯áááá·áºáá»á±á¬áºáááºá áá¯ááºáááºážá ááºááẠá¡ááŒáá¯ááºá¡ááá¯ááºáááºááŸá¯ááŒááºážááŸáá·áº áá±ážáá¬ážáá±á¬ááºážááá¯ááŸá¯áá»á¬ážáá»á¬ážá áœá¬ááá¯á¡ááºáá«áá á¡áááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ Get and Put á¡áááá·áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡áá±á¬ááºážááœááºáá¯á¶áž ááá·áºáááºáá±á¬ááºáá»á¬ážááᯠáá¯á¶ážááŒááºáááºá ááá¬ážáá±á¬ááºáá±á¬ááºáá»á¬ážááŸáá·áº áááºáááºáá»á¬ážááᯠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áá±á«ááºážá ááºááŸá¯áá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºáá²á·áááº-
- á á¬ááœá² 10 áá¯ááᯠáááºááá¯áẠ3 ááŒááẠáááŒáá¯ááºáááºáž ááœáŸáá·áºáááºáá²á·ááẠ(áá«ááᯠáá»ááºáá¯á¶ážáᯠááá¯ááŒáá«á áá¯á·)á
- ááá±á¬ááºáá áºáá¯ááŸá á á¬ááœá²á¡á¬ážáá¯á¶ážá áááºáááºáá»áááºááᯠáá»ááºážáá»áŸá¡á¬ážááŒáá·áº ááœááºáá»ááºááŒá®áž ááá±á¬ááºááá¯ááºáá±á¬ááºáá»ááºá áá±á¬ááºáá¯á¶ážááááºááŒá áºáááºá
- á á¬ááœá²á¡á¬ážáá¯á¶ážááẠááá¬ážáá áºáá¯áááºážááŒáá·áº áá¯ááºáá±á¬ááºáááºá
- thread block áá áºáá¯á á®áá áááºáá®á á¡ááááá»á¯á¶á·ááŸá¯áá áºáá¯ááŒá¯áá¯ááºáá²á·áááºá
- ááá±á¬ááºáá áºáá¯á á®ááẠá¡á±á¬ááºáá«áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážáá²á០áá áºáá¯ááá¯áᬠáá¯ááºáá±á¬ááºáááº-
-áá¬áž
-ááá°áá«á
- Get+Put
- ááá±á¬ááºáá áºáá¯á á®ááẠáááºážááá¯ááºáá±á¬ááºáá»ááºááᯠáááºáá«áááºáá« 50 ááŒá¯áá¯ááºáá²á·áááºá
- ááŸááºáááºážáá áºáá¯á ááá±á¬ááºá¡ááœááºá¡á á¬ážááẠ100 bytesá 1000 bytes ááá¯á·ááá¯áẠ10000 bytes (áá»áááºáž) ááŒá áºáááºá
- áá±á¬ááºážááá¯áá¬ážáá±á¬áá±á¬á·áá»á¬áž (áá±á¬á·áá áºáᯠááá¯á·ááá¯áẠ10) á¡áá»áá¯ážáá»áá¯ážááŒáá·áº ááááºááá¯á·ááŸá¯áá»á¬ážááᯠá áááºáá²á·áááºá
- ááá±á¬ááºáá»á¬ážááᯠááá°áá®áá±á¬ ááá¬ážáááºáááºáá»á¬ážá¡á±á¬ááºááœáẠáá¯ááºáá±á¬ááºáá²á·áááºá ááá·áºáááºáá»ááºáá»á¬áž ááŒá±á¬ááºážáá²áá²á·áááº-
- BlockCache = ááœáá·áº ááá¯á·ááá¯áẠááááºáááºá
- BlockSize = 65 KB ááá¯á·ááá¯áẠ16 KB
- á¡ááá¯ááºážáá»á¬áž = 1á 5 ááá¯á·ááá¯áẠ30
â MSLAB = ááœáá·áºáá¬ážááẠááá¯á·ááá¯áẠááááºáá¬ážáááºá
ááá¯á·ááŒá±á¬áá·áº ááá±á¬ááºááẠá€áá²á·ááá¯á· ááŒá áºáááº-
a MSLAB áá¯ááºááᯠááœáá·áº/ááááºáá¬ážáááºá
á á¡á±á¬ááºáá±á¬áºááŒáá« ááá·áºáááºáá»ááºáá»á¬ážáááºááŸááºáá¬ážááá·áº ááá¬ážáá
áºáá¯ááᯠáááºáá®ážáá¬ážáááº- BlockCache = true/noneá BlockSize = 65/16 Kbá Partition = 1/5/30á
áá Compression ááᯠGZ áᯠáááºááŸááºáá²á·áááºá
áá 10 threads ááẠ1/10 put/get/get+put operations áá»á¬ážááᯠ100/1000/10000 bytes ááŸááºáááºážáá»á¬ážááŸáá·áºá¡áá° á€ááá¬ážááœáẠ50/000 put/get/get+put operations áá»á¬ážááᯠáááŒáá¯ááºáááºáááºáž á
áááºáá²á·ááŒá®ážá áááºááá¯ááºáá±ážááŒááºážáá»áẠXNUMX (áá»áááºážáá±á¬á·áá»á¬áž) ááᯠáá¯ááºáá±á¬ááºáá«áááºá
á á¡ááŸáẠá ááᯠáá¯á¶ážááŒááẠáááºáá«ááá²áá² áá¯ááºáááºá
f ááá¯ááºážá¡á¬ážáá¯á¶ážá áááºáááºáá»áááºááᯠáá»ááºážáá»áŸá¡á¬ážááŒáá·áº ááœááºáá»ááºáá¬ážáááºá
ááŒá áºááá¯ááºáá±á¬ áá±á«ááºážá ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠá ááºážáááºáá²á·áááºá ááŸááºáááºážá¡ááœááºá¡á á¬áž ááá¯ážáá¬áááºááŸáá·áºá¡áá»áŸ ááŒááºááŸá¯ááºáž áá»áááºážááœá¬ážááẠááá¯á·ááá¯áẠáááºááŸáºááᯠááááºááŒááºážááẠááŸá±ážááœá±ážá á±áááºáᯠááá·áºááŸááºážááá¯ááºáááºá ááá¯á·áá±á¬áºáááºáž áááºážááá¯ááºááẠá¡ááá¯ááºážá¡áá¬áá áºáá¯á á®á ááŒáá¬ááœáŸááºážááá¯ážááŸá¯á áá®ááá®ááŸáá·áº á¡áá±ážáá«ááŸá¯ááᯠáá¬ážáááºáááºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº á á¯áá±á¬ááºážáá¬ážáá±á¬áá±áá¬ááᯠlinear regression function á ááá·áºááœááºážááŸá¯áá²ááá¯á· ááŒáá·áºááœááºážááŒá®áž t-statistics ááᯠá¡áá¯á¶ážááŒá¯á á¡áá±ážáá«ááŸá¯ááᯠá¡áá²ááŒááºááẠááŒá áºááá¯ááºáááºá á¡á±á¬ááºáá±á¬áºááŒáá«áá»á¬ážááẠPut áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºáá±ááá·áº áá¯á¶ážáá»á¬ážá ááááºáá»á¬ážááŒá áºáááºá áá±á«ááºážá ááºááŸá¯á¡á á¯á¶á¡ááẠ2*2*3*2*3 = 144 ááœá±ážáá»ááºááŸá¯áá»á¬áž + 72 tká ááá»áá¯á·á ááŸá áºááŒáááºáá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº á á¯á á¯áá±á«ááºáž 216 ááŒá±ážáááºá
á
ááºážáááºááŒááºážááᯠDataNodes 3 áá¯ááŸáá·áº 4 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 threads) áá«áááºááá·áº á¡áá±ážá
á¬áž á¡á
á¯á¡áá±ážááœáẠááŒá¯áá¯ááºáá²á·áááºá HBase áá¬ážááŸááºáž 1.2.0-cdh5.14.2á
3.7 á
áá¹ááá·áºá¡ááœááºáž á¡ááŒáá·áºáá¯á¶ážááá·áºááœááºážááŸá¯á¡ááŒááºááŸá¯ááºážááᯠMSLAB áá¯ááºááááºááá¯ááºááŒááºážááŒáá·áº BlockCache ááá¯ááœáá·áºáá¬ážááŒááºážááŒáá·áº ááá¬ážáá
áºáá¯áá±á«áºááœáẠBlockSize = 16á 100 bytes ááŸááºáááºážáá»á¬ážá áá
áºáá¯ááºáá»áŸáẠ10 ááá¯ááºážááŸááááºá
á¡áááá·áºáá¯á¶ážááá·áºááœááºážááŸá¯á¡ááŒááºááŸá¯ááºáž 82.8 á
áá¹ááá·áºááᯠMSLAB áá¯ááºááá¯ááœáá·áºáá¬ážááŒááºážááŒáá·áºá á¡ááá¯ááºážáá
áºáá¯áá«ááŸááá±á¬ ááá¬ážáá
áºáá¯áá±á«áºááœáẠBlockCache ááá¯ááœáá·áºáá¬ážááŒááºážááŒáá·áºá BlockSize = 16á 10000 bytesá 1 áá
áºáá¯á
á®á ááŸááºáááºážáá»á¬ážá
áá² áá±á¬áºáááºááᯠááŒáá·áºáá¡á±á¬ááºá R2 ááá¯á¡ááŒá±áá¶á áá±á¬áºáááºáá¡áááºá¡ááœá±ážáá±á¬ááºážááœááºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá±á¬áºáááºáž á¡ááá¯áá±á¬ááºážááŒááºážááᯠá€áá±áá¬ááœáẠááá·áºáá»ááºááŒá±á¬ááºáž áá¯á¶ážáááŸááºážááŸááºážáááºážáááºážááááááºá áá±á¬ááºáá»á¬ážááŒá±á¬ááºážáá²ááá·áºá¡áá« á áá áºáá¡ááŸááºááááºá¡ááŒá¯á¡áá°ááẠáá»ááºážááŒá±á¬áá·áºááá¯ááºáá«á á€áá¯á¶á á¶ááẠááá·áºááŸááºážáá»ááºáá»á¬ážá¡ááœáẠááá¯ááºáá² áá±ážáá¬ážáá±á¬áá±á¬ááºáá»á¬ážá¡ááœááºáž ááŒá áºáá»ááºáá²á·áááºáá»á¬ážááᯠáá¬ážáááºáááºá¡ááœáẠá€áá¯á¶á á¶ááᯠáááá¯á¡ááºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá á€ááœááºá BlockSize ááŸáá·áº BlockCache ááá·áºáááºáá»ááºáá»á¬ážááẠPut áá¯ááºáá±á¬ááºááŸá¯á¡ááœáẠá¡áá±ážáááŒá®ážááŒá±á¬ááºáž áá»á±á¬ááºážáá¬ážáá á¶áááºááŸááºáá»ááºá០á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºáááẠ(áá±áá¯áá»á¡á¬ážááŒáá·áº á¡áá±á¬áºáá±áž ááá·áºááŸááºážááá¯ááºáááº)á
ááá¯á·áá±á¬áº partitions á¡áá±á¡ááœááºááá¯ážáá¬ááŒááºážááẠá
áœááºážáá±á¬ááºáááºáá»áááºážááŒááºážááá¯á· áŠážáááºá
á±áááºáá°áá±á¬á¡áá»ááºááẠá¡áááºážáááºáá»áŸá±á¬áºááá·áºááá¬ážáá±á¬á¡áá»ááºááŒá
áºááẠ(BulkLoad ááŒáá·áº partition á¡áá±á¡ááœááºááá¯ážááŒááºážá á¡ááŒá¯ááá±á¬áá±á¬ááºáá±á¬á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºáá±áááŒá®ááŒá
áºáááº)á ááááŠážá
áœá¬á áá¯ááºáá±á¬ááºááŒááºážá¡ááœááºá áá
áºáá¯á¡á
á¬áž áá±á 30 ááá¯á· áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŒá¯áá¯ááºááẠááá¯á¡ááºááŒá®áž áá±áá¬ááá¬áááẠá¡ááŒááºááœááºá
á±ááá·áº ááá¯áá²á·ááá¯á·ááá¯ááºáá±á áá¯áááá¡áá±ááŒáá·áºá á
á¯á
á¯áá±á«ááºážáááºáááºáá»áááºááᯠá¡ááŸá±ážáá¯á¶áž RS ááŸáá¯á¶ážááŒááºááŒá®áž DataNodes á¡áá±á¡ááœááºááẠRSs á¡áá±á¡ááœááºáááºáááºážáá±á¬ááŒá±á¬áá·áºá á¡áá»áá¯á·áá±á¬áá±ááá»á¬ážááœáẠáá±áá¬áá±ááááŸááá±á áá±á¬ááºážááŒá®á ááááºáá¯á¶ážáá«ážáá¯ááá¯ááŒáá·áºáá¡á±á¬ááºá
ááᯠGet blocks ááá¯áá¯ááºáá±á¬ááºááŒááºážáááááºáá»á¬ážááá¯á¡áá²ááŒááºááŒáá«á
áá¯á·á
áá±áá¬ááᯠáá±á¬ááºážá
áœá¬ áááºááŸáºáá»áá¬ážááŒá®áž áááºáá¬ážááá·áº áááºááŸáºááẠá¡áá°ážááŒá¬ážáá¯á¶áž (ááááºážááááºážá¡á) ááá·áºáááºáá»ááºááŒáá·áº ááŸááºážááŒááá¯ááºááá·áº á¡áááºážááá·áºá¡áá±á¡ááœááºááẠá¡áá±ážáá«ááŸá¯ áá¯á¶ážááŸá¯á¶ážááœá¬ážááá¯ááºáááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áá±á¬ááºážááá¯ááŸá¯áá
áºáá¯ááœáẠáááºáá±á·áá»áºá¡áá±á¡ááœáẠááá¯ážááŒááºážááẠá
áœááºážáá±á¬ááºáááºá¡ááœáẠá¡ááœááºá¡áá¯á¶ážáááºáá«áááºá ááááºáááºážáááŸááºáá»á¬áž
áá±á¬ááºáá¯á¶ážáá±á¬á·á ááááá¯á¶áž get áá¯ááºááŒá®áž áááºáá¬ážáá²á· block áá²á· model ááᯠááŒáá·áºááŒáá¡á±á¬ááºá
áááºááŸááºáá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááẠá€áá±áá¬ááœáẠáááá¬áááºááŸá¬ážáá«áááºá áá±á«ááºážáá±á¬ááºáá»á¬ážá ááááºáá»á¬ážá
9. Load á ááºážáááºááŒááºážá
áá±á¬ááºážááŒá®á áá±á¬ááºáá¯á¶ážááœáẠáá»áœááºá¯ááºááá¯á·ááẠááá¯ááá¯ááá·áºáá»á±á¬áºáá±á¬áááºááᯠá
áááºááá¯ááºáááºááŒá
áºáá±á¬áºáááºáž ááá·áºááœáẠááŸáá¯ááºážááŸááºá
áá¬áá
áºáá¯ááŸáááá·áºá¡áá« áááºážááẠá¡ááŒá²áááºáž ááá¯á á
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá«áááºá Cassandra á á¡ááá developer ááŒá
áºáá±á¬ DataStax á áááºááá¯ááºááœáẠááŸááá«áááºá
áá»áœááºá¯ááºáá¬ážáááºááá±á¬ááºá á
á¬áááºááŒááºážááᯠ100 ááŸááºáááºážáá¯á¶ážáá»á¬ážááŸáá·áº HBase node 16 áá¯á¡ááœáẠDataStax á
ááºážáááºááŸá¯ááẠáá
áºá
áá¹ááá·áºáá»áŸáẠ10 áá¯ááºáá±á¬ááºáá»ááºááᯠááŒááá²á·áááºá
áá»áœááºá¯ááºááá¯á·áá¡á á¯á¡áá±ážááœáẠnode 16 áá¯áááºážááŸáááá·áºá¡ááœááºáá¶áá±á¬ááºážáá±á¬áºáááºáž DataStax á ááºážáááºááŸá¯ááœáẠ64 áá¯áá¬ááŸááá±á¬áºáááºážá áááºážááá¯á·ááœáẠSSD drive áá»á¬ážááŸáááŒá®ážá áá»áœááºá¯ááºááá¯á·ááœáẠHDD áá»á¬ážááŸááá±áá±á¬áºáááºážá áááºážááá¯á·ááœáẠSSD drive áá»á¬ážáá«ááŸááááºá ááá¯á·ááá¯áẠáááºážáááºááá¯áá±á¬ áá¬ážááŸááºážá¡áá áºááẠáááºáá»áá±á ááºá¡ááœááºáž HBase ááŸáá·áº CPU á¡áá¯á¶ážáá»ááŸá¯ áááááá¬áᬠááá¯ážááá¬áá« (á¡ááŒááºá¡á¬ážááŒáá·áº 4-5 áá¬ááá¯ááºááŸá¯ááºáž)á ááá¯á·áá±á¬áºá á€ááœá²á·á ááºážáá¯á¶ááᯠá áááºá¡áá¯á¶ážááŒá¯ááẠááŒáá¯ážá á¬ážááŒáá«á áá¯á·á áá¯á¶áá± ááá¬ážáááºáááºáá»á¬ážá á á¬áááºááŒááºážááᯠáá±á¬á·á¡ááœá¬á¡áá±áž 10 á០0 áááºážá¡áá áá»áááºážáá¯ááºáá±á¬ááºááẠ(ááá¯ááá¯áááºááŸá¬ á¡áá»áááºááá¯ááºážááœáẠáááŸááááŒá áºááá¯á¡ááºáááº)á ááá¬ážááœáẠááŸááºáááºážáá±á«ááºáž áááºáž á á áá«áááºááŒá®áž á¡ááá¯ááºáž áá áᯠááœá²áá¬ážáááºá áá±á¬á·áá»á¬ážááᯠcrc50 ááᯠá¡áá¯á¶ážááŒá¯á áá»ááºáá¬ážáááºá ááá¬ážáááºáááºáá»á¬ážááẠáá°áááºážááŒá áºáááºá MSLAB ááᯠááœáá·áºáá¬ážáááºá á á¬ááœá² 50 ááᯠá áááºááá¯ááºááŒááºážááŒáá·áº á á¬ááœá²áá áºáá¯á á®ááẠáá»áááºážáá±á¬á· 64 áá¯ááᯠáááºááŒá®áž áá¯ááºáá¯ááºááá¯ááºáá±á¬ 32 bytes áá»á¬ážááᯠá€áá±á¬á·áá»á¬ážáᶠáá»ááºáá»ááºážááŒááºáá±ážáá±ážáááºá
Stand- 16 DataNode ááŸáá·áº 16 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 threads)á HBase áá¬ážááŸááºáž 1.2.0-cdh5.14.2á
áá»ááºážáá»áŸááááºááẠDataStax á ááºážáááºááŸá¯ááẠáááááá¬áᬠáá±á¬ááºážááœááºáá±á¬ áá áºá áá¹ááá·áºáá»áŸáẠáá¯ááºáá±á¬ááºáá»áẠ40 ááŸáá·áº áá®ážá ááºáá«áááºá ááá¯á·áá±á¬áºá á ááºážáááºááŸá¯áááºááœááºáá»ááºá¡ááœáẠáááºááẠá¡ááŒá±á¡áá±áá»á¬ážááᯠá¡áááºážáááºááŒá±á¬ááºážáá²ááá¯ááºáááºá á¡áá¯ááºá¡á¬ážáá¯á¶ážááᯠá á¬ážááœá²áá áºáá¯áááºážááœááºáá¬áá áá°ážááŒá¬ážáá±á¬áá±á¬á·áá»á¬ážááŒáá·áºáᬠáá¯ááºáá±á¬ááºááá¯ááºáááºááá¯ááºáá±á áááºááááºááá¯áá¯ááºáá±ážááá·áº "áá°"áá±á¬á·á¡áá»áá¯á·ááŸááá±áááºáᯠáá°áááŒáá«á áá¯á·á ááá¯á·ááŒá±á¬áá·áºá ááá¯ááŒá®ážáá±á¬ááŸááºáááºážáá»á¬áž (10 KB) ááŒáá·áº 100 á¡ááœá²ááá¯ááºá ááá°áá®áá±á¬ááá¬áž 4 áá¯ááœáẠááŸáá·áº áá±á¬ááºážááá¯áá¬ážáá±á¬áá±á¬á·áá»á¬ážáá¡ááœá¬á¡áá±ážááᯠ50 á¡áá ááá·áºáááºáááºáá®ážááá¯ááºááŒáá«á áá¯á·á á¡á±á¬ááºááœááºáá±á¬áºááŒáá¬ážáá±á¬ááááºááẠá á¬ááœá² 40 áá áááºááŒááºážááá¯ááŒááááºá á á¬ááœá²áá áºáá¯á á®áááºáááºááẠáá±á¬á· 100 á¡á á¯á¶ááŸáááŒá®áž á€áá±á¬á·áá»á¬ážáá±á«áºááœáẠáá»áááºáž 10 KB ááᯠáá»ááºáá»ááºážáá±ážáá«á
Stand- 16 DataNode ááŸáá·áº 16 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 threads)á HBase áá¬ážááŸááºáž 1.2.0-cdh5.14.2á
áááºáá±á¬ááºá ááºá¡ááœááºážá á¡áááºááœááºááŒáá¬ážááá·áºá¡ááá¯ááºáž ááŒá®ážááŒá®ážáá¬ážáá¬ážáá»á áºáá áºááŸá¯ááᯠá¡ááŒáááºáá»á¬ážá áœá¬ á áááºáá²á·ááŒá®ážá á€áá¯ááºáá¯á¶ážáá¯ááºáááºážáááŸááá²á á áœááºážáá±á¬ááºáááºááẠáááŒááºážááŒááºáž áá»áááºážááœá¬ážáááá·áºáááºá ááá¯á·áá±á¬áºá á¡áá±á¬ááºá¡áááºáá±á¬áºáá±á ááºá¡ááœááºáž á¡ááá¯áááºáááºáááºáž áá±á«áºáá±á«ááºáá¬áá«áááºá áá¯ááºááœááºáááŒááºážááẠá¡ááŒá±á¬ááºážá¡áá»áá¯ážáá»áá¯ážááŒá±á¬áá·áº ááŒá áºááááºá áá áºáá«áá áºáá¶ááœáẠá á¬ááœá²áá»á¬áž á¡áá¯ááºááŒá®ážááœá¬ážáᬠáááºážááá¯á·ááᯠááŒááºáááºá áááºáá»áááºááœáẠáá±áá¹ááááºááœá¬ážáááºá áá áºáá«áá áºáá¶ááœáẠááŒááºáá¡ááá®áá±ážááŸááºážáá»á¬ážá á¡á á¯á¡áá±ážáá±á«áºááœáẠload áá áºáá¯ááᯠáááºáá®ážáá±ážáá«áááºá
á á¬áááºááŒááºážááŸáá·áºáá»ááºáá»ááºážáá±ážáá¬ážááŒááºážááẠHBase á¡ááœááºá¡áááºáá²áá¯á¶ážá¡áá¯ááºá¡ááŒá±á¡áá±áá»á¬ážáá²ááŸáá áºáá¯ááŒá áºáááºá á¡áááºá áááºááẠáá±ážáááºáá±á¬ ááá·áºááœááºážáá±á¬ááºážááá¯ááŸá¯áá»á¬ážáᬠááŒá¯áá¯ááºáá²á·áááºá á¥ááá¬á¡á¬ážááŒáá·áº 100 bytesá áááºážááá¯á·ááᯠ10-50 á¡ááá¯ááºážááá¯ááºážáá»á¬ážá¡ááŒá Ạáá±á«ááºážá ááºáá«áá áááºááẠáá áºá áá¹ááá·áºáá»áŸáẠáá¯ááºáá±á¬ááºáá»ááºáá±á«ááºáž áá¬ááŸáá·áºáá»á®áááá¯ááºááŒá®ážá á¡ááŒá±á¡áá±ááẠáááºááŸá¯áááºáᬠáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŸáá·áº áááºáá°áá«áááºá 50 blocks á០áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŒá±á¬áá·áº DataStax ááŸáááŸááá±á¬ ááááºáá»á¬ážááẠáá»á¬ážá áœá¬áá¬ááœááºáá±á¬ááºážááœááºááŒá±á¬ááºáž áááááŒá¯ááá·áºáá«áááºá
Stand- 16 DataNode ááŸáá·áº 16 RS (CPU Xeon E5-2680 v4 @ 2.40GHz * 64 threads)á HBase áá¬ážááŸááºáž 1.2.0-cdh5.14.2á
á
á€á áá áºááẠá¡áá±á¬áºáá±áž ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá¡á±á¬áẠá á®á ááºáá¬ážáá±á¬áºáááºáž ááá·áºáááºáá»ááºá¡áá»á¬ážá¡ááŒá¬ážá ááœáŸááºážááá¯ážááŸá¯ááᯠáááááá±ážáá«á áááºážááá¯á·áá²á០á¡áá»áá¯á·ááᯠá ááºážáááºáá²á·áá±á¬áºáááºáž ááááºá ááºážáááºááŸá¯ááœáẠááá«áááºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá ááá¬áá ááºážáááºááŸá¯áá»á¬ážááẠDATA_BLOCK_ENCODING áá²á·ááá¯á· ááá·áºáááºáá±á¬ááºáá áºáá¯á á¡áá±ážááá«áá±á¬ á¡áá±ážáá«ááŸá¯ááᯠááŒááá²á·ááŒá®ážá áááºážááẠáá»áááºážáá¯ááºáá±ážáá±á¬ áá±áá¬á¡ááœáẠáá¬ážáááºááá¯ááºáá±á¬ á¡áááºáá®ážáá»ááºážáá²ááºáá»á¬ážá០áááºááá¯ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡áá»ááºá¡áááºáá»á¬ážááᯠáá¯ááºáá±ážáááºá ááœá¬ážáá±áá±á¬ á¡áá¬ááá¹áᯠá¡áá»á¬ážá¡ááŒá¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á á¡ááŒááºááŸá¬ áááá¬áááºááŸá¬ážáá«áááºá áá±áá°áá»á¡á¬ážááŒáá·áºá HBase ááẠáá±áá¬á¡áá¯á¶ážááŒá®ážáá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºáá¬ááœáẠá¡áá±á¬áºáá±áž á¡áá»áá¯ážááŒá áºááœááºážá á±ááá·áº áá»áŸáááŒá®áž áá±á¬ááºážááœááºá áœá¬ ááœá±ážáá±á«áºááá¯ááºáá±á¬ áá±áá¬áá±á·á áºáá áºáá¯á á¡áááºá¡ááŒááºááᯠáá±ážáááºáᯠááá¯ááá¯ááºáá«áááºá á¡áá°ážáááŒáá·áº á á¬áááºááŒááºážááŸáá·áº á á¬áá±ážááŒááºážáá¯ááºáááºážá ááºáá»á¬ážááᯠá¡áá»áááºáá®ááœá²ááŒá¬ážááá¯ááºáá»áŸááºá
ááá·áºáááºááŒááºáá»ááºááᯠáá¯ááºáá±á¬áºáááŒááá¯ááºáá±á¬ááºá¡á±á¬áẠáá
áºá
á¯á¶áá
áºáá¬ááŸááá«áá á¡áá±ážá
áááºááᯠááŒá±á¬ááŒááẠá¡ááá·áºááŸááá«áááºá ááá·áºá¡ááœá±á·á¡ááŒá¯á¶ááᯠáá»áŸáá±ááẠááá¯á·ááá¯áẠáá
áºá
á¯á¶áá
áºáá¬ááᯠááá±á¬ááá°áá«á ááœá±ážááœá±ážááẠááá·áºá¡á¬áž áá»áœááºá¯ááºááá¯á· ááááºáá±á«áºáá«áááºá
source: www.habr.com