ClickHouse ááẠá¡áá°ážááŒá¯á áá áºááŒá áºáá±á¬ááŒá±á¬áá·áº áááºážááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá« áááºážááááá¯áá¬áááºáá¬áá»á¬ážáá¡ááºá¹áá«áááºáá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážááẠá¡áá±ážááŒá®ážáá«áááºá á€á¡á á®áááºáá¶á á¬ááœááºá Alexey ááẠClickHouse ááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá«ááœááºááŒá áºáá±á·ááŸááá±á¬á¡ááŸá¬ážáá»á¬ážá¡ááŒá±á¬ááºážááŒá±á¬ááá¯áááºááŒá áºááŒá®ážá áááá±á¬ááºááŸá¯áááŸááá±á¬á¡áá¯ááºáá»á¬ážááá¯ááŒá áºáá±á«áºá á±ááá¯ááºáááºá áááºááœá±á·ááá°áá¬áá»á¬ážá áá áºáᯠááá¯á·ááá¯áẠá¡ááŒá¬ážáá±áá¬áá¯ááºáá±á¬ááºááŒááºážá¡á á®á¡á ááºááᯠááœá±ážáá»ááºááŒááºážááẠááŒááºážá¡á¬ážá¡ááŸá¬á á¬áá»á¬ážááŒáá·áº á áœááºážáá±á¬ááºáááºááᯠááŒá±á¬ááºážáá²ááá¯ááºáá¯á¶ááᯠááŒááááºááŒá áºáááºá
á¡á¬ážáá¯á¶ážáááºá¹ááá¬áá«! áá»áœááºáá±á¬á·áºáá¬ááẠAlexey áá«á ClickHouse áá«á
ááááŠážá áœá¬á áá«áááºážááá¯áá»ááºáá»ááºážáá»á±áááºááá¯á·á¡áá»ááºááá¯áááºá áá®áá±á· ClickHouse ááá¯áá¬áá¬áá² áááºážááá¯áá«ááŒá±á¬ááŒááŸá¬ááá¯ááºáá°ážá ááá¯ážááá¯ážáá¬ážáá¬ážááŒá±á¬áááẠáá»áœááºáá±á¬áº áááºáááºážáá«áááºá áá«áááºážááᯠáááºá¡áá»áááºááá¯ááºážááŒá±á¬áá¬áá²á áá°ááá¯ááºážááááŒá®ážáá¬ážááŒá áºáá±á¬ááºážááŒá áºááá¯ááºáá«áááºá
áááºážá¡á á¬ážá ááẠClickHouse ááᯠááœá²ááŸá¬ážá áœá¬ á¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á¡ááŸá¬ážáá»á¬ážááŸáááá¯ááºáááºááᯠáá»áœááºá¯ááºááŒá±á¬ááŒáá«áááºá á¡ááŸááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠááá¯ážááŸááºážáá±á¬á á¡áááºááŒá±ááŒá®áž áá±á¬ááºá áºááŒááºáááœáẠá¡áá¯ááºáá¯ááºáá±á¬ á áá áºáá áºáá¯á¡áá±ááŒáá·áº ClickHouse ááᯠáááºáá®ážáá±áá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠááŒá±á¬ááºááœá¶á·áá±ááẠáááá¯á¡ááºáá«á áá»áœááºáá±á¬áº install áá¯ááºááá¯ááºáᬠááŒááá¬áááŸááá«áá°ážá
ááá¯á·áá±á¬áº á€á áá áºááẠá¡áá°ážááŒá¯áá¬ážááŒá±á¬ááºáž ááá·áºááœááºážá ááºážá á¬ážáááºááá¯áá±ážááŒá®áž á€á áá áºááᯠáááºážá áááºáá±á¬áá·áºáááºáá¬áá¯ááºá០áááºááŸá¬ážáá±ážááá·áº áá¯á¶ááŸááºááá¯ááºáá±á¬ á¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á áááºáá áºáá¯ááᯠá¡ááœááºááá° ááœá±á·ááŸáááá¯ááºáááºá
áá«ááᯠáááºááᯠááááºáá»áá¯ážááŸááá²á á¡áá»á¬ážá¡á¬ážááŒáá·áºáá±á¬á· áááá¬áááºááŸá¬ážáá²á· á¡ááŒá±á¬ááºážá¡áá¬ááœá±ááᯠááŒá±á¬ááŒáááºá á¡áá¬á¡á¬ážáá¯á¶ážá áá°ááá¯ááºážáááá¬áá«áááºá áá°ááá¯ááºážá á¡áá¬áá¬ááᯠáá¬ážáááºááŒá®áž áá¬ááºáá±á¬ááºážáá²á·á¡ááœáẠáááºážááŒá±á¬ááºááá¯ááºááŒá®áž áá¬ážááááºáá²á·áá°ááœá±á á¡áá áºáá áºáá¯ááᯠáááºáá°ááŒáááá·áºáááºá
áá¶ááá±á¬ááºážá áœá¬ááŒáá·áºá áááŒá¬ááááŒá áºáá±á«áºáááºáá±á¬ áááááŸáá·áº á¡ááá¯ážááŸááºážáá¯á¶áž á¥ááá¬ááŸá¬ áá±ážáááºáá±á¬ á¡ááœá²áá»á¬ážáá«ááŸááá±á¬ ááá¯ážááœááºážááŸá¯ á¡áá»á¬ážá¡ááŒá¬ážááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ áá±ážáááºáá±á¬ ááá¬áá¡áá»á¬ážá¡ááŒá¬áž ááá·áºááœááºážááŒááºáž ááŒá áºáááºá
ClickHouse ááá·áºááœááºážááŸá¯áá¯ááºáá±á¬ááºáá¯á¶ááᯠáá»áœááºá¯ááºááá¯á·áá¯á¶ážáááºáá«áá áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááœáẠá¡áááºážáá¯á¶ážáá±áᬠterabyte áá±ážááá¯á·ááá¯ááºáá«áááºá áá«áᬠááŒá¿áá¬ááá¯ááºáá«áá°ážá
áá¯á¶ááŸááºá áœááºážáá±á¬ááºáááºá áááºááá¯ááŸáááá²ááá¯áᬠááŒáá·áºááá¯ááºáá¡á±á¬ááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááœáẠYandex.Metrica áá±áá¬á០ááá¬ážáá áºáá¯ááŸááááºá hitsá 105 áá±á¬áºáá¶á¡áá»áá¯á·á 700 bytes ááᯠáá»á¯á¶á·ááá¬ážáá«á áá»áœááºá¯ááºááá¯á·ááẠá¡áááºážáá áºáááºážá á¡á á®á¡á á¥áºáá»á¬ážááœáẠáááºážáááºážáá±á¬ááºážááŒáá·áº ááá·áºááœááºážáá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠMergeTree ááᯠááá¬ážáá²ááá¯á·ááá·áºááá¯ááºáááºá áááºážááẠáá áºá áá¹ááá·áºáá»áŸáẠá¡áááºážáá áºáááºážááœá²ááœááºáááºá ááá¯ááºáááºá áá¯á¶áá°ááá¬ážáá áºáá¯ááœáẠáááºážááẠáá áºá áá¹ááá·áºáá»áŸáẠá¡áááºáž 400 ááá·áº á¡áááºážáááºáá±ážáááºáááºááŒá áºáááºá
á¡áááºá áááºááẠquorum ááá·áºááœááºážááŸá¯ááᯠááœáá·áºáá«áá áááºááẠá¡áááºážáááºáááºážáá±á¬áºáááºáž ááá·áºááá·áºáá»á±á¬ááºáááºáá±á¬ á áœááºážáá±á¬ááºáááºááŸááá±áá²ááŒá áºááŒá®ážá áá áºá áá¹ááá·áºáá»áŸáẠáá±á«áá¬á 250 áááŸááááºááŒá áºáááºá Quorum ááá·áºááœááºážááŒááºážááẠClickHouse* ááœáẠá á¬ááœááºá á¬áááºážáááŸááá±á¬ á¡ááºá¹áá«áááºáá áºáá¯ááŒá áºáááºá
* 2020 áá¯ááŸá
áºá¡ááá
ááá±á¬ááºážáá¬áá¯ááºááẠáá¬ááŒá áºááá²á áá»áœááºá¯ááºááá¯á·ááẠMergeTree ááá¬ážááœáẠá¡áááºážáá áºáááºážááᯠááá·áºááœááºážááŒá®áž áá áºá áá¹ááá·áºáá»áŸáẠá¡áááºáž 59 áááºážáááŸááááºááŒá áºáááºá á¡á²áá«á á¡á 10 ááá¯ááŸá±ážáááºá ReplicatedMergeTree ááœáẠ- áá áºá áá¹ááá·áºáá»áŸáẠ000 áááºážá á¡áááºá quorum ááá¯ááœáá·áºáá«áá áá áºá áá¹ááá·áºáá»áŸáẠ6 ááá¯ááºážááœááºáááºá áá»áœááºáá±á¬á·áºá¡ááŒááºá¡ááá±á¬á· áá«á áá¯á¶ážáá¡ááá¯ááºá á¬ážáá«áá²á áá®ááá¯áá»áá¯áž ááŸá±ážááœá±ážá¡á±á¬áẠáááºááá¯áá¯ááºáááá²á ClickHouse ááŸá±ážááœá±ážááá±ááá·áºáá°ážááá¯áá²á· áá®ááŸááºáá±á«áºááŸá¬áá±á¬áẠáá±ážáá¬ážáááºá ááá¯á·áá±á¬áº áá áºáá«áá áºáá¶ááœáẠááŒá áºáááºáá«áááºá
ááááºáá±á¬á· áá«á áá»áœááºáá±á¬áºááá¯á·áá²á· á¡á¬ážáááºážáá»ááºáá«á áá»áœááºá¯ááºááá¯á·ááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠááœááºáá°á áœá¬ á¡áááºááŒá±á¡á±á¬áẠááŒá¯áá¯ááºááá¯ááºáá²á·áá±á¬áºáááºáž áá»áœááºá¯ááºááá¯á· áá¡á±á¬ááºááŒááºáá²á·áá«á ááŒá®ážáá±á¬á· áá«ááá¯á·áá²á· áá¬ááºááœáŸááºážá á¡á²áá«ááᯠáááá¯á¡ááºááá¯á· áá«ááá¯á· ááá¯ááºáá²á·áá°ážá áá«ááá¯á·ááŸá¬ áá¬ážáá±á«ááºááœá± ááŸáááŒá®ážáá¬ážá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááááºáá±á«ááºááœáẠá¡ááœá²ááá¯ááºáá»á¬ážááᯠáááºáá¶áááŸááá²á·ááŒá®áž ááŒá¿áá¬áááŸááá«á áá»áœááºáá±á¬áºááá¯á·á á¡á²áá«ááᯠááá·áºááá¯ááºáá¬áá²á· á¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±áá«áááºá ááá¯á·áá±á¬áº á¡áá»áá¯ážáá»áá¯ážáá±á¬ á¡ááŒá±á¡áá±áá»á¬áž ááŒá áºááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááá·áºááœáẠáá±áá¬áá¯ááºáá±ážááá·áº áá¬áá¬áá»á¬ážá áœá¬ááŸáááá·áºá¡áá«á áááºážááá¯á·ááẠáááŒá¬ááááá¯áááᯠáá±áá¬ááᯠááá·áºááœááºážááŒááºážáááŒá¯áá±á¬áºáááºáž áááŒá¬áá ááá·áºááœááºážááŸá¯áá»á¬ážááŒáá·áº á¡áá¯á¶ážáááºáá¬ážáá²ááŒá áºáááºá áá«ááᯠáá»áœááºáá±á¬áºááá¯á· áá áºáááºážáááºážáá²á· ááŸá±á¬ááºááá¯á·ááá¯áááºá
áááºážááá¬ááá¯ááºáá¬ááŸá¯áá±á¬áá·áºááŸááŒáá·áºáá»áŸáẠá¡áá»ááºááŸá¬ ClickHouse ááœáẠááá·áºááœááºážááá·áºá¡áá« áá±áá¬ááẠáááºááá·áº memtable ááœááºá០á¡áá¯á¶ážáááŸááá±á áá»áœááºá¯ááºááá¯á·ááœáẠMergeTree á¡á á áºá¡ááŸáẠááŸááºáááºážááœá²á·á ááºážáá¯á¶ááẠáááŸááá±á¬áºáááºáž MergeTree áá áºáá¯áá»áŸáᬠááŒá áºáá±á¬ááŒá±á¬áá·áºá ááŸááºáááºážáá áºáᯠááá¯á·ááá¯áẠmemTable áááŸááá«á áá»áœááºá¯ááºááá¯á·ááẠáá±á¬áºáá¶áá»á¬ážááœáẠá á®á ááºááŒá®ážáá±á¬ ááá¯ááºá áá áºááá¯á· áá±áá¬áá»á¬ážááᯠáá»ááºáá»ááºážáá±ážáá«á á¡áááºá ááá·áºááœáẠáá±á¬áºáᶠ100 ááŸááá«áá ááá¯áẠ200 áá»á±á¬áºááᯠáá®ážááŒá¬áž directory áá áºáá¯ááá¯á· áá±ážáá¬ážááẠááá¯á¡ááºáááºááŒá áºáá«áááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡ááœááºáááºáá²áááºá
ááá¯á¡áá«áá±ážááœááºážáá±á«áºáá¬áááº- "ááŸááºá¡á±á¬ááºáááºááá¯áá¯ááºáááá²?" á¡ááŒá±á¡áá±áááºááá¯áá²á·ááá¯á·ááŒá áºáá±áá«á ClickHouse ááœááºá¡áá»ááºá¡áááºáá»á¬ážááá¯áá áºáááºážáá áºáá¯á¶ááŸááºáááºážáááºáááºááá¯á¡ááºáá«áá±ážáááºá
Method 1. áá«á á¡ááœááºáá¯á¶ážáááºážáááºážáá«á ááŒáá·áºáá±áá¬ážáá±á¬ áááºážá á®ááŒááºážááᯠá¡áá¯á¶ážááŒá¯áá«á á¥ááá¬á¡á¬ážááŒáá·áº Kafkaá áááºááẠKafka ááŸáá±áá¬ááá¯ááá¯ážááŸááºážá áœá¬áá¯ááºáá°ááŒá®ážáá áºá áá¹ááá·áºáá»áŸááºáá áºááŒáááºááŒá¯áá¯ááºáááºá ááŒá®ážáá±á¬á· á¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±ááœá¬ážááŸá¬áá«á áááºáž ááŸááºáááºážáááºáá«á á¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±ááŸá¬áá«á
á¡á¬ážáááºážáá»ááºáá»á¬ážááŸá¬ Kafka ááẠá¡ááŒá¬ážáá±á¬ ááŒá®ážáá¬ážáá±á¬ ááŒáá·áºáá±ááŸá¯á áá áºááŒá áºáááºá áááºážáá²á·áá¯áá¹ááá®ááŸá¬ Kafka ááŸááá±ááŒá®ááá¯áá¬áááºáž áá¬ážáááºáá«áááºá áá±á¬ááºážáá«áááºá á¡áááºááŒá±áááºá ááá¯á·áá±á¬áº áááºážáááŸááá«áá áááºáááá±á¬áá»ááºááá¯á· á¡ááŒá¬ážááŒáá·áºáá±ááá·áºá áá áºááᯠáááœá²áá® áá¯á¶ážááŒáááºá ááºážá á¬ážááá·áºáááºá ááá¯á·ááŒá±á¬áá·áº á¡ááŒá¬ážááœá±ážáá»ááºá áá¬áá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážááá·áºáááºá
Method 2. á€áááºáá»á±á¬ááºážááŸá¡ááŒá¬ážááœá±ážáá»ááºá áá¬ááŒá áºááŒá®ážáá áºáá»áááºáááºážááŸá¬á¡ááœááºááá¯ážááŸááºážáá«áááºá ááá·áºááœáẠááá·áºááŸááºáááºážáá»á¬ážááá¯áá¯ááºáá±ážááá·áº áá¬áá¬áá»áá¯ážááŸááá«ááá¬ážá áááºážááẠáááºáááŸááºáááºážáá»á¬ážááᯠááá¯ááºáá áºáá¯ááá¯á· áá±ážáá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá áºá áá¹ááá·áºáá»áŸáẠáá áºááŒáááºá á€ááá¯ááºááᯠá¡áááºááŒá±á¬ááºážááŒá®áž á¡áá áºáá áºáá¯ááᯠááŒááºááá¯ááºáá«á cron ááá¯á·ááá¯áẠá¡áá»áá¯á· daemon ááŸáá áºááá·áº áá®ážááŒá¬áž script áá áºáá¯ááẠááŸá±ážá¡áá»áá¯á¶ážááá¯ááºááá¯áá°á ClickHouse ááá¯á·áá±ážáá¬ážáááºá ááŸááºáááºážááœá±ááᯠáá áºá áá¹ááá·áºááŸá¬ áá áºááŒááẠááŸááºáááºážáááºááẠá¡á¬ážáá¯á¶áž á¡áááºááŒá±ááœá¬ážááŸá¬áá«á
áá«áá±ááá·áº áá®áááºážáááºážáá²á· á¡á¬ážáááºážáá»ááºááá±á¬á· ááŸááºáááºážááœá±ááᯠáá¯ááºáá±ážáá²á· ááá·áºáá¬áá¬áá²á· áá áºáá±áá¬áá¬ááŸá¬ áá»á±á¬ááºááœá¬ážááẠáá±áá¬ááœá±áááºáž áá»á±á¬ááºááœá¬ážááŸá¬ ááŒá áºáá«áááºá
áááºážáááºáž 3á áá¬áá®ááá¯ááºáá»á¬áž áá¯á¶ážááááá¯á¡ááºáá±á¬ á¡ááŒá¬ážá áááºáááºá á¬ážááœááºáááºážáááºážáá áºáá¯ááŸááá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááá·áºááœáẠáá±áá¬ááá¯áá¯ááºáá±ážááá·áº ááŒá±á¬áºááŒá¬ spinner ááá¯á·ááá¯áẠá¡ááŒá¬ážá áááºáááºá á¬ážááœááºáᬠdaemon á¡áá»áá¯á·ááŸááááºá ááŒá®ážáá±á¬á· RAM áá²ááŸá¬á ááŒá¬ážáá¶áá²ááŸá¬ áá±áá¬á¡ááŒá±á¬ááºá¡áá»á¬ážááᯠá á¯áá±á¬ááºážááá¯ááºáá«áááºá á¡áá»áááºá¡áá¯á¶á¡áá±á¬ááºáá¯ááºááœá¬ážáá±á¬á¡áá«á áááºááẠá€ááŒá¬ážáá¶ááá¯áá±ážáááºáá¬ážáᬠá¡áá áºáá áºáá¯áááºáá®ážáᬠáá®ážááŒá¬ážá á¬ááœá²áá áºáá¯ááœáẠá á¯áá±á¬ááºážáá¬ážááŒá®ážááŒá áºááá·áºá¡áá¬ááᯠClickHouse áá²ááá¯á·ááá·áºáá«á
á¡ááŒá¬ážáá áºáááºááœááºá áá±áá¬ááẠkill -9 ááŸáá·áºá¡áá°áá»á±á¬ááºááœááºááœá¬ážáááºá ááá·áºáá¬áᬠáá»ááºááœá¬ážáá«á á€áá±áᬠáá¯á¶ážááŸá¯á¶ážááœá¬ážáá«áááºá áá±á¬ááºááŒá¿áá¬áá áºáá¯ááá±á¬á· Database ááŸá¬ á á¬ááá±ážááá¯ááºááẠRAM áá²ááŸá¬ Data ááœá±á á¯áá¯á¶áá¬áááºá RAM á áá¯ááºááœá¬ážáááá·áºááẠáá«ááŸááá¯áẠáá±áá¬ááœá± áá¯á¶ážááŸá¯á¶ážááœá¬ážáááá·áºáááºá
Method 4. áá±á¬ááºáááºá áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á·áááºážáááºážá ááá·áºááœáẠáá¬áᬠáá¯ááºáááºážá ááºáá»áá¯áž ááŸááá«ááá¬ážá áááºážááẠClickHouse ááá¯á·áá»ááºáá»ááºážáá±áá¬áá±ážááá¯á·ááá¯ááºáá±á¬áºáááºážáááºážááá¯áá»áááºáááºááŸá¯áá áºáá¯áááºážááŒáá·áºááŒá¯áá¯ááºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááẠááœáŸá²ááŒá±á¬ááºáž-áá¯ááºáá¶áá«ááºááŒáá·áº http áá±á¬ááºážááá¯áá»ááºááᯠáá±ážááá¯á·áá²á·áááº- ááá·áºááœááºážááŸá¯ááŒáá·áº á¡ááá¯ááºážááá¯ááºážáá¬ážáááºá áááºážááẠá¡ááá¯ááºážáá»á¬ážááᯠááŸá¬ážáá«ážááœááºážáááºááá¯ááºáá«á á€áá±áá¬ááᯠáá±á¬ááºááœááºážáááºá¡ááœáẠááááºááœááºááŸááá±áá±á¬áºáááºáž á á¬ááŒá±á¬ááºážáá áºáá¯á á®ááᯠáááºáá±ážááá¯á·ááá¯ááºáá«áááºá
ááá¯á·áá±á¬áºá á€ááá á¹á ááœááºá áá±áá¬ááᯠClickHouse ááá¯á·áá»ááºáá»ááºážáá±ážááá¯á·áááá·áºáááºá ááŒá®ážáá»áŸáẠClickHouse ááẠáááºážááá¯á·ááá¯ááºááá¯áẠááŒá¬ážáá¶áá±ážáááá·áºáááºá
áá«áá±ááá·áº ááŒá¿áá¬ááœá±áááºáž áá±á«áºáá¬áááºá áááºá áá¯ááºáááºážá ááºááᯠáááºááá·áºá¡áá»áááºááŸáá·áº ClickHouse áá¯ááºáááºážá ááºááᯠáááºáá áºáá«áá áááºážááẠáááŒáá·áºá á¯á¶áá±á¬ ááá·áºááœááºážááŸá¯áá áºáá¯ááŒá áºáá±á¬ááŒá±á¬áá·áº ááᯠáááºáá¯á¶ážááŸá¯á¶ážááœá¬ážáááºááŒá áºáááºá ClickHouse ááœáẠááá·áºááœááºážááŸá¯áá»á¬ážááẠá¡áááºážáá»á¬ážá á¡ááœááºá¡á á¬ážááŸá áááºááŸááºáá¬ážáá±á¬ á¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá á¡ááºáááºááŒá áºáááºá áá°á¡áá á€áááºá áááºáááºá á¬ážááœááºáááºážáááºážááŒá áºáááºá áá¯á¶ážááá¯á·áááºážááá«áááºá
Method 5. áá«ááááºáž á áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á· áááºážáááºážáá áºáá¯áá«á áááºážááẠdata batch á¡ááœáẠcommunity-developed server áá áºáá»áá¯ážááŒá áºáááºá áá»áœááºáá±á¬áº ááá¯ááºááá¯áẠáááŒáá·áºááá±ážáá²á·á¡ááœáẠáá¬á០á¡á¬áááá¶ááá¯ááºáá«áá°ážá ááá¯á·áá±á¬áº ClickHouse ááá¯ááºááá¯ááºá¡ááœáẠá¡á¬ááá¶áá»ááºáá±ážááá¬ážáá«á áááºážááẠopen source áááºážááŒá áºáááºá ááá¯á·áá±á¬áº á¡ááŒá¬ážáá áºáááºááœááºá áááºááẠáá»áœááºá¯ááºááá¯á·áá±ážáá±á¬ááºáááºááŒáá¯ážá á¬ážáá±á¬ á¡áááºá¡ááœá±ážá á¶ááŸá¯ááºážá¡áá»áá¯á·ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá á€á¡áá¬á¡ááœáẠ- áá«ááááá«á GitHub ááá¯á·ááœá¬ážáá«á áá¯ááºááá¯ááŒáá·áºáá«á áá¬áá¬áẠáá áºáá¯áᯠáá±ážááŒá áºááá¯ááºáááºá
* 2020 ááœáẠááá·áºááœááºážá
ááºážá
á¬ážááá·áºáááºá
Method 6. á¡ááŒá¬ážáááºážáááºážááŸá¬ Buffer tables ááᯠá¡áá¯á¶ážááŒá¯ááŒááºáž ááŒá áºáááºá áá®áááºážáááºážáá²á· á¡á¬ážáá¬áá»ááºááá±á¬á· á áááºá¡áá¯á¶ážááŒá¯ááᬠá¡áááºážááœááºáá°áá«áááºá Buffer ááá¬ážáá áºáá¯áááºáá®ážááŒá®áž áááºážááá¯ááá·áºááœááºážáá«á
á¡á¬ážáááºážáá»ááºááá±á¬á· ááŒá¿áá¬ááᯠáá¯á¶ážáá¯á¶ážáááŒá±ááŸááºážááá¯ááºáá«áá°ážá á¡áááºá MergeTree áá²á·ááá¯á· ááŸá¯ááºážáá áºáá¯ááœáẠáááºááẠáá áºá áá¹ááá·áºáá»áŸáẠbatch áá áºáá¯ááŒáá·áº áá±áá¬ááᯠá¡á¯ááºá á¯ááœá²á·ááááºááŒá áºááŒá®ážá ááá¯á·áá±á¬áẠááŒá¬ážáá¶ááá¬ážáá áºáá¯ááŸá ááŸá¯ááºážáá áºáá¯ááœáẠáááºááẠáá áºá áá¹ááá·áºáá»áŸáẠá¡áááºážáá¯á¶ážáá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬á¡áá á¡á¯ááºá á¯ááœá²á·ááẠááá¯á¡ááºáá«áááºá áá áºá áá¹ááá·áºááᯠ10 áááºááá¯áá±áááºáá±á¬á· ááá±á¬ááºážáá±ážáá«áá°ážá áááºážááᯠá¡áá¯ááºááá¯ááºááá·áºááá¯ááºáá»áŸáẠáá áºá áá¹ááá·áºáá»áŸáẠááá¯ááºážáá áºááááºážááŒá áºááœá¬ážáááºááᯠáááºááœá±á·ááá¯ááºááááºá ááŒá®ážáá±á¬á· áá«á á¡áá±á¬áºáá±áž áá±ážáá¶áá²á· á¡áá»ááºá¡áááºááœá± áá±á«áºáá±áá«ááŒá®á
ááá¯á·á¡ááŒáẠááŒá¬ážáá¶ááá¬ážáá»á¬ážááœáẠááŸááºáááºážáá áºáᯠáááŸááá«á ááá·áºáá¬áá¬ááœáẠáá áºáá¯áá¯ááŸá¬ážááœááºážáá±áá«á áá±áá¬áá»á¬áž áá¯á¶ážááŸá¯á¶ážááœá¬ážáááºááŒá áºáááºá
ááá¯á·á¡ááŒáẠáá±á¬áááºá áºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáááŒá¬áá±ážáá®á ClickHouse ááœáẠKafka á០áá±áá¬ááᯠááá°ááẠá¡ááœáá·áºá¡áá±ážááá²á·áááºá á á¬ážááœá²áááºá¡ááºáá»áẠ- Kafka ááŸááá«áááºá áááºáááºáá®ážáá¯á¶áá«áá²á áááºážááœáẠáá¯ááºáá¯á¶ážáá±á«áºáá¬áá±á¬ ááá¯ááºá á¬ážááŒá¯áá»ááºáá»á¬ážááᯠáááºááœá²áá¬ážááá¯ááºáááºá á€ááá á¹á ááœááºá áááºážááẠKafka ááŸáá±áá¬ááá¯áá¯ááºáá°ááŒá®ážáááºááá¯á¡ááºáá±á¬ááá¬ážáá»á¬ážááœááºááá·áºááœááºážáááá·áºáááºá
á¡áá°ážáááŒáá·áº áá®á¡ááœáá·áºá¡áá±ážá¡ááœáẠáá»á±áááºá áá¬áá±á¬ááºážáá¬á á¡á²áá«á áá«ááá¯á·áá¯ááºáá²á·áá¬ááá¯ááºáá°ážá áá«á á¡ááá¯ááºážá¡ááá¯ááºážáá²á· á¡ááºá¹áá«áááºáá áºáá¯áá«á âá¡ááá¯ááºážá¡ááá¯ááºáž á¡ááºá¹áá«áááºâ ááá¯á· ááŒá±á¬áá²á·á¡áá« ááŸá¯ááºáá»á áᬠáááá¯áá² ááá¯ááá¯áᬠááŒá áºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºááá¯áááºááŒá®áž ááŒááºáááºáá¯á¶ážáááºááŸá¯ááŒá¯áá¯ááºáááºá áááºážááẠáá±á¬ááºážááœááºá áœá¬á¡áá¯ááºáá¯ááºááá·áºáááºá
* 2020 ááœáẠá¡áá¬ážáá° áá¶á·ááá¯ážááŸá¯ áá±á«áºáá¬áá«áááºá
áá±áá¬ááá·áºááœááºážáá¬ááœáẠá¡áááºáááŒá±ááá¯áẠááá¯á·ááá¯áẠááá»áŸá±á¬áºááá·áºáá¬ážááá·áºá¡áá¬áá»á¬áž ááŒá áºááá¯ááºáá«ááá¬ážá á¡áááºá áááºááẠáááºááá¯ážáá»á¬ážááᯠááá·áºááœááºážááẠáá±á¬ááºážááá¯áá«á áááºááá¯ážáá»á¬ážááœáẠááœááºáá»ááºáá¬ážáá±á¬ á¡áá¯á¶ážá¡ááŸá¯ááºážá¡áá»áá¯á·ááᯠáá±ážáá«á á¥ááá¬á¡á¬ážááŒáá·áº now() ááẠááœááºáá»ááºáá¬ážáá±á¬ expression áá áºáá¯áááºážááŒá áºáááºá á€ááá á¹á ááœááºá ClickHouse ááẠá á¬ááŒá±á¬ááºážáá áºáá¯á á®ááœáẠá€á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážá á áá¬ážááŒááºááᯠááœáá·áºááá¯ááºážááŒá®áž á áœááºážáá±á¬ááºáááºááẠá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá áá»áááºážááœá¬ážáááºááŒá áºáááºá áá«ááᯠááŸá±á¬ááºáᬠááá¯áá±á¬ááºážáá«áááºá
* áá±á¬áá±á¬áááºááœááºá ááŒá¿áá¬ááᯠáá¯á¶ážáá¯á¶ážááŒá±ááŸááºážááŒá®ážááŒá áºáááºá VALUES ááœáẠáá±á¬áºááŒáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« á áœááºážáá±á¬ááºáááºáá¯ááºáá¯ááºááŸá¯áááŸááá±á¬á·áá«á
áá±á¬ááºá¥ááá¬áá áºáá¯ááá±á¬á· partitions á¡á á¯á¡á ááºážáá áºáá¯ááá¯ááºáá²á· batch áá áºáá¯ááŸá¬ data ááœá±ááá²á·á¡áá« ááŒá¿áá¬á¡áá»áá¯á·ááŸááá¬ááá¯ááºáá«áááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá ClickHouse á¡áááºážááá·áºáá»á¬ážááẠáá¡ááá¯ááºááŒá áºáááºá á¡áááºá áááºááẠá¡áááºážáá áºáááºážáá¡áá¯ááºááᯠááá·áºááœááºážááŒá®áž ááŸá áºá¡áá±á¬áºááŒá¬ áá±áá¬ááŸááá±áá«áá ááá¯á·áá±á¬áẠááá·áºááœáẠá¡áááºážááá·áºáá±á«ááºáž áá«áááºáá»á¬ážá áœá¬ááŸááááºááŒá áºáááºá áááºážááẠá¡ááœááºážáááºááœáẠá¡ááŒá²áááºáž áááááá¯ááºážáá»á¬ážááᯠááá¯ááºážááŒá¬ážáá¬ážáá±á¬ááŒá±á¬áá·áº á¡ááá»á¬ážá áœá¬ áá±ážáááºáá±á¬ á¡ááœá²áá»á¬áž ááŸááááá·áºáááºáá°áá±á¬á¡áá»ááºááŸáá·áº áá®áá»áŸáááºá
* áááŒá¬áá±ážáá®áá á ááºážáááºááŸá¯áá¯ááºááœááºá ClickHouse ááẠááŒá¿áá¬ááᯠáá¯á¶ážáááŒá±ááŸááºážááá¯ááºáá¯áá®ážáá«ážááŒá áºáá±á¬ write-ahead log ááŒáá·áº RAM ááŸá á¡áá¯á¶ážá¡áá²áá»á¬ážááŸáá·áº á¡áá¯á¶ážáá»á¬ážáá¯á¶á á¶áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááºááŒáá·áºáá¬ážáááºá
á¡áᯠááŒá¿áá¬áá²á· áá¯áááá¡áá»áá¯ážá¡á á¬ážááŒá áºáá²á· data typing ááᯠááŒáá·áºáá¡á±á¬ááºá
áá±áá¬á á¬ááá¯ááºááŒááºážááẠáááºážáá»ááºáá±á¬ ááá¯á·ááá¯áẠá á¬áááºážááŒá áºááá¯ááºáááºá String ááẠáááºážááá¯áá°áᬠáááºáá¡ááœááºáá»á¬ážá¡á¬ážáá¯á¶ážááẠá¡áá»áá¯ážá¡á á¬áž string ááŒá áºááŒá±á¬ááºážááŒá±ááŒá¬áá±á¬á¡áá«ááŒá áºáááºá áá®ááá¯áá á¬ážááŒáááºá áá®ááá¯áá¯ááºááá¯á· áááá¯áá°ážá
áá»áœááºá¯ááºááá¯á·ááœáẠááœááºáááºáá áºáá¯á á á¬ááŒá±á¬ááºážáá áºááŒá±á¬ááºážááŸáááŒá®áž ClickHouse ááᯠáááºážáááá¯ááºááá¯ááºáá¯á¶ážááŒááºááœáá·áºáá±ážáá«áᯠááá¯áá»ááºááá·áºá¡áá« ááá¯ááá á¹á áá»á¬ážááœáẠááŸááºáááºá áœá¬ááŒá¯áá¯ááºáááºážááᯠááœá±ážááŒáá·áºááŒáá«á áá¯á·á áá«áá±ááá·áº ááŒáá¯ážá á¬ážá¡á¬ážáá¯ááºááá»áá¯ážáááºáá¯ááºážáá«áá²á
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááœáẠIP ááááºá á¬áá áºáá¯ááŸááááºá ááá á¹á áá áºáá¯ááœááºá áá»áœááºá¯ááºááá¯á· áááºážááᯠááŒáá¯ážáá áºáá»á±á¬ááºážá¡ááŒá Ạááááºážáááºážáá¬ážáááºá á¥ááá¬á 192.168.1.1á á¡ááŒá¬ážá¡ááŒá±á¡áá±ááœááºá áááºážááẠUInt32* á¡áá»áá¯ážá¡á á¬ážáá»á¬ážá áœá¬ááŒá áºáááá·áºáááºá 32 bits ááẠIPv4 ááááºá á¬áá áºáá¯á¡ááœáẠáá¯á¶áá±á¬ááºáááºá
ááááŠážá áœá¬ áá°ážáááºážáááºááŸá¬á áá±áá¬áá»á¬ážááᯠá¡áá®ážá ááºáá¯á¶áž áá°áá®á áœá¬ áá»á¯á¶á·ááœá¬ážáá«áááºá ááŒá¬ážáá¬ážáá»ááºáá áºáá¯ááŸááááá·áºáááºá ááá¯á·áá±á¬áºááá¯áá»áŸáá±á¬ááºáááŒá®ážáá«á ááá¯á·ááŒá±á¬áá·áº disk I/O ááœáẠá¡áá°ážááŒá¿áá¬áááŸááá«á
ááá¯á·áá±á¬áº áááá¯áááºáá¬á¡áá»áááºááŸáá·áº á á¯á¶á ááºážááŸá¯áá¯ááºáá±á¬ááºáá»áááºááá¯á·ááœáẠááŒá®ážáá±ážáá±á¬ááœá¬ááŒá¬ážáá»ááºááŸááá«áááºá
áááºážááá¯á·ááᯠáá¶áá«ááºáá»á¬ážá¡ááŒá Ạááááºážáááºážáá¬ážáá«á áá°ážááŒá¬ážáá±á¬ IP ááááºá á¬áá»á¬ážá á¡áá±á¡ááœááºááᯠáá±ááœááºááŒáá·áºááŒáá«á áá¯á·á áááºážááẠáá áºá áá¹ááá·áºáá»áŸáẠááá¯ááºáž ááá áááºážá¡áá á¡áá¯ááºáá¯ááºáááºá á¡áááºá áá»ááºážááŒá±á¬ááºážáá»á¬áž áá°áá®áá«á áá áºá áá¹ááá·áºáá»áŸáẠááá¯ááºáž áá áááºáž ááŸááááºá áá®ááá¯ááºááá¯ááºááŸá¯á áá¬ááŒá±á¬áá·áºááŒá áºáá¬áá²áá±á¬á· ááááá°ážá áá®áá±á¬ááºážááá¯áá»ááºááœá±ááᯠáá«ááá¯ááºááá¯ááºáá¯ááºáááºá áá«áá±ááá·áº á ááá±á¬áẠááŸá±ážáá±áá«áá±ážáááºá
á¡áááºá áááºááẠdisk space ááŒá¬ážáá¬ážáá»ááºááᯠááœááºáá»ááºáá«á ááŒá¬ážáá¬ážáá»ááºáááºáž ááŸááá«áááºá áá°ážááŒá¬ážáá±á¬ IP ááááºá á¬áá»á¬ážá áœá¬ááŸááá±á¬ááŒá±á¬áá·áº ááœá¬ááŒá¬ážáá»ááºááŸá¬ áá±ážáá¯á¶áá áºáá¯á¶ááá·áºááŒá áºáááºá á¡áááá¹áá«ááºá¡áá»áá¯ážáá»áá¯ážááŸáááá·áº áá»ááºážááŒá±á¬ááºážáá»á¬ážáá«ááŸááá»áŸáẠá¡áááá¬ááºá¡á áááºážááá¯á·ááᯠááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº áá°áá®áá±á¬ volume á¡ááŒá Ạá¡ááœááºááá° áá»á¯á¶á·ááá¯ááºáááºááŒá áºáááºá
á¡áá»áááºáá±ážáááŒá¬ážáá¬ážáá»ááºááẠáááºážáá±á«áºááœáẠáááœá²áá±á áá±áá»á¬áá¬ááá±á¬á· áááºážá ááá·áºááᯠááá±ážáá°áž á áá«áá±ááá·áº áá®ááᯠááŒá¬ážáá¬ážáá»ááºááᯠáá«ááŒááºááá²á·á¡áá« áááºážáááºážá áᬠááŒá áºá á±áááºá
ááá°áá®áá²á· ááá á¹á ááœá±ááᯠááŒáá·áºáá¡á±á¬ááºá
1. ááá·áºááœáẠááá°áá®áá±á¬ áá°ážááŒá¬ážáá±á¬áááºááá¯ážáá»á¬áž á¡áááºážáááºááŸááá±á¬á¡áá« ááá á¹á áá áºáá¯á á€ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáááºááá·áº DBMS á¡ááœááºáááᯠáááºááááá¯ááºááŒá®áž á¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº ááá¯ážááŸááºážáá±á¬ á¡áá±á·á¡áá»áá·áºááᯠáá»áœááºá¯ááºááá¯á· á¡áá¯á¶ážááŒá¯áá«áááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááẠClickHouse á¡ááœááºáá¬áá á¡áááá¹áá«ááºááŸááááºá áá±áá¬áá±á·á áºááœáẠááááºážááá¬ááºážá¡áá»ááºá¡áááºáá»á¬ážááᯠáá±ážáá«á ááá¯á·á¡ááŒáẠáááºááẠááŒáá¯ážáááºážáá»á¬ážá¡ááŒá áºááá¯á· ááŒá±á¬ááºážááá¯ááºááŒá®áž ááá·áºá¡ááá®áá±ážááŸááºážá áá±ážáááºááœáẠááŒááºááá¯ááºáááºá
á¥ááᬠááá·áºááœáẠáá±ááá áºáá¯ááŸááááºá ááŒá®ážáá±á¬á· ááŒáá¯ážáá áºáá»á±á¬ááºážá¡áá±áá²á· ááááºážááá¯á· áááºááŒáá¯ážá á¬ážáá±áááºá áááºážááᯠáá±á¬áºá ááá¯ááŸáá·áº áá±á¬áºá ááá¯áá±áááá¯á·á áá±ážáá¬ážáááºááŒá áºáááºá "áá±á¬áºá ááá¯" áá¯ááŒá±á¬áááºááá¯ááŒááºáá±á¬á¡áá«á áááºážáááºáá¬ááŸáááŸááá±á¬áºáááºážá áá±á¬áºá ááá¯áá±á¬ááºáá±á¬á¡áá«á áá áºáááºážáááºážááŒáá·áºáá¯á¶ážááááºážáááºážá áá¬ááŒá áºáá¬áááºá áá«á ááá¯ááºáááºáá±á¬ááºáá²á
áááºážá¡á á¬ážá áá»áœááºá¯ááºááá¯á·ááẠUlnt32 ááŸáá·áº 250 áá¶áá«ááºááᯠááá¯ážááá¯ážááŸááºážááŸááºáž áá±ážááŸááºáá¬ážáááºá áá»áœááºá¯ááºááá¯á·ááœáẠYandex ááœáẠ250 ááŸááááºá ááá¯á·áá±á¬áº ááá·áºááœáẠááœá²ááŒá¬ážááá¯ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá ClickHouse ááẠgeobase ááŸáá·áºá¡áá¯ááºáá¯ááºááẠbuilt-in á áœááºážáááºááŸááááºáá¯áá«ááŒá±á¬áááá·áºáááºá áá±á¬áºá ááá¯á áá±á¬áºá ááá¯áá±á ááŸáá·áº áááºááá¯á¡ááºááá»áŸá¡áá¬á¡á¬ážáá¯á¶áž áá«áááºááá·áº á¡áááºáááºážáá¯á¶áá áºáá¯á¡áá«á¡ááẠáá±ááá»á¬ážáá«ááŸááá±á¬ áááºážááœáŸááºáá áºáá¯ááᯠáááºááá¯ážááŸááºážá áœá¬áá±ážáá«á áá±á¬ááºážááá¯ááŸá¯á¡ááá·áºááœááºááẠconvert ááá¯ááºáááºá
áá¯áááááœá±ážáá»ááºááŸá¯ááŸá¬ ááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº áá°áá®áá±á¬áºáááºáž ClickHouse á¡ááœááºážááŸá áá¶á·ááá¯ážááŸá¯ááŒáá·áºá áááºážááẠEnum áá±áá¬á¡áá»áá¯ážá¡á á¬ážááŒá áºáááºá ááẠEnum ááœáẠáááºááá¯á¡ááºáá±á¬ áááºááá¯ážáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááá¯ážááŸááºážá áœá¬áá±ážáá«á á¥ááá¬á¡á¬ážááŒáá·áºá á ááºáá á¹á ááºážá¡áá»áá¯ážá¡á á¬ážááŸáá·áº á á¬ážááœá²áááºá ááá¯ááá¯ááºážá áááºááááºá áá®áá®á á á¯á á¯áá±á«ááºážááœá±ážáá»ááºá áᬠ4 áá¯ááŸááááºá
á¡á¬ážáááºážáá»ááºááá±á¬á· á¡áá»áááºá¡áá«á¡ááá¯áẠááŒá±á¬ááºážáá²ááá¯á· ááá¯áá«áááºá ááœá±ážáá»ááºááœáá·áºáá áºáá¯áá² áááºááá·áºáá¬ážáá«áááºá ááá¬ážááŒá±á¬ááºážááŒáá·áºáá¡á±á¬ááºá ááááºáá±á¬á· ClickHouse ááŸá¬ááŸááá²á· ááŒá±á¬ááºážáá²ááŸá¯ááá¬ážá á¡ááá²á·áá«á áá áºááºáá±á«áºááŸá áá±áᬠáááŒá±á¬ááºážáá²áá±á¬ááŒá±á¬áá·áº Enum á¡ááœáẠá¡áá°ážáááŒáá·áº á¡ááá²á·ááŒá áºáááºá áááºááá¯á·áááºááá¯á á±áá¬áá°á ááŒá±á¬ááºážáá²áá°ááẠá á¬ážááœá²áá±á«áºááŸá áá±á¬á·áááº*ááᯠáááŸáááŒá®áž ááœá±ážáá»ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠáá¯ááºáá±á¬ááºáááºá¡áá á á±á¬áá·áºááá«áááºá á€ááŒá±á¬ááºážáá²ááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒá®ážááŸáᬠá¡áááºáááŒá±ááŸá¯áá»á¬áž ááŸááá«áá±ážáááºá
* ClickHouse ááá±á¬ááºáá¯á¶ážááœááºáá¬ážááŸááºážáá»á¬ážááœáẠALTER ááᯠáá¯á¶ážáááááºááá¯á·ááŒááºážáááŒá¯áá«á
ClickHouse á¡ááœáẠá¡ááœááºáá°ážááŒá¬ážáá±á¬ áá±á¬ááºáááºááœá±ážáá»ááºá áá¬áá áºáá¯ááŸá¬ ááŒááºáá¡áááá¬ááºáá»á¬ážááᯠáá»áááºáááºááŒááºážáááºááŒá áºáááºá áááºááẠClickHouse ááœáẠáá¶áá«ááºáá»á¬ážáá±ážááá¯ááºááŒá®áž ááá·áºá¡ááœáẠá¡áááºááŒá±ááá·áº áááºááá·áºá áá áºááœááºáááᯠááá·áºáááºážááœáŸááºáá»á¬ážááᯠááááºážáááºážááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠMySQLá Mongoá Postgres ááá¯áá¯á¶ážááá¯ááºáááºá http ááŸáá áºááá·áº á€áá±áá¬ááᯠáá±ážááá¯á·ááá·áº áááºáááá¯ááºááá¯áẠmicroservice ááá¯ááẠáááºáá®ážááá¯ááºáááºá ClickHouse á¡ááá·áºááœáẠáááºááẠá€áá±áá¬ááᯠáá¶áá«ááºáá»á¬ážá០á á¬ááŒá±á¬ááºážáá»á¬ážá¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²áá±ážááá·áº áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯ááᯠáá±ážáá«á
áááºážááẠááŒááºáááá¬ážáá áºáá¯áá±á«áºááœáẠáá«áááºááŒááºážááᯠáá¯ááºáá±á¬ááºááẠá¡áá°ážááŒá¯áá±á¬áºáááºáž á¡ááœááºáááá±á¬ááºáá±á¬áááºážáááºážááŒá áºáááºá ááŒá®ážáá±á¬á· ááœá±ážáá»ááºá áᬠááŸá áºáá¯ááŸááááºá áá áºáá¯ááºáá¯á¶ážááœááºá á€áá±áá¬ááᯠáá¯á¶ážá áááºááŸáºáá¯ááºáááºááŒá áºááŒá®áž RAM ááœáẠá¡ááŒáá·áºá¡ááá«áááºááŒá®áž ááŒáááºááŸá¯ááºážá¡áá»áá¯á·ááŒáá·áº á¡ááºááááºáá¯ááºáááºááŒá áºáááºá á¡ááŒá¬ážááœá±ážáá»ááºá áá¬áá áºáá¯á¡áá±ááŒáá·áºá á€áá±áá¬ááẠRAM ááœááºáááá¯ááºáá®áá«áá áááºážááá¯áá áºá áááºáá áºááá¯ááºáž cache áá¯ááºááá¯ááºáááºá
áá«á á¥ááá¬áá áºáá¯áá«á Yandex.Direct ááŸááá«áááºá ááŒá±á¬áºááŒá¬áá¯áá¹ááá®áá áºáá¯ááŸáá·áº ááá°ážá ááºážáá»á¬ážááŸááááºá ááŒá±á¬áºááŒá¬áá¯áá¹ááá®áá±á«ááºáž áááºážáááºááááºážáá±á¬ááºááŸááááºáááºáááºá áááºážááá¯á·ááẠRAM ááœááºá¡ááŒááºážáá»ááºážá¡á¬ážááŒáá·áºááá¯ááºáá®áááºá áá®áá®áá¶áá»á®áá²á· ááá°ážá ááºážááœá±ááŸááááºá á¡á²áá«ááœá±á á¡áááºáááŒá±áá°ážá áá»áœááºá¯ááºááá¯á·ááẠMySQL á០ááááºážáááºážáá¬ážáá±á¬ á¡áááá¬ááºááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
áá áºáá¯áááºážáá±á¬ááŒá¿áá¬ááŸá¬ áááºááŸáºá¡áááá¬ááºááẠ100% áá®ážáá®ážááŒá áºáá»áŸáẠhit rate ááẠáá±á¬ááºážááœááºáá«áááºá áááºážááẠáá±ážáááºáá«áá data batch áá áºáá¯á á®á¡ááœáẠqueries áá»á¬ážááᯠáá¯ááºáá±á¬ááºáá±á¬á¡áá«á áááºááẠá¡ááŸááºááááºááœáẠáá»á±á¬ááºáá¯á¶ážáá±áá±á¬áá±á¬á·áá»á¬ážááá¯áá°á MySQL ááŸáá±áá¬ááᯠááá°ááááºááŒá áºáááºá ClickHouse á¡ááŒá±á¬ááºážá áá»áœááºá¯ááºá¡á¬ááá¶ááá¯ááºáá²ááŒá áºááẠ- áá¯ááºáá²á·á ááŸá±ážááœá±ážáááºááá¯ááºáá«á á¡ááŒá¬ážá áá áºáá»á¬ážá¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááŒá±á¬áááºááá¯ááºáá«á
ááá¯á·á¡ááŒáẠáá±á¬áááºá áºá¡áá±ááŒáá·áºá á¡áááá¬ááºáá»á¬ážááẠClickHouse ááœáẠáá±áá¬ááᯠáá±á¬ááºááŒá±á¬ááºážááŒááºááœááºážáá¶ááẠá¡ááœááºááœááºáá°áá±á¬áááºážáááºážááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ ááá·áºááœáẠááŒá±á¬áºááŒá¬áá¯áá¹ááá®áá»á¬ážááá¯ááºáᬠá¡á á®áááºáá¶á á¬áá áºáá¯ááŸááá«áááºá á¡áá¯á¶ážááŒá¯áá°ááẠááŒá±á¬áºááŒá¬áá¯áá¹ááá®ááᯠááá¯ážááŸááºážá áœá¬ááŒá±á¬ááºážáá²ááŒá®áž áá±áá¬áá±á¬ááºážáá»á¬ážá¡á¬ážáá¯á¶ážááœááºá á¡á á®áááºáá¶á á¬á¡á¬ážáá¯á¶ážááœáẠá€áá±áá¬áááºáááºáž ááŒá±á¬ááºážáá²ááœá¬ážáá«áááºá á¡áááºážáá»á¬ážááᯠááá¬ážááœáẠááá¯ááºááá¯ááºáá±ážáá«á áááºážááá¯á·ááᯠá¡ááºááááºáá¯ááºááẠáááŒá áºááá¯ááºáá«á
ááá·áºá á¬ááŒá±á¬ááºážáá»á¬ážá¡ááœáẠidentifiers áá»á¬ážááᯠáááºááá·áºáá±áá¬ááœáẠááá°ááááºááᯠáááááá·áºá¡áá« áá±á¬ááºáá áºáááºážá ááá¯ážááŸááºážá áœá¬ hash ááá¯ááºáááºá ááá¯á·á¡ááŒááºá á¡ááá¯ážááŸááºážáá¯á¶ážááœá±ážáá»ááºááŸá¯ááẠ64-bit hash ááá¯áá°áááºááŒá áºáááºá
áá áºáá¯áááºážáá±á¬ááŒá¿áá¬ááŸá¬ hash ááẠ64-bit ááŒá áºáá«áá áááºááẠcollision áá»á¬ážáá±áá»á¬áá±á«ááºáá®ážáá«ážááŒá áºáááá·áºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ááá¯áá±áá¬ááœáẠááá¯ááºážáá áºáá®áá®áá¶ááŸááá±áá«á ááŒá áºááá¯ááºááŒá±ááẠáááá¬áááºááŸá¬ážáá±ááŒá®ááŒá áºáááºá
ááŒá±á¬áºááŒá¬áá¯áá¹ááá®áá»á¬ážáá¡áááºáá»á¬ážááᯠá€áááºážááŒáá·áº áá»ááºááŒááºážááẠá¡ááœááºáá±á¬ááºážáááºááá¯ááºáá±á ááá°ááœá²ááŒá¬ážáá±á¬ áá¯áá¹ááá®áá»á¬ážá ááŒá±á¬áºááŒá¬áááºááááºážáá»á¬áž áá±á¬ááœá±ážáá±áá«áá áá¬ážááááºááá¯ááºáá±á¬ á¡áá¬áá áºáᯠááŒá áºáá¬áááá·áºáááºá
ááá¯ážááŸááºážáá²á·ááŸáá·áºááœááºáá áºáá¯ááŸááá«áááºá ááŸááºáá«áááºá áááºážááẠáá±ážáááºáá±á¬áá±áá¬á¡ááœááºáááºáž áááá·áºáá»á±á¬áºáá±á¬áºáááºáž áá áºá á¯á¶áá áºáá¬ááẠá¡ááœááºáá±ážáááºááŒááºážáááŸááá«áá client identifier ááᯠá¡áááá¬ááºáá®ážáá²ááá¯á· ááá·áºááá¯ááºáá¯á¶áá«áá²á ááá¯á·áá±á¬áẠááá·áºááœáẠááá¯ááºááááŸá¯áá»á¬áž ááŸááááá·áºáááºá ááá¯á·áá±á¬áº client áá áºáá¯á¡ááœááºážáᬠááŒá áºáááºá Yandex.Metrica ááŸá ááá·áºááºááŒá±áá¯á¶áá»á¬ážá¡ááœáẠá€áááºážáááºážááᯠáá»áœááºá¯ááºááá¯á· á¡áá¯á¶ážááŒá¯áá«áááºá áá»áœááºá¯ááºááá¯á·ááœáẠURL áá»á¬ážááŸáááŒá®ážá hash áá»á¬ážááᯠááááºážáááºážáá«áááºá ááŒá®ážáá±á¬á· ááá¯ááºáááá¬ááœá±áááºáž ááŸááááºááá¯áᬠáá»áœááºáá±á¬áºááá¯á· áááá«áááºá ááá¯á·áá±á¬áº á á¬áá»ááºááŸá¬ááá¯ááŒáááá·áºá¡áá«á áá¯á¶ážá áœá²áá°áá áºáŠážá á á¬áá»ááºááŸá¬áá áºáá¯ááœáẠá¡áá»áá¯á·áá±á¬ URL áá»á¬ážááẠá¡áá°ááᜠáááºáá±ááŒá®áž áááºážááᯠáá»á áºáá»á°ááŸá¯áá¬ážááá¯ááºáááºááᯠáááááŒá¯áááááºááŒá áºáááºá
áá±á¬áááºá áºá¡áá±ááŒáá·áºá áá¯ááºáá±á¬ááºáá»ááºá¡áá»á¬ážá¡ááŒá¬ážá¡ááœáẠhash áá áºáá¯áááºážááẠáá¯á¶áá±á¬ááºááŒá®áž ááŒáá¯ážáá»á¬ážááᯠáááºááá·áºáá±áá¬ááœááºá០ááááºážáááºážáááºáááá¯á¡ááºáá«á
á¡ááŒá¬ážá¥ááá¬ááŸá¬ á á¬ááŒá±á¬ááºážáá»á¬ážááẠááá¯áá±áá»áŸáẠá¥ááá¬á áááºááá¯ááºááá¯ááááºážáá»á¬ážá áááºážááá¯á·ááᯠááááºá¡ááá¯ááºáž ááááºážáááºážááá¯ááºáááºá ááá¯á·ááá¯áẠá¥ááá¬á ááá±á¬ááºáá¬áá¬áá¬á áá¬áž ru ááẠ2 bytes ááŒá áºáááºá áá¯ááºáá«áááºá áá«ááááºááᯠbytes á¡ááœáẠá áááºááá±á¬ááºážáá«áá°ážá áá«áá±ááá·áº á áááºááá°áá«áá²á·á 2 bytes á ááá¬ážá áá¬ááá¯ááºáá«áá°ážá áá»á±ážáá°ážááŒá¯ááŒá®áž áá®á¡ááá¯ááºážáá¬ážááá¯ááºáá«á á áááºááá°áá«áá²á·á
áá±á¬ááºáá áºáá»ááºááŸá¬á ááá·áºáá»ááºáááºááœááºá ááá¯ááºážáá»á¬ážá áœá¬ááŸáááŒá®áž áááºážááá¯á·ááœáẠáá°ážáá°ážááŒá¬ážááŒá¬ážáá»á¬ážá áœá¬ áá«áááºáá±áá»áááºááŒá áºááŒá®áž á¡á á¯á¶áááºááẠá¡ááá·áºá¡áááºáááŸáááá¯ááºáá»á±ááŸááááºá áá¯á¶ááŸááºá¥ááá¬áá áºáá¯ááẠááŸá¬ááœá±ááŸá¯á á¬ááá¯ááºááá¯áá»á¬áž ááá¯á·ááá¯áẠURL áá»á¬ážááŒá áºáááºá á¡ááŸá¬ážá¡ááœááºážáá»á¬áž á¡áá«á¡ááẠá áá¬ážá á¯áá»á¬ážááᯠááŸá¬ááœá±áá«á áá áºáá±á·áá»áŸáẠáá°ážááŒá¬ážáá±á¬ ááŸá¬ááœá±ááŸá¯ á áá¬ážáá¯á¶áž áááºáá»áŸááŸááááºááᯠááŒáá·áºááŒáá«á áá¯á·á áááºážááá¯á·ááẠááŒá áºáááºá¡á¬ážáá¯á¶ážá áááºáááºáá®ážáá«ážááŒá áºááŒá±á¬ááºáž ááœááºáá±á«áºáá¬áááºá á€ááá á¹á ááœááºá áááºááẠáá±áá¬ááᯠáá¯á¶ááŸááºááŒá áºá á±áááºá ááœá²ááŒá¬ážáááºááŸááºááŸá¯áá»á¬ážááᯠáá±ááœááºáᬠáá®ážááŒá¬ážááá¬ážáá áºáá¯á ááá·áºáá¬ážááẠááá¯á¡ááºáááºáᯠáááºáá°áááá¯ááºáááºá áá«áá±ááá·áº áááºážá¡á²ááá¯áá¯ááºááá¯á· áááá¯áá«áá°ážá áá®ááá¯ááºážááœá±ááᯠáá°ááá¯á·á¡ááá¯ááºážáá² áá¬ážááá¯ááºáá«á
áá¬ááá¯á០ááá®ááœááºáᬠááá¯áá±á¬ááºážáá«áááºá áá¬ááŒá±á¬áá·áºáá²ááá¯áá±á¬á· áááºá áá®ážááŒá¬áž ááááºážáááºážáá¬ážááẠJoin áá¯ááºááá¯á· ááá¯áá«áááá·áºáááºá ááŒá®ážáá±á¬á· áá® Join á Memory áá²ááŸá¬ á¡áááºááŒá±áá±áá±ážááẠMemory ááᯠáá»áááºážáááºáá±á¬ááºááœáá·áºáá«áá²á á¡áááºáááŒá±ááẠááŒá¿áá¬ááŸááá¬áááºá
á¡áááºá áá±áá¬ááᯠáá±áá¬ááœáẠááááºážáááºážáá¬ážáá«á áááºážááᯠááá¯ááºá áá áºá០ááá¯á¡ááºáá±á¬ á¡á á®á¡á á¥áºá¡ááá¯ááºáž áááºááŸá¯ááá¯ááºááŒá®áž á¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±áá«áááºá
ááá·áºááœáẠURL áá»á¬áž ááá¯á·ááá¯áẠá¡ááŒá¬ážááŸá¯ááºááœá±ážáá±á¬ ááŸááºáá»á¬ážáá±á¬á á¬ááŒá±á¬ááºážá¡áá»áá¯á·ááŸááá«áá áá¯ááºáá°ááŸá¯á¡áá»áá¯á·ááᯠááŒáá¯áááºááœááºáá»ááºááŒá®áž áá®ážááŒá¬ážáá±á¬áºáá¶áá áºáá¯ááœáẠáá±ážááá¯ááºáááºááᯠááá·áºááœááºážá ááºážá á¬ážááá·áºáááºá
á¥ááá¬á URL áá»á¬ážá¡ááœááºá áááºááẠááá¯ááááºážááᯠáá®ážááŒá¬áž ááááºážáááºážááá¯ááºáááºá á¡áááºá áááºááẠááá¯ááááºážáá áºáᯠá¡ááŸááºáááẠááá¯á¡ááºáá«áá ááá¯á·áá±á¬áẠá€áá±á¬áºáá¶ááᯠá¡áá¯á¶ážááŒá¯áá«á URL áá»á¬ážááẠááá¯áá±áá¬ááœáẠááŸááá±áááºááŒá áºááŒá®áž áááºážááá¯á·ááᯠáááºááẠááááá±á¬á·áá«á
áá¬ááœá¬ááŒá¬ážáá² ááŒáá·áºáá¡á±á¬ááºá ClickHouse ááœáẠááá¯ááááºážááᯠááœááºáá»ááºááá·áº á¡áá°ážááŒá¯áá¯ááºáá±á¬ááºáá»ááºáá áºáᯠááŸááááºá á¡ááœááºááŒááºáááºá áá»áœááºá¯ááºááá¯á· áááºážááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážáá«áááºá ááá¯ážááá¯ážáá¬ážáá¬ážááŒá±á¬áááẠRFC áá²á·áá±á¬áẠáááá¯ááºáá»á±á¬áá«áá°ážá áá«áá±ááá·áº áá«ááá¯á·ááá¯á¡ááºáá¬ááŸááºááá»áŸááᯠááá·áºááœááºážá ááºážá á¬ážáááºá
ááá á¹á áá áºáá¯ááœáẠáá»áœááºá¯ááºááá¯á·ááẠURL áá»á¬ážááᯠááá¯ážááŸááºážá áœá¬ááá°ááŒá®áž ááá¯ááááºážááᯠááœááºáá»ááºáááºááŒá áºáááºá áááºážááẠ166 áá®áá®á áá¹ááá·áºá¡áá á¡áá¯ááºáá¯ááºáááºá á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ ááá¯ááááºážáá áºáá¯ááᯠáááºáá°áá«áá áááºážááẠ67 áá®áá®á áá¹ááá·áºáᬠááŸááááºá ááá¯ááá¯áááºááŸá¬ áá¯á¶ážááá®ážáá«áž ááá¯ááŒááºáááºá áá»áœááºá¯ááºááá¯á·ááẠááœááºáá»ááºááŸá¯áá»á¬áž ááŒá¯áá¯ááºááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº ááá¯ááºáá² áá±áᬠáá»áŸá±á¬á·áááºááŒááºážááŒá±á¬áá·áº ááá¯ááá¯ááŒááºáááºáá«áááºá
ááá¯á·ááŒá±á¬áá·áº áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááẠááá¯ááŸá±ážáá±á¬ááŒá±á¬áá·áº áá áºá áá¹ááá·áºáá»áŸáẠáá áºáá«ááá¯ááºá¡ááŒááºááŸá¯ááºáž ááá¯áá»á¬ážáááºá áá áºáá«ááá¯áẠááá¯áááºáá²á·á¡ááœááºááŒá±á¬áá·áºáá«á áá«á áá¯á¶ážááááá¯á¡ááºáá²á· data áá«á áá±á¬ááºážááá¯áá»ááºááẠááá¯ááá¯ááŒááºáááºáá±áá¯á¶ááá±á¬áºáááºáž á¡ááŒá®ážáááºááẠá¡áá»áááºááá¯ááŒá¬áá«áááºá
áá áºááºáá±á«áºááŸá áá±áá¬ááá¬áááá¯ááŒáá·áºáá»áŸáẠURL ááẠ126 megabytes ááŒá áºááŒá®áž domain ááẠ5 megabytes áá¬ááŸááááºá 25 áááá¯áááºážáááºá áááºááá¯á·áááºááá¯á á±áá¬áá°á áá±á¬ááºážááá¯ááŸá¯ááẠá ââáááá¯ááá¯ááŒááºáááºáááºá áá«âáá±ááá·áºâ Data á áá°âáá±ááá¯á·áá«á á¡á±ážáá±áá«áá disk I/O ááŒá±á¬áá·áº 4 á ááá¯ááŒááºááá¯ááºááẠá
á áá¬ážáá ááºá ááá¯ááááºážáá áºáá¯ááẠURL áá áºáá¯áááºáááºáá»áŸáá±ážáááºáááºááᯠááá·áºááŸááºážáá«áá áááºážááẠ4 áááá·áº áá±ážáááºááœá¬ážáá«áááºá ááá¯á·áá±á¬áº á¡ááŒá±á¬ááºážá¡áá»áá¯ážáá»áá¯ážááŒá±á¬áá·áº áá±áá¬ááẠáá áºááºáá±á«áºááœáẠ25 á ááá¯áááºážáá«áááºá á¡áááºááŒá±á¬ááºá·? ááŸáááºááŒááºážááŒá±á¬áá·áºá URL ááᯠáá»á¯á¶á·áá¬ážááŒá®ážá ááá¯ááááºážááᯠáá»á¯á¶á·áá¬ážáááºá ááá¯á·áá±á¬áº áááŒá¬áá URL ááœáẠá¡ááŸáá¯ááºáá»á¬ážá áœá¬áá«ááŸááááºá
á¡ááŸááºáá±á¬á·á ááá¯áá»ááºáá±á¬áááºááá¯ážáá»á¬áž ááá¯á·ááá¯áẠááá·áºáá»á±á¬áºáá±á¬ á¡áá°ážááŒá¯áá¯ááºáá¬ážáá±á¬ ááŸááºáááºáá±á¬áá±áá¬á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááẠáá±ážáá±á¬ááºááááºááŒá áºáá«áááºá IPv4 ááœááºááŸááá±áá«á UInt32* ááᯠááááºážáááºážáá«á IPv6 ááŒá áºáá«á FixedString(16) ááẠIPv6 ááááºá á¬ááẠ128 bits ááŒá áºáá±á¬ááŒá±á¬áá·áºá ááá¯ááá¯áááºááŸá¬ binary áá±á¬áºáááºááŒáá·áº ááá¯ááºááá¯ááºááááºážáááºážáá¬ážáááºá
ááá¯á·áá±á¬áº áá áºáá«áá áºáá¶ááœáẠááá·áºááœáẠIPv4 ááááºá á¬áá»á¬ážááŸáááŒá®áž áá áºáá«áá áºáá¶ááœáẠIPv6 ááŸááá»áŸááºáá±á¬á áá¯ááºáááºá ááŸá áºáá¯áá¯á¶ážááᯠááááºážááá¯á·ááááºá IPv4 á¡ááœáẠáá±á¬áºáá¶áá áºáá¯á IPv6 á¡ááœáẠáá±á¬ááºáá áºáá¯á áá¯ááºáá«áááºá IPv4 ááᯠIPv6 ááŸá¬ááŒáááá¯á·ááœá±ážáá»ááºá áá¬áá áºáá¯ááŸááá«áááºá áááºážáááºáááºáž á¡áá¯ááºááŒá áºááá¯ááºáá±á¬áºáááºáž áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááœáẠIPv4 ááááºá á¬ááᯠáááŒá¬áá ááá¯á¡ááºáá«áá áááºážááᯠáá®ážááŒá¬ážáá±á¬áºáá¶áá áºáá¯ááœáẠááá·áºáá¬ážááŒááºážá áá±á¬ááºážááœááºáá«áááºá
* ááᯠClickHouse ááœáẠáá®ážááŒá¬áž IPv4á IPv6 áá±áá¬á¡áá»áá¯ážá¡á á¬ážáá»á¬áž ááááºážááááºážáá»á¬ážáá²á·ááá¯á· áááá±á¬ááºá áœá¬ ááááºážáááºážáá¬ážáá±á¬áºáááºáž áááºážááá¯á·ááᯠá á¬ááŒá±á¬ááºážáá»á¬ážáá²á·ááá¯á· á¡áááºááŒá±á áœá¬ ááá¯ááºá á¬ážááŒá¯áá«áááºá
áá±áá¬ááᯠááŒáá¯áááºáá¯ááºáá±á¬ááºááŒááºážááẠáááºááá¯ážááŸáááŒá±á¬ááºážááá¯áááºáž áááááŒá¯ááẠá¡áá±ážááŒá®ážáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠá¡áá»áá¯á·áá±á¬ áá¯ááºááŒááºážááŸááºáááºážáá»á¬ážááᯠáááºáá¶áááŸáááẠá áááºážááá¯á·ááᯠClickHouse ááœáẠáá»ááºáá»ááºážáááá·áºááá·áºáá²á áááºážááẠáá¬ááŸááá¯ááºááẠá¡ááœááºááœá±ážáá±á¬ááºáá±ááŒá®áž á¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±ááœá¬ážáááºááŒá áºáááºá áá«áá±ááá·áº ááŒá áºááá¯ááºáá»á±ááŸááá²á· ááœááºáá»ááºááŸá¯ááœá±ááᯠáá¯ááºáá±á¬ááºááá¯á· ááá¯ááºáááºáá«áááºá
á¥ááá¬á browser áá¬ážááŸááºážá áááºááá¯ážááá¯ážáááŒáá»ááºáá±á¬ á¡áá®ážáá¬ážáá¬áá¡áá»áá¯á·ááœááºá ááá±á¬ááºáá¬áá¬ážááŸááºážááᯠá€áá²á·ááá¯á· ááááºážáááºážáá¬ážáááºá ááá¯ááá¯áááºááŸá¬ á á¬ááŒá±á¬ááºáž- 12.3 ááŒá áºáááºá ááá¯á·áá±á¬áẠá¡á á®áááºáá¶á á¬áá áºáá¯ááŒá¯áá¯ááºáááºá áááºážááá¯á·ááẠá€á á¬ááŒá±á¬ááºážááá¯áá°á áááºážááᯠáááºážáá»ááºážáá áºáá¯á¡ááŒá Ạááá¯ááºážááŒá¬ážáᬠarray ááááááŒááºá ááºááá¯á· áá±á¬ááºááŸááá¬áááºá áá¯á¶ážá á¶á¡ááá¯ááºáž á¡áá¬á¡á¬ážáá¯á¶áž ááŸá±ážááœá±ážááœá¬ážááẠá áá¬ááá¯á·áá®ááá¯áá¯ááºáá¬áá²ááá¯á·áá±ážáááºá á¡áá»áááºááááºáá® ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºááŒááºážááᯠáááŒáá¯ááºááŒá±á¬ááºáž áá°ááá¯á·á áá»áœááºá¯ááºááᯠááŒá±á¬áá²á·áááºá ááŒá®ážáá±á¬á· á¡áá»áááºááááºááẠá¡ááá¯ážááŒááºáá¬ááᯠáááŒáá¯ááºáá°ážá
ááá¯á·ááŒá±á¬áá·áº á€ááá á¹á ááœáẠáá±á¬áºáᶠ4 áᯠááœá²ááŒááºážááẠááá¯ááŸááºáááá·áºáááºá á€áá±áá¬ááœáẠClickHouse ááŒá áºáá±á¬ááŒá±á¬áá·áº áááŒá±á¬ááºáá«ááŸáá·áºá ClickHouse ááẠcolumnar database áá áºáá¯ááŒá áºáááºá áá±á¬áºáá¶áá±ážááœá± ááá¯áááºáááºáá±áá± ááá¯áá±á¬ááºážáá±áá«áá²á BrowserVersion 5 áá¯ááŸááááºááŒá áºááŒá®áž áá±á¬áºáᶠ5 áá¯áá¯ááºáá«á áá«áá¡áááºááŒá±áá«áááºá
ááá·áºááœáẠá¡ááœááºááŸááºáá±á¬ ááŒáá¯ážáá»á¬ážá á¡ááœááºááŸááºáá±á¬ arrays áá»á¬ážááŸááá«á áá¬áá¯ááºááááºááᯠááŒáá·áºááŒáá«á áá¯á·á áááºážááá¯á·ááᯠClickHouse ááœáẠáá¯á¶ážáááááºážáááºážááẠáááá¯á¡ááºáá«á áááºážá¡á á¬ážá áááºááẠClickHouse ááœáẠidentifier áá áºáá¯ááá¯áᬠááááºážáááºážááá¯ááºáááºá ááŒá®ážáá±á¬á· áá®ááŸááºáá»á¬ážáá²á· ááá¯ááºážááœá±ááᯠáááŒá¬ážá áá áºáá áºáá¯ááŸá¬ ááá·áºááá¯ááºáá«á
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·á ááœá²ááŒááºážá áááºááŒá¬ááŸá¯áááºáá±á¬ááºááŸá¯áá»á¬ážáá²á០áá áºáá¯ááẠááŒá áºáááºááá·áºáááºáá»ááºáá»á¬ážááŸááááºá á¡áááºá ááŒá áºáááºáá»á¬ážá¡ááœáẠááá·áºáááºáá»ááºáá»á¬ážáá»á¬ážá áœá¬ááŸááá±áá«áá áá»áœááºá¯ááºááá¯á·ááẠááááá¯á¶ážááœá±á·áá±á¬ 512 ááᯠááá¯ážááŸááºážá áœá¬ ááááºážáááºážáá¬ážáááºááá¬ááŒá±á¬áá·áºáá²ááá¯áá±á¬á· 512 áᬠááá¬ážá áá¬ááá¯ááºáá«áá°ážá
áááºá áá±áá¬á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠáááºááá¯á¶ážááŒááºááá¯ááºáá«á ClickHouse ááœáẠáá±áá¬áá»á¬ážááᯠáááºááŸááºáááºážáááºááá¯ááºáá±á¬áºáááºážá áá¬áá®áá±áá¬á¡ááœáẠá¡áá°ážáá®ážááá·áºááŒá áºáá±á¬ Log á¡áá»áá¯ážá¡á á¬ážá áá¬áá®ááá¬ážáá áºáá¯ááŒá áºáááºá áááºážáá±á¬ááºááœááºá ááá·áºááœááºááŸááá±ááá·áºáááºááá¯ážáá»á¬áž ááŒáá·áºááŒá°ážááŸá¯á áá±áá¯áá»á¡á¬ážááŒáá·áº áááºááá·áºá¡áá¬áá»á¬ážááᯠááœá²ááŒááºážá áááºááŒá¬ááá¯ááºááŒá®áž ááŸááºáááºáá±á¬á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠáááºáá®ážááá¯ááºáááºá
* ááᯠClickHouse ááœáẠáá±áá¬á¡áá»áá¯ážá¡á
á¬ážáá
áºáá¯ááŸááááºá
á¡áᯠáá±á¬ááºááẠá áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á· ááá á¹á áá áºáá¯ááᯠááŒáá·áºáá¡á±á¬ááºá áá áºáá«ááá±ááŸá¬ áá°ááœá±á¡ááœáẠáá°ážáá°ážááŒá¬ážááŒá¬áž á¡áá¯ááºááœá± áá¯ááºáááºá áá«áááºáá¬ááŒá®áž áá«ááá¯ááŒáá·áºáááºá MySQL áá¬ážááŸááºáž 3.23 ááᯠá áááºáááºááŸááºáá¬ááœáẠá¡ááœá±á·á¡ááŒá¯á¶áá»á¬ážá áœá¬ááŸáááá·áº á¡ááœá±á·á¡ááŒá¯á¶ááŸáá á áááºáá»áá±á¬ á á®áá¶ááá·áºááœá²áá°á¡áá»áá¯á·á áááºážááᯠáá»ááºáá»ááºážáá¯ááºáá±á¬ááºááœá¬ážáá¯á¶ááááºá
á€ááœáẠááá¬ážáá áºáá±á¬ááºááá¯ááœá±á·ááŒááºáááŒá®áž áá»ááºáá áºáá±á¬ááºááá¯áááºáá°ááááá¯ááºáááºááᯠááá¯ááºážááŒá¬ážá ááŸááºáááºážáááºáá¬ážáááºá
á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá á€á¡ááœá±á·á¡ááŒá¯á¶ááŸáááá·áº áááŸáááá¯ááºáá±á¬ áááºážáá²áá¯áá¹ááá»á¬ážááᯠáá¬ážáááºááŸá¯ á¡áá«á¡ááẠá¡ááŒá¬ážáá°áá»á¬ážá á¡ááœá±á·á¡ááŒá¯á¶ááᯠáá±ážá á¬ážáá«áááºá
ááŒá®ážáá±á¬á· á¡ááŒá±á¬ááºážááŒáá»ááºááœá±á á¡áááºážáá²á·á¡áá»á¬áž ááŸááºážáá«áááºá áááºážááá¯á·ááẠá¡ááŒá¬ážá áá áºáá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºá ááºááœáẠá á¯áá±á¬ááºážáá¬ážááá¯ááºááá·áº áá¯á¶á á¶áá±á¬ááºážáá»á¬ážááŒá áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá MyISAM ááá¬ážáá»á¬ážááœáẠá¡á á¯ááá¯ááºááŒá¯áá¯ááºáá¬ážáá±á¬ á¡ááááá±á¬á·áá áºáᯠáááŸááá«á áá±áá¬ááœá²áá±ááŒááºážáááºážáááºážááẠáá°áá®áá±á¬áá¯ááºáá±á¬ááºááá¯ááºá áœááºážááá¯áááŸáááẠá¡áááºážá¡áááºááŒáá¯ážá á¬ážááŸá¯ááŒá áºááá¯ááºáááºá
áá±á¬ááºááá»ááºááá±á¬á· á á¬ážááœá²ááŒá®ážááœá±ááŸá¬ á¡ááŒá±á¬ááºážá¡áá²áá¯ááºááᬠáááºáá²áá¬ááŒá±á¬áá·áºáá«á á¡á¬ážáá¯á¶ážááááºááá¯á·ááœá¬ážáááá·áºáááºá MySQL á áá±ááºáá®áá¬ážááŸááºážáá»á¬ážááœáẠá€ááŒá¿áá¬ááẠá¡ááœááºááŒááºážáááºáá±á¬á·áááºááá¯ááºáá±á
ááá¯á·ááá¯áẠá¥ááá¬á microshardingá áá«áá±ááá·áº áá±á¬ááºááá¯ááºážááŸá¬ á¡á²áá«ááᯠááá¯áá¯ááºáá«á
ClickHouse ááœáẠáááºážááá¯áá¯ááºáá±á¬ááºáááºáááá¯á¡ááºáá«á á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áºá ááááŠážá áœá¬á á¡ááááá±á¬á·ááᯠá¡á á¯ááá¯ááºá¡ááŒá¯á¶ááá¯áẠááŒá¯áá¯ááºáá¬ážáá±á¬ááŒá±á¬áá·áº áá±áá¬ááᯠá¡ááááá±á¬á·ááŒáá·áº á á®á á áºáá¬ážáá«áááºá
áá áºáá«áá áºáá¶ááœáẠáá°áá»á¬ážá áá»áœááºá¯ááºá¡á¬áž áá±ážááŒáááº- "ClickHouse ááŸá á¡ááá¯ááºážá¡ááŒá¬ážáá±ážááœááºážáá»á¬ážá á áœááºážáá±á¬ááºáááºááẠááá¬ážá¡ááœááºá¡á á¬ážáá±á«áº áá°áááºá áááºááá¯á·ááœá¬ááŒá¬ážááááºážá áá¯á¶ážá áááŒá±á¬ááºážáá²áá°ážááá¯á· ááŒá±á¬áá¬áá«á á¥ááá¬á¡á¬ážááŒáá·áºá ááá·áºááœáẠá¡áááºážáá áºáá®áá®áá¶ááŸááá±á¬ ááá¬ážáá áºáá¯ááŸáááŒá®áž á¡áááºážáá áºáááºážáá¡ááœá¬á¡áá±ážááᯠáááºáááºáá«á á¡á¬ážáá¯á¶ážá¡áááºááŒá±áááºá ááá¬ážáá áºáá¯ááœáẠá¡áááºážáá áºááá®áá®áá¶ááŸáááŒá®áž á¡áááºážáá áºáááºážáááºáá«áá áááºážááẠá¡áá°áá°áá®ážáá«ážááŒá áºáááá·áºáááºá
áá¯áááá¡áá±ááŸáá·áºá manual partitions áá²á·ááá¯á·áá±á¬ á¡áá¬á¡á¬ážáá¯á¶ážááᯠáááá¯á¡ááºáá«á ááá¯ááºá áá áºááŸá¬ áá¬ááœá±áá«áá²ááá¯áá¬ááᯠáááºááŒáá·áºááá¯ááºááẠááá¬ážá áá±á¬áºáá±á¬áºááŒá®ážáá¬ááᯠááœá±á·ááá«áááá·áºáááºá ááŒá®ážáá±á¬á· á¡áá²ááŸá¬ partitions ááá¯áá»áá¯áž áá áºáá¯áá¯ááŸááááºá ááá¯ááá¯áááºááŸá¬ ClickHouse ááẠááá·áºá¡ááœáẠá¡áá¬áá¬ááá¯ááºážááᯠáá¯ááºáá±á¬ááºáá±ážááŒá®áž áááºáá¯áá¹ááá¶ááẠáááá¯á¡ááºáá«á
ClickHouse ááœáẠAlter ááẠáá±á¬áºáá¶áá±á«ááºážááá·áº/áá»áá±ážáá»áŸáẠá¡ááá²á·ááŒá áºáááºá
á á¬ážááœá²á¡áá±ážáá±ážáá»á¬áž áááŒá¯áá¯ááºááá·áºáá« á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ááá·áºááœáẠá á¬ážááœá²áá áºáá¯ááœáẠá¡áááºáž 10 áááºáž ááá¯á·ááá¯áẠ10 áááºážááŸááá«á áááºážááẠá¡áá±ážáááŒá®ážáá«á ClickHouse ááẠlatency ááá¯ááºáá² throughput ááᯠá¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠááŒá¯áá¯ááºáá±ážááá·áº á áá áºááŒá áºáá±á¬ááŒá±á¬áá·áº ááá¯ááºáž 000 áá¯ááᯠáá¯ááºáá±á¬ááºááẠá¡áááá¹áá«ááºáááŸááá±á
á á¬ážááœá²ááŒá®ážáá áºáá¯á¶ážááᯠáá¯á¶ážáá¬ááŸááºáááºá áá¯á¶á á¶áá±á¬ááºážáá»á¬ážááᯠáááºááŸá¬ážááá¯ááºáá«á á¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±ááœá¬ážááŸá¬áá«á
áá±á¬áááºá áºá¡áá±ááŒáá·áºá ááá¯áá±á¬ááºáá¯á¶ážááœááºáá¬ážááŸááºážááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá áºáŠážáá»ááºážá á® partitions áá»á¬ážáá±á«áºááœáẠááŒá¯ááŒááºááááºážááááºážááŸá¯ááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºá¡á¬ážáá¯á¶ážááᯠáá¯ááºáá±á¬ááºáááºá¡ááœáẠááááºáááá¯ááœá²ááŒááºážáá±á¬á·áá áºáá¯ááᯠáááºáá®ážááá¯ááºáá«ááŒá®á
á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠááá¬ážáááºáá»á¬ážá áœá¬ ááá¯á¡ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá»áá¯á·áá±á¬ á¡áááºá¡áááºáá±áá¬ááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá±á¬á¡áá«á áááºááẠá¡ááá¯ááºážáá»á¬ážááᯠáááºáá¶áááŸáááŒá®áž áá±á¬ááºáá¯á¶ážááá¬ážááá¯á· ááá±ážáá® áááºážááá¯á·ááᯠá¡ááœááºááŒá±á¬ááºážááẠááá¯á¡ááºáááºá á€ááá á¹á á¡ááœááºá á¡á¶á·ááŒááœááºáá±á¬ááºážáá±á¬á á¬ážááœá²á¡ááºáá»áẠ- StripeLog ááŸááááºá TinyLog áá²á·áá°áááºá ááá¯áá±á¬ááºážáááºá
* ááᯠClickHouse áááºážááŸááá±ááŒá®ááŒá
áºáááºá
áá±á¬ááºáá áºáá»áá¯ážááá±á¬á· microsharding ááŒá áºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠáá±áá¬ááᯠáá»áŸáá±ááẠááá¯á¡ááºááŒá®áž ááá·áºááœáẠáá¬áᬠá áᯠááŸáááŒá®áž ááááºááŒááºááœáẠáá¬áᬠá áᯠááŸááááºááŒá áºáááºá ááŒá®ážáá±á¬á· áá®áá±áá¬ááᯠáááºááá¯ááŒááºáá»áááºááŸááááá²ááá¯áá¬ááᯠáááºá ááºážá á¬ážáá«á áááºážá¡á á¬áž áááºááẠ5 shards áá²ááá¯á·ááá»áá¯ážáá² 6 shards ááá¯á·ááá»áá¯ážáá«á ááá¯á·áá±á¬áẠáááºááẠဠmicroshards áá áºáá¯á á®ááᯠáá®ážááŒá¬ážáá¬áá¬áá áºáá¯ááá¯á· ááŒá±áá¯á¶ááœá²áá«á á¥ááá¬á áá¬áá¬áá áºáá¯ááœáẠClickHouse 5 ááᯠáááºááááá·áºáááºá áá®ážááŒá¬ážááááºáááºážáá»á¬áž ááá¯á·ááá¯áẠáá®ážááŒá¬ážáá±áá¬áá±á·á áºáá»á¬ážááœáẠáá®ážááŒá¬ážááŒá áºáááºáá»á¬ážááᯠááœá²ááŒá¬ážáá«á
áá«áá±ááá·áº ClickHouse ááŸá¬ áá«á ááááºááá±á¬ááºážáá°ážá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ClickHouse instance áá áºáá¯ááẠáá±á¬ááºážááá¯áá»ááºáá áºáá¯ááᯠáá¯ááºáá±á¬ááºááẠáááŸáááá¯ááºáá±á¬ áá¬áá¬áááºážááŒá áºá¡á¬ážáá¯á¶ážááᯠá¡áá¯á¶ážááŒá¯ááẠááŒáá¯ážá á¬ážáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ ááá·áºááœáẠáá¬áá¬áá áºáá»áá¯ážáá»áá¯ážááŸáááŒá®ážá á¥ááá¬á¡á¬ážááŒáá·áºá áááá¯áááºáᬠ56 cores ááŸááááºá áááºááẠáá áºá áá¹ááá·áºááŒá¬áá±á¬ query áá áºáá¯ááᯠáá¯ááºáá±á¬ááºáá±ááŒá®áž áááºážááẠ56 cores ááᯠá¡áá¯á¶ážááŒá¯áááºááŒá áºáááºá á¡áááºá áááºááẠáá¬áá¬áá áºáá¯ááœáẠClickHouse 200 ááᯠááá¯áá±áá¬ááœáẠáá¬ážááŸááá«á 10 threads á áááºáááá·áºáááºááŒá áºáááºá áá±áá°áá»á¡á¬ážááŒáá·áº á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡ááœááºááá¯ážááœá¬ážáá±áá±áááá·áºáááºá
áá±á¬ááºááá»ááºááá±á¬á· áá®á¡ááŒá±á¡áá±ááœá±ááŸá¬ á¡áá¯ááºááœá²áá±ááŸá¯ ááá®ááá¬ááŒá áºáááºá ááá»áá¯á·á á á±á¬á á±á¬ááŒá®ážáááºá ááá»áá¯á·á áá±á¬ááºááŸááŒá®ážáááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááẠá¥ááá¬áá áºáá¯ááœááºááŒá áºáá²á·áá«áá ClickHouse ááá¯ááºááá¯ááºá ááá¯ááºááœá²áá»á¬ážááŒá¬ážááœáẠáá±áá¬ááᯠáááºáá²á·ááá¯á· ááŸááºáááºá áœá¬ ááŒáá·áºáá±ááááºááᯠá¡ááŒá±ááŸá¬ááá¯ááºáááºááŒá áºáááºá
áá±á¬ááºááá»ááºááá±á¬á· TCP ááááá·áº Interprocessor áááºááœááºááŸá¯ ááŸááá¬ááŸá¬ ááŒá áºáá«áááºá áá±áá¬ááᯠá¡ááŸááºá áẠááœá²ááŒá¬ážáá¬ážááááºááŒá áºááŒá®ážá áááºážááẠmicroshards á¡áá»á¬ážá¡ááŒá¬ážááŒá áºáááºá áááááá±á¬ááºáá±á¬áẠá¡áá¯ááºááá¯ááºáá«áá°ážá
á¡ááŒá¬áž antipattern ááá¯áá±ááá·áºáááºáž antipattern ááá¯á· áá±á«áºááá¯á·áááá«áá°ážá áááºážááẠááŒáá¯áááºá á¯á ááºážááŸá¯ ááá¬ááá»á¬ážá áœá¬ááŒá áºáááºá
áá±áá°áá»á¡á¬ážááŒáá·áº ááŒáá¯áááºá á¯á ááºážááŸá¯áá±á¬ááºážáááºá ááá·áºááœáẠá¡áááºážáá áºáá®áá®áá¶ááŸááᬠáá±á«ááºážá ááºážááá¯ááºáᬠáááºážááẠá¡áááºážáá±á«ááºáž 1 ááŒá áºáá¬ááŒá®áž ááá¯áá±ážááŒááºážáá»ááºááᯠáá»ááºáá»ááºážáá¯ááºáá±á¬ááºááœá¬ážáááºááŒá áºáááºá á¡áá¬á¡á¬ážáá¯á¶ážá á¡áááºážáá±á¬ááºážáááºá áá®ááá¯áá¯ááºááá¯á·ááááºá áááºážá¡ááœááºá ClickHouse áááºáá»áŸáẠáá±áá¬ááá·áºááœááºážááá¯ááºáááºááŸáá·áºá¡áá»áŸ ááá¯ážááŒáŸááºáá±á«ááºážá ááºážááŸá¯ááᯠáá¯ááºáá±á¬ááºáá±ážááá·áº AggregatingMergeTree á¡áá°ážááá¬ážá¡áá»áá¯ážá¡á á¬ážáá áºáá¯ááŸááááºá
ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠá€áá²á·ááá¯á·áá±á¬áá±áá¬ááᯠá á¯á ááºážááŒá®áž á€áá²á·ááá¯á·áá±á¬áá±áá¬ááᯠá á¯á ááºážáááºáᯠáááºáááºááá·áºá¡áá»áááºáá»á¬ážááŸááááºá á¡áá»áá¯á·áá±á¬á¡áááºáá®ážáá»ááºážáá¬ááá»á¬ážááœááºá áá»áœááºá¯ááºáááºáááºážáááºáááºááá¯áááŒá±á¬ááá¯áá«á áááºážááá¯á·áááºá¡ááááá±á¬á·ááŒáá·áºá¡áá»ááºážáá»á¯ááºááẠSummingMergeTree ááá¬ážáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááŒá®ážáá±á¬áºáᶠ20 ááá·áºááá¯áá°ááá®ážá¡ááŒá áºá¡áá¯á¶ážááŒá¯áááºá á¡ááŒá±á¡áá±á¡áá áá»áŸáá¯á·ááŸááºáááºá¡ááœáẠáá±á¬áºáá¶á¡áá»áá¯á·áá¡áááºáá»á¬ážááᯠáá»áœááºá¯ááºááŒá±á¬ááºážááá¯ááºáá±á¬áºáááºážá á€áááºááŸá¬ áá±á¬áºáá±á¬áºáá»á¬ážáá«áááºá
ááŒá®ážáá±á¬á· áá®ááá¯ááŒá¿áá¬ááœá± áá±á«áºáá¬áááºá ááááŠážá áœá¬á áááºááá±áá¬ááá¬áááẠá¡ááœááºá¡áá»áœá¶ááá»á±á¬á·áá«á á¥ááá¬á¡á¬ážááŒáá·áºá áááºážáááºáá¯á¶ážááá»á±á¬á·áááºážáááºá ááá·áºáá±áá¬ááᯠáá±á«ááºážá ááºážááá¬ážáá«á ááŒá áºáá±á«áºáá¬ááá·áº á¡ááá·áºá¡áááºáá²á· ááœá²ááŒááºážá áááºááŒá¬ááŸá¯á áœááºážáááºáá»á¬ážááᯠáááºááá¯ááºá á±ááẠáá¯á¶ážáááẠáá±á¬ááºážáá±á¬á á»á±ážááŸá¯ááºážááŒá áºáááºá áá±áá¬áá»á¬ážááᯠá á¯á ááºážáá¬ážáá»áŸáẠááœá²ááŒááºážá áááºááŒá¬ááŸá¯á¡á á¬áž ááá¬ážá áá¬áá±á¬ááºážáá±á¬ á á¬áááºážá¡ááºážáá»á¬ážááá¯áᬠáááŸááááºááŒá áºáááºá
ááŒá®ážáá±á¬á· á¡á²áá«áá²á·áááºáááºááŒá®áž áá¬áá°ážááŒá¬ážáá²á ááááºáá±á¬á· áá®áá°ááœá±áᬠá¡áá®ážáá¬ážáá¬áá ááá«ááᶠááœá¬ážááŒá®áž áááºááá±á¬á·áá²ááᯠáá±á¬ááºáááºáá±á¬áºáá¶áá áºáᯠáááºááá·áºááá¯ááºážáᬠááŒá áºáááºá ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠá€áá²á·ááá¯á·áá±á¬áá±áá¬áá»á¬ážááᯠá á¯á ááºážáá¬ážáá±á¬áºáááºáž ááá¯á¡áá« á¡áááºážáááºááá¯ááá¯áá«áááºá ááá¯á·áá±á¬áº ClickHouse ááœáẠááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ á¡ááááá±á¬á·áá áºáᯠáááŸááá«á ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠC++ ááœáẠá¡áá»áá¯á·áá±á¬ Script áá»á¬ážááᯠáá±ážááá«áááºá C++ ááŸá¬ááŸááááºáá±á¬áẠScript ááœá±ááᯠáá»áœááºáá±á¬áºáááŒáá¯ááºáá°ážá
ClickHouse á áá¬á¡ááœáẠáááºáá®ážáá¬ážáá¬áá²ááá¯áá¬ááᯠááŒáá·áºáááºááá¯ááẠá á¯á ááºážááá¯ááºáá²á·áá±áá¬á ááœá±ážááœá¬ážáá¬áá²á·áá²á· ááŒá áºáááºááŸááºáá«áá²á áá±á«ááºážá ááºážááŒááºážáááŸááá±á¬ áá±áá¬á¡ááœáẠClickHouse ááᯠáááºá¡áá¯á¶ážááŒá¯áá±áá«á áááºááẠáááºážááᯠááŸááºáááºá áœá¬ áá¯ááºáá±á¬ááºáá±áá«áááºá áá±á«ááºážááá¯ááºáááºá áá«á áá áºáá«ááá± ááœáá·áºááœáŸááºááá¯á·ááááºá
áá±á¬ááºáááºá áááºáááºá á¬ážá áá¬ááá á¹á ááŸá¬ á¡ááá·áºá¡áááºáááŸááá±á¬ ááœááºážáááºááŸá á á¯á¶á ááºážááŸá¯áá»á¬ážááŒá áºáááºá áá áºáá«ááá¶ááŸá¬ áá»áœááºáá±á¬áºáᬠáá¯ááºáá¯ááºááŸá¯áá¬áá¬ááá¯ááœá¬ážááŒá®áž á¡á²áá®á·ááŸá¬ show processlist ááᯠááŒáá·áºáááºá ááŒá®ážáá±á¬á· ááŒá±á¬ááºá áá¬áá±á¬ááºážáá²á· á¡áá¬áá áºáᯠááŒá áºáá»ááºáá±áá¬ááᯠááááá¯ááºááá¯ááºážá
á¥ááᬠáá®ááá¯áá«á áá±á¬ááºážááá¯áá»ááºáá áºáá¯áááºážáá²á· á¡áá¬á¡á¬ážáá¯á¶ážááᯠááŒá®ážááŒá±á¬ááºááá¯ááºáááºááá¯áᬠáá»ááºáá»ááºážáááá«áááºá á¡á²á·áá®ááŸá¬ url ááá¯áá±ážááŒá®áž á á¬áááºážáá±ážááá¯ááºáá«á
á¡áá¯á¶ážáááŸááá±á¬ ááœááºážáááºáá²ááœáẠá€áá²á·ááá¯á·áá±á¬ áá±ážááœááºážáá»á¬ážá áœá¬ááẠá¡áááºááŒá±á¬áá·áº ááá¯ážááœá¬ážáá±áááááºážá á¡áááºá á¡ááœáŸááºážáá áºáá¯ááᯠá¡áá¯á¶ážáááŒá¯áá«áá áá°áá®áá±á¬áá±áá¬ááᯠáááºááŒááºáááºážááŸá¯áá»á¬ážá áœá¬ááŸááááá·áºáááºá á¡áááºá á¡ááœáŸááºážááá¯á¡áá¯á¶ážááŒá¯áá«áá á¥ááá¬á ááá·áºááœáẠru á¡ááœáẠá¡ááááá±á¬á·áá áºáá¯ááŸáááŒá®áž url = áá áºáá¯áá¯ááᯠááá¯áá±áá¬ááœáẠáá±ážáá«á ááá¬ážá០URL áá áºáá¯áá¬áááºáá«á á¡áá¬á¡á¬ážáá¯á¶ážá¡áááºááŒá±áááºáᯠáááºáááºáááºá áá«áá±ááá·áº ááááºáá±á¬á· ááá¯ááºáá°ážá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ClickHouse ááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡áá¯ááºááá¯ááºáá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá
áá±áá¬á¡áá»áá¯á·ááᯠáááºááẠááá¯á¡ááºáá±á¬á¡áá« ClickHouse ááŸá á¡ááœáŸááºážááẠáá»á²áá±á¬ááŒá±á¬áá·áº á¡áááºážáááºááá¯ááááºáááºá á€á¡ááœáŸááºážááááºážááẠááá·áºá¡á¬áž ááá¬ážááŸá á¡áááºážáá áºáááºážá á®ááᯠááŸá¬ááœá±ááẠááœáá·áºáááŒá¯áá«á ááŒá®ážáá±á¬á· data ááœá±ááᯠblocks ááœá±ááŸá¬ áá»á¯á¶á·áá¬ážáááºá á á¬ááŒá±á¬ááºážáá áºááŒá±á¬ááºážááá¯áááºááá¯á·á¡ááœáẠááá±á¬ááºáá áºáá¯áá¯á¶ážááá¯áá°ááŒá®áž ááŸááºážáá áºááá«áááºá á¡áááºá áááºááẠáá±ážááœááºážáá»á¬ážá áœá¬ááᯠáá¯ááºáá±á¬ááºáá±áá«áá ááẠáááºáá«áááºáá« áá¯ááºáááá·áº á¡áá¯ááºáá»á¬ážá áœá¬ ááŸááááá·áºáááºá
á¡ááá¯áá¯á¡áá±ááŒáá·áº ClickHouse ááœáẠmegabytes ááŸáá·áº IN section ááá¯á· megabytes áá¬áá±á«ááºážáá»á¬ážá áœá¬ááá¯ááẠááœáŸá²ááŒá±á¬ááºážááẠáááŒá±á¬ááºááá·áºááŒá±á¬ááºáž ááŸááºáá¬ážááá¯ááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠMySQL ááœáẠáááºááá¯ážáá»á¬ážá áœá¬ááᯠIN ááá¹áááá¯á· ááœáŸá²ááŒá±á¬ááºážáá«á á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá»áá¯á·áá±á¬ áá¶áá«ááºáá»á¬ážá 100 megabytes ááᯠááá¯áá±áá¬ááœáẠááœáŸá²ááŒá±á¬ááºážáá±ážáááºááá¯áá«á MySQL ááẠmemory 10 gigabyte ááá¯á á¬ážááŒá®áž á¡ááŒá¬ážáá¬ááŸáááŒá áºááá¯ááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·áá¡áá±á·á¡áá»áá·áºá០áá»áœááºá¯ááºááŸááºáááá«áááºá áá¶á·áá»ááºážá áœá¬á¡áá¯ááºáá¯ááºáááºá
áá¯áááá¡áá»ááºááŸá¬ ClickHouse ááœáẠáááºááá±ážááŒááºážáá»ááºáá»á¬ážááẠá¡ááœáŸááºážáá áºáá¯á¡áá¯á¶ážááŒá¯áá«áá áááºážááẠááá¬ážáá áºáá¯áá¯á¶ážááᯠá áááºáááºááŒááºážááẠá¡ááŒá²áááºážááŸá±ážááœá±ážáááºááá¯ááºáá«á ááá¯ááá¯áááºááŸá¬ áááºááẠááá¬ážáá áºáá¯áá¯á¶ážáá®ážáá«ážááᯠáááºááẠááá¯á¡ááºáá«áá áááºážááẠáááºááá¯ááºááœá¬ážáᬠááá¬ážáá áºáá¯áá¯á¶ážááᯠáááºáááºááŒá áºáááºá áá±áá°áá»á¡á¬ážááŒáá·áº áá°ááẠáááºážááᯠáá°á·áá¬áá¬áá° áá±á¬áºáá¯ááºáááá·áºáááºá
áá«áá±ááá·áº á¡áááºá¡áá²ááœá±áá±á¬á·ááŸááááºá á¥ááá¬á¡á¬ážááŒáá·áºá subquery áá áºáá¯ááŒáá·áº IN ááẠá¡ááœáŸááºážááááºážááᯠá¡áá¯á¶ážáááŒá¯áá«á áá«áá±ááá·áº áá«á áá»áœááºáá±á¬áºááá¯á·áá²á· ááŒá¿áá¬ááŒá áºááŒá®áž á¡á²áá«ááᯠááŒááºááá¯á·ááá¯áááºá áá®ááŸá¬ á¡ááŒá±áᶠáá¬á០áááŸááá«áá°ážá ááŒááºáá±ážáá«á·áááº*á
áá±á¬ááºá áááºáááºá á¬ážá áá¬áá±á¬ááºážáá¬á ááá·áºááŸá¬ á¡ááœááºááŸááºáá»á¬ážáá²á· áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááŸáááŒá®áž ááŒáá·áºáá±áá±á¬ááºážááá¯ááŸá¯ áá¯ááºáááºážá ááºááᯠáá¯ááºáá±á¬ááºáá±áá²ááŒá áºáá«áá á¡ááœááºááŸááºáá»á¬ážáá²á· áá±á¬ááºážááá¯áá»ááºááᯠáá»á¯á¶á·ááŒááºážáááŒá¯áá² áá¬áá¬áá áºáá¯á á®áᶠáá±ážááá¯á·áá«áááá·áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá 100 megabytes ááŸáá·áº 500 serversá ááá¯á·ááŒá±á¬áá·áº áááºááẠááœááºáááºáá±á«áºááœáẠ50 áá áºáá«ááá¯áẠááœáŸá²ááŒá±á¬ááºážáá±ážáááºááŒá áºáááºá áááºážááá¯áá°ážá ááºááŒá®ážáá±á¬ááºá¡áá¬á¡á¬ážáá¯á¶ážá¡á±á¬ááºááŒááºá áœá¬ááŒá®ážááŒá±á¬ááºáááá·áºáááºá
* áá¯á¶ážáá±ááŒá®á á¡á¬ážáá¯á¶ážá áááá¡ááá¯ááºáž ááŒááºááŒá®ážááŒá®á
API ááŸáá±á¬ááºážááá¯ááŸá¯áá»á¬ážáá¬áá±á¬á¡áá«ááœááºáá»áŸáá»áŸááá¡ááŒá áºáá»á¬ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠáááºáááá¯ááºááá¯ááºáááºáá±á¬ááºááŸá¯áá áºáá»áá¯ážááᯠáááºáá®ážáá²á·áááºá áá áºá á¯á¶áá áºáá±á¬ááºááẠááá·áºáááºáá±á¬ááºááŸá¯ááᯠááá¯á¡ááºáá«á API ááá¯ááœáá·áºááŒá®áž ááŸá áºáááºá¡ááŒá¬ááœáẠáá¬ážááááºááá¯ááºáá±á¬ á¡áá¬áá áºáᯠááŒá áºáá»ááºáá±áááºááᯠáááºááœá±á·ááŒááºááááºá á¡áá¬á¡á¬ážáá¯á¶ážááẠáá»á¬ážááŒá¬ážááœááºážáá±ááŒá®áž ááá¯ááá¯á·áááŒá áºááá·áºáá±á¬ ááŒá±á¬ááºáááºááœááºáá±á¬ááºážáá±á¬ áá±á¬ááºážááá¯ááŸá¯áá»á¬áž áááºáá¬áá«áááºá
ááŒá®ážáá±á¬á· ááŒá±ááŸááºážáá»ááºáá áºáá¯áá²ááŸááááºá API ááá¯ááœáá·áºááŒá®ážááŒá®ááá¯áááºáá±á¬á· ááŒááºááá«áááºá á¥ááá¬á ááœá²áááºážáá áºáá»áá¯ážáá»áá¯ážááᯠááááºáááºáá±ážáá«á á¡ááŒá¬ážáá¯á¶ááŸááºááœá±ážáá»ááºá áá¬áá»á¬áž áááŸááá«á ááá¯ááºááẠáá°ááá¯á·áá»ááºáá»ááºáž áá¬ááºááœáŸááºážáá±ážááŒá®áž ááŒá¿áá¬ááŸááá¬áááºá
ááŸáá·áº ClickHouse ááœáẠá¡áá°ážá¡ááºá¹áá«áááºáá áºáᯠ- ááœá²áááºážááœááºáá»ááºááŒááºážá ááá¯á·á¡ááŒááºá áááºáááºáááºáááœá²áááºážáá±á¬á·ááá¯ááœáŸá²ááŒá±á¬ááºážááá¯ááºáááºá á€áááºááŸá¬ á¥ááá¬á¡á¬ážááŒáá·áºá á¡ááœááºážááá¯ááºážá¡áá¯á¶ážááŒá¯áá° ID ááŒá áºáááºá áááºážááá¯á·áá áºáŠážá á®á¡ááœáẠááœá²áááºážáá»á¬ážááᯠáá®ážááŒá¬ážááœááºáá»ááºáááºááŒá áºáááºá
á¡áᯠáá±á¬ááºááẠá áááºáááºá á¬ážá áá¬áá áºáá¯á áááºážááẠáááºááŒáá·áº áá°ážáá°ááŒááºáž ááŒá áºáááºá
ClickHouse ááœáẠbuilt-in áá°ážáá°áá¶á·ááá¯ážááŸá¯áá«ááŸááá±á¬áºáááºážá áá°áá»á¬ážááẠClickHouse ááá¯ááá¯ááºááá¯ááºáá¯á¶áá°ááœá¬ážááá·áºááá á¹á áá»á¬ážá áœá¬ááá¯áá»áœááºá¯ááºáááááºá
áááá¬áááá¯áá¬áá¬áá²á ááá·áºááœáẠáá±áá¬áá¯ááºáá±á¬ááºááŒááºáž ááá¯ááºááá¯ááºážáá áºáᯠááŸááááºá á¥ááá¬á ááá°áá®áá±á¬ áá±áá¬á ááºáá¬áá»á¬ážááœáẠááœááºáááºá áœá¬ á¡áá¯ááºáá¯ááºáááºá áááºááẠClickHouse ááœáẠá¡áá¬ážáá°áá±áá¬ááᯠáá°áá®áá±á¬áááºážáááºážááŒáá·áº áá±ážáá«á ááŸááºáá«áááºá ááá·áºáá¯ááºááŸá á¡ááºá¹áá«áááºá¡áá»áá¯á·ááŒá±á¬áá·áº áá±áá¬ááœá²ááŒá¬ážáá±áá±ážááŒá±á¬ááºáž áááºááœá±á·ááŒááááºá áááºážáá²á· áááºáá²ááŸá¬ ááŸááá±áááºááá¯á· áá«áá»áŸá±á¬áºááá·áºáááºá
á¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ áááºááá¯ááºááá¯áẠá áá·áºááºáá¯ááºááẠááá¯á¡ááºáá«áá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á á®áá¶ááá·áºááœá²áá°áá»á¬ážááẠáá áºááá»áŸáẠáá áºááŒááẠrsync áá¯ááºáááºá
ááááºáá±á¬á·á ClickHouse ááœááºáááºáá±á¬ááºáá¬ážáá±á¬áá¯á¶áá°áá°ážáá°ááŒááºážááá¯á¡áá¯á¶ážááŒá¯áááºááá¯ááá¯ááœááºáá°áááºá ááá¯á·áá±á¬áº áááºážá¡ááœáẠáááºááẠZooKeeper ááᯠá¡áá¯á¶ážááŒá¯ááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº áá¬ážááŒá áºááŒááºážá¡áá»áá¯á·ááŸáááá¯ááºáááºá ZooKeeper á¡ááŒá±á¬ááºáž ááá±á¬ááºážáᬠáá¬á០áááŒá±á¬áá«áá°ážá áá°á¡ááá±á¬á· á áá áºá á¡áá¯ááºáá¯ááºáá«áááºá áá«áá±ááá·áº áá°ááœá±á java-phobia ááŒá±á¬áá·áº á¡á²áá«ááᯠááá¯á¶ážááŒá áºáá¬á ClickHouse á C++ áá²á·áá±ážáá¬ážáá²á· áá±á¬ááºážááœááºáá²á· á áá áºááŒá áºááá¯á·áá«á áá¬ááŒá±á¬áá·áºáá²ááá¯áá±á¬á· áááºáá¯á¶ážááá¯ááºáá²á·á á¡á¬ážáá¯á¶ážá¡áááºááŒá±áá«áááá·áºáááºá ZooKeeper ááẠjava ááœááºááŸááááºá áá áºáááºážáááºážáá²á· áááºáá±á¬áẠáááŒáá·áºáá»ááºáá±ááá·áºá ááá¯á·áá±á¬áẠmanual replication ááᯠáá¯á¶ážááá¯ááºáá«áááºá
ClickHouse ááẠáááºááœá±á·áá»áá±á¬ á áá áºáá áºáá¯ááŒá áºáááºá áá°áááẠááá·áºááá¯á¡ááºáá»ááºáá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážáááºá ááá·áºááœáẠááá¯ááºááá¯ááºáá¯á¶áá°ááœá¬ážááŒááºážááŸááá«áá ááá·áºáááºá áœá²áá¯á¶á á¶áá°áá»á¬ážááᯠááŒáá·áºááŸá¯ááŒá®áž áááºážááá¯á·ááŒá¬ážááœáẠáá»ááºááœááºááŸá¯ááŒá áºá á±ááá·áº ááŒáá·áºáá±áá¬ážáá±á¬ááá¬ážááᯠáááºáááºáá®ážááá¯ááºáááºá áááºáááá¯ááºážáá»á¬ážá áá áºááá»ááœá²ááœá²áá±áá±á¬áºáááºáž flop áá»á¬ážááá¯ááŸá±á¬ááºááŸá¬ážáááºááœáá·áºááŒá¯ááá·áºá¡áá°ážááœá±ážáá»ááºááœáá·áºáááºááŸááááºá
á¡áááºá áááºááẠprimitive table engines ááá¯á¡áá¯á¶ážááŒá¯áá«á áá±á¬ááºáááºááŒá¿áá¬áá»á¬áž ááŒá áºáá±á«áºáá¬ááá¯ááºáááºá ClickHouse ááẠááá°áá®áá±á¬ á á¬ážááœá²á¡ááºáá»ááºáá»á¬áž á¡á á¯á¡áá±ážááŸááá±á¬ áááºáá±á¬ááºáá°ááŒá áºáááºá á á¬ááœááºá á¬áááºážáá»á¬ážááœáẠáá±ážáá¬ážááá·áºá¡ááá¯ááºáž áá±ážáááºáá±á¬ááá á¹á áá»á¬ážá¡á¬ážáá¯á¶ážá¡ááœááºá MergeTree áááá¬ážá á¯á០ááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«á áá»ááºáá¬á¡á¬ážáá¯á¶áž - áá«ááá«ááŒá±á¬áá·áºá áá áºáŠážáá»ááºážá á®ááá á¹á áá»á¬ážá¡ááœááºááá¯á·ááá¯ááºá ááºážáááºááŸá¯áá»á¬ážá¡ááœááºá
MergeTree ááá¬ážááœááºá ááá·áºááœáẠáááºááá·áºáááºá áœá²ááŸáá·áº á¡áá»áááºááŸáááẠáááá¯á¡ááºáá«á áááºá¡áá¯á¶ážááŒá¯ááá¯ááºáá±ážáááºá áááºá áœá²ááŸáá·áºá¡áá»áááºáááŸááá«á default 2000 áá¯áá±ážáá«á áááºážááẠá¡áá¯ááºáá¯ááºááá¯ááºááŒá®áž á¡áááºážá¡ááŒá áºáá»á¬áž áááá¯á¡ááºáá«á
áá¬áá¬á áá¬ážááŸááºážá¡áá áºááœááºá partition key ááá«áá² ááá·áºááœáẠá áááºááŒáá¯ááºááœá²áá±ááŒááºážááá¯ááẠáááºááŸááºááá¯ááºáááºá á¡áá°áá°áá²ááŒá áºáááá·áºáááºá
á¡ááŒá¬ážáá áºáááºááœááºá áááºááẠprimitive table engines ááá¯áá¯á¶ážááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá±áá¬ááᯠáá áºááŒáááºááŒáá·áºááŒá®áž ááŒáá·áºááŸá¯áá«á ááŸáá·áºá áá»ááºáá«á Log ááá¯áá¯á¶ážááá¯ááºáááºá
ááá¯á·ááá¯áẠááŒá¬ážáá¶áá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠáá±ážáááºáá±á¬ volumes áá»á¬ážááᯠááááºážáááºážááŒááºážááẠStripeLog ááá¯á·ááá¯áẠTinyLog ááŒá áºáááºá
áá±áá¬ááá¬á áá±ážáááºáá«á RAM ááœáẠáá áºáá¯áá¯ááᯠááá¯ážááŸááºážá áœá¬ ááŸáá·áºáááºááá¯ááºáá»áŸáẠMemory ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
ClickHouse ááẠááŒááºáááºááŒááºáááºáá¬ážáá±á¬ áá±áá¬ááᯠá¡ááŸááºáááẠáááŒáá¯ááºáá«á
áá«ááá±á¬á· áá¬áá¬áẠá¥ááá¬áá áºáá¯áá«á á€áááºááŸá¬ áá»á¬ážááŒá¬ážááŸáá±á¬ URL áá»á¬ážááŒá áºáááºá áááºáž áá°ááá¯á·ááᯠáá±á¬ááºá á¬ážááœá²ááŸá¬ áá¬ážááá¯ááºáá«á ááá¯á·áá±á¬áẠáááºážááá¯á·ááŸáá·áº JOIN áá¯ááºááẠáá¯á¶ážááŒááºááá¯ááºáá±á¬áºáááºáž ClickHouse ááẠHash JOIN ááá¯áᬠáá¶á·ááá¯ážáá±ážáá±á¬ááŒá±á¬áá·áº á ááºážáááºážá¡ááá¯ááºáž á¡áá¯ááºáááŒá áºáá«á áá»áááºáááºááẠááá¯á¡ááºáá±á¬ áá±áá¬áá»á¬ážá áœá¬á¡ááœáẠRAM ááá¯á¶áá±á¬ááºáá«á JOIN á¡áá¯ááºááá¯ááºáá«*á
áá±áá¬ááẠáá¬áá®áááºáá®á¡áááºá¡ááœá±ážááŒáá·áºáá¬ážáá«á á áááºááá°áá«ááŸáá·áºá áááºážááᯠáá¯á¶ááŸááºááá¯ááºáá±á¬áá¯á¶á á¶ááŒáá·áº ááááºážáááºážáá¬ážáá«á URL áá»á¬ážááẠáááºáááá¬ážááœáẠááá¯ááºááá¯ááºáááºááŸááá±áá«áááºá
* ááᯠClickHouse ááœááºáááºáž áá±á«ááºážá ááºáá«áááºááŸá¯áá áºáá¯ááŸáááŒá®áž áááºážááẠá¡áááºá¡áááºáá±áᬠRAM ááŸáá·áº áááá¯ááºáá®ááá·áº á¡ááŒá±á¡áá±áá»á¬ážááœáẠá¡áá¯ááºáá¯ááºáá«áááºá ááá¯á·áá±á¬áº áááºážááẠáááá±á¬ááºááŸá¯ áááŸáááá·áºá¡ááŒáẠá¡ááŒá¶ááŒá¯áá»ááºááẠá¡áááºáááºáá±áá²ááŒá áºáááºá
áá±á¬ááºááẠá¥ááá¬ááŸá áºáá¯á áá«áá±ááá·áº á¡á²áá«ááœá±á ááá·áºáá»ááºáááºáá¯á¶á ᶠáá¯ááºááá¯áẠáá¶ááááŒá áºáá±ááŒá®á
ClickHouse ááœáẠáá°áááá»á¬ážáá±á¬ áá»áá¯á·ááœááºážáá»ááºáá áºáá¯ááŸááááºá á¡ááºááááºáá¯ááºáááºážááááá«á á¡áá»áá¯á·áá±á¬áááºážáááºážáá»á¬ážááœááºá á€áááºáááºáá±á¬ááºážáááºá ááá·áºááœáẠá¡áá±ážááŒá®ážáá±á¬áá±áá¬á¡áá»áá¯á· á¥ááá¬á á á¬áááºážááá¯ááºááŒááºážááŸááá«áá á¡ááºááááºáá»á¬ážáááŸááá±á¬ááŒá±á¬áá·áº áááºážááᯠáááºáá°áá»áŸ áá±ážááá¯á·ááá¯ááºáááºááá¯ááºáá«á
* á¡áá¯ááºáá¯ááºááœáẠá¡ááºááááºááŸáá·áº áá»ááºááŒááºážá¡ááœáẠá¡áá±á¬ááºá¡áá¶á·ááᯠááœááºáá²á·ááá·áº ááŒá¬ááŒáá·áºá áœá¬ááááºážá ááá·áºááœááºážáá¬ážáááºá
ááá¯á·áá±á¬áº áá±á¬ááºáá¶ááœááºáá²á·ááá¯á· á¡ááºááááºáá»á¬ážááᯠááœáá·áºááŒá¯ááá¯ááºááá·áº á¡áá°ážáááºážáááºážá¡áá»áá¯á·ááŸááááºá á¥ááá¬á ReplaceMergeTree áá²á·ááá¯á· ááá¬ážáá»á¬ážá áá±á¬ááºáá¶áá±á«ááºážá ááºážááŸá¯áá»á¬ážá¡ááœááºáž áááºážááá¯á·ááẠá¡ááºááááºáá»á¬ážááŒá¯áá¯ááºáááºá optimize table ááᯠá¡áá¯á¶ážááŒá¯á áááºážááᯠááẠááá¡á¬ážáá±ážááá¯ááºáááºá ááá¯á·áá±á¬áº áááºážááẠpartition ááᯠáá¯á¶ážá overwrite áá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááᯠáááŒá¬áá ááá¯ááºáá«ááŸáá·áºá
ClickHouse ááœááºááŒáá·áºáá±áá¬ážáá±á¬ JOIN áá»á¬ážááᯠquery planner ááŸáááºáž ááá¯ááºááœááºááŸá¯ áá¶á·áá»ááºážáá«áááºá
ááá¯ážáá±ááá·áº áá áºáá«ááá± Ok áááºá
Select* ááᯠá¡áá¯á¶ážááŒá¯á áá±áá¬ááŒááºáááºááẠClickHouse ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
áááºáá²áá±á¬ááœááºáá»ááºááŸá¯áá»á¬ážá¡ááœáẠClickHouse ááá¯á¡áá¯á¶ážááŒá¯ááẠáá»áœááºá¯ááºá¡ááŒá¶ááŒá¯áááºááá¯ááºáá«á ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠá€á¡ááŒá¶ááŒá¯áá»ááºá០áá±ážááœá¬áá±ááŒá®ááŒá áºáá±á¬ááŒá±á¬áá·áº áááºážááẠáá¯á¶ážááááŸááºáá«á áá»áœááºá¯ááºááá¯á·ááẠClickHouse - Catboost ááœáẠá ááºáááºáá°ááŸá¯áá¯á¶á á¶áá»á¬ážááᯠá¡áá¯á¶ážáá»ááá¯ááºááá·áº á áœááºážáááºááᯠáááŒá¬áá±ážáá®á ááá·áºááœááºážáá²á·áááºá âááŒá±á¬ááºá áá¬áá±á¬ááºážááá¯ááºáá¬â ááá¯á· ááœá±ážááá¯ááºááááá¯á· á áááºá¡ááŸá±á¬áá·áºá¡ááŸááºááŒá áºáááá«áááºá áá«á ááá¯ááºáá áºááá¯ááºááŸá¬ á¡ááŒáááºáááºáá±á¬áẠááœááºáá¬áááºá ááá¯ááºáá±á«áºááŸá¬ áá¬áá®ááœá±ááᯠááŒá¯ááºážáá®ážááá¬ááᯠáá«ááááºáá¯ááºážáááºá
ááá¯á·áá±á¬áº áááŒá±á¬ááºáá«ááŸáá·áºá ClickHouse ááᯠinstall áá¯ááºáá«á á¡á¬ážáá¯á¶ážá¡áááºááŒá±áá«áááºá áá áºáá¯áá¯ááá¯ááẠáá»áœááºáá±á¬áºááá¯á·ááŸá¬ á¡ááá¯ááºážá¡ááá¯ááºážááŸááááºá á áá¬ážáá ááºá á¡ááá¯ááºážá¡ááá¯ááºážá áááºáá«áá²á ááá·áºááœáẠááŒá¿áá¬áá áºá á¯á¶áá áºáá¬ááŸááá«á á¡áááºážáá¯á¶áž áá»áœááºá¯ááºááá¯á·á chat ááá¯á·ááœá¬ážááá¯ááºááŒá®áž áááºážááá¯á·ááẠááá·áºá¡á¬áž áá°áá®áááá·áºáááºáᯠáá»áŸá±á¬áºááá·áºáá«áááºá
áá±ážááœááºážáá»á¬ážááá¯
á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá ClickHouse áá»ááºáá»ááŒááºážááŸáá·áº áááºáááºá áááºááá·áºáá±áá¬ááœáẠááá¯ááºááŒá¬ážááá¯ááºááááºážá
áááºááẠáá»áœááºá¯ááºá¡á¬áž ááá¯ááºááá¯ááºááá¯ááºáá» ááá¯ááºááŒá¬ážááá¯ááºáá«áááºá
áááŒá¬áá±ážáá®á áá»áœááºá¯ááºááẠClickHouse ááᯠá áááºá¡áá¯á¶ážááŒá¯áá²á·áááºá áá«áá»ááºáá»ááºáž cli interface ááá¯áá»áá áºááá¯ááºáááºá
áá¬áááŸááºáá²á
ááááŒá¬áá±á¬á· áá¬áá¬ááᯠááœá±ážáá»ááºááŸá¯áá±ážáá áºáá¯áá²á· áá»ááºááœá¬ážáááºá
áááºážááŸá¬ á¡áááºá¡áá»ááºážááŸááááºá
GitHub bug ááá¯ááœáá·áºáá¬ážáá±á¬áºáááºáž áá»á áºáá»á°ááŸá¯áá¬ážáááºá
áá«ááá¯á·ááœá±á·áááá·áºáááº
Alexey ááẠá¡á á®áááºáá¶á á¬ááᯠáááºáá±á¬ááºááẠááŸáá·áºááŒá¬ážáá²á·ááŒá®áž á¡áá²ááŸá¬ áá±áá¬ááᯠáááºáááºáá²á·ááá¯á· áááºáá±á¬ááºáááºááᯠááŒá±á¬ááŒáááºáᯠááááá±ážáá²á·áááºá
á¡ááœááºááá¯ážááŸááºážáá«áááºá
áá«ááᯠááá±á·á ááá±á¬áá±á«ááºáááºá ááá¯áááá»áá«áááºá
á¡á²áá®ááŸá¬ ááŒá±á¬ááºá áá¬áá±á¬ááºážáá²á· ááŸáá·áºááœááºááœá± áááŸááá°ážá block-by-block compression áá²ááŸááááºá áá°áááºážááŸá¬ LZ4 ááŒá áºááŒá®ážá áááºááẠZSTD* ááᯠááœáá·áºááá¯ááºáááºá 64 áá®ááá¯ááá¯ááºá០1 áá®áá«ááá¯ááºá¡áá ááááºááá¯á·áááºá
* á¡ááŒá¬ážáá±á¬ algorithms áá»á¬ážááŸáá·áº ááœááºážáááºáá áºáá¯ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á¡áá°ážááŒá¯áá»á¯á¶á·áá»á²á·áá¯ááºáá áºáá»á¬ážá¡ááœááºáááºáž áá¶á·ááá¯ážááŸá¯ááŸááá«áááºá
ááá±á¬ááºáá»á¬ážááẠáá±áá¬á¡ááŒááºážáá»áŸáá¬áá¬ážá
áá¯á¶ážáá¡á áááºážááá¯ááºáá°ážá áááºážáá»ááºážááŸá¯áá»á¬áž ááŸááá«áááºá ááá·áºááœáẠááááºážááá¬ááºážáá±á¬áºáá¶áá áºáá¯ááŸááá»áŸáẠá¡áááºážáá áºáá¯ááŸá ááááºážáá»á¬ážááᯠáááºážáá»ááºážáá áºáá¯ááœáẠáá¬ážááŸááááºááŒá áºáááºá
ááŸááºážáá«ááŒá®á
Alexeyá IPs áá»á¬ážáá±á«áºááœáẠuniqExact ááŸáá·áºáá«áá±á¬ á¥ááá¬áá áºáá¯á ááá¯ááá¯áááºááŸá¬ uniqExact ááẠááááºážááááºážáá»á¬ážááẠá á¬ááŒá±á¬ááºážáá»á¬ážááŒáá·áº ááœááºáá»ááºááẠá¡áá»áááºááá¯ááŒá¬áááºáá°áá±á¬ á¡áá»ááºááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááá¬ážááœááºááᯠá¡áá¯á¡áá±á¬ááºáá¯á¶ážá á á áºááŒá±á¬ááá·áºá¡áá»áááºááœáẠáá áºááá¯ááºáá»áŸááºáá±á¬á ááá¯ááá¯áááºááŸá¬á áá»áœááºá¯ááºááá¯á·á disk ááœáẠáááºážááẠá¡ááœááºááœá²ááŒá¬ážááŒááºážáááŸááᯠáááºááŒá±á¬áá²á·áá¯á¶ááááºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠáá áºááºá០á á¬ááŒá±á¬ááºážáá»á¬ážááᯠáááºááŒá®áž áá¬á áºáá¯ááºáá«áá áá»áœááºá¯ááºááá¯á·á á á¯á ááºážááŸá¯áá»á¬áž ááá¯ááá¯ááŒááºáááºáááºáá±á¬ áá«ááŸááá¯áẠáá®ááŸá¬ áááºážáááºážáá±áž á¡ááŒááºáá»ááºáá±ážáá¬ážá áá«ááᯠáááºá ááºážáááºáá°ážáááºááá¯á· áááºááá±ááá·áº á¡ááŒá±á¬ááºážáá áºáá¯áá¯ááŒá±á¬áá·áº á á¶áááºááŸááºáá»ááºááŸá¬ ááá±á¬áºááŒáá²á·áá«áá°ážá
áááœááºážáá²áá²á·ááẠááá¯ááŸá±ážáááºáááºáááºá á€ááá á¹á ááœááºá IP ááááºá á¬ááᯠá á¬ááŒá±á¬ááºážá០ááœá²ááŒááºážá áááºááŒá¬ááá«áááºá áá¯ááºáá«áááºá ClickHouse ááŸá¬á áá»áœááºá¯ááºááá¯á·áá²á· IP ááááºá á¬ááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááá¯áááºáž á¡áá±á¬ááºážáá¯á¶ážááŒá áºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážáá«áááºá áá»áœááºáá±á¬áºááá¯á· á¡áááºážááŒáá¯ážá á¬ážáá²á·áá±ááá·áº á¡á²áá®ááŸá¬ áá¶áá«ááºáá áºáá±á¬ááºážáá¯á¶á á¶áá²á· áá±ážáá¬ážáááºá ááááºá¡áááºáááŒá±áá°ážá á¡ááŒá¬ážáá áºáááºááœááºá uniqExact áá¯ááºáá±á¬ááºáá»ááºááẠstrings áá»á¬ážááŒá áºáá±á¬ááŒá±á¬áá·áº strings áá»á¬ážáá¬áá algorithm á ááœá²ááŒá¬ážáá±á¬ á¡áá°ážááŒá¯áá»ááºáá áºáá¯ááᯠááœá±ážáá»ááºáá¬ážáá±á¬ááŒá±á¬áá·áºáááºáž áá¯ááºáá±á¬ááºááá¯ááºáááºááŒá áºáááºá ááŒáá¯ážáá»á¬ážááᯠááá¯ážááŸááºážá áœá¬ ááœá²ááŒá¬ážá áœá¬ áá¯ááºáá±á¬ááºáá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠááá¯ááááºáááá¯áá±áá¬á¡áá»áá¯ážá¡á á¬ážááᯠáá°áá»áŸááºáá±á¬á á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááœááºááŸááá±á¬ user id ááá¯áá±ážáá»áá«á áááºážááá¯á á¬ááŒá±á¬ááºážáá áºáá¯á¡áá±ááŒáá·áºáá±ážáá«á ááá¯á·áá±á¬ááºáááºážááá¯ááœáŸá±áá«á áááºážááẠááá¯á áá»á±á¬áºá áá¬áá±á¬ááºážáááºá ááá¯ááºáá°ážáá¬ážá
áá»áœááºáá±á¬áºáá¶ááááŒá áºáááºá áá¶áá«ááºááœá±ááᯠááœá²ááŒááºážá áááºááŒá¬áá¬á ááŒá®ážáá±ážáá²á· ááŒá¿áá¬ááŒá áºááá¯á· ááá¯ááá¯á·áá±á¬áẠáááºážáááºážá áá¬áá±á¬ááºážáááºáááºáááºá á€áá¯ááºáá±á¬áºááá¯ááºáááºááẠáá¶áá«ááºáá áºáá±á¬ááºážáá¯á¶á á¶ááŒáá·áº ááœá²ááŒááºážá áááºááŒá¬ááẠáááºáá»áŸáááºáá²áááºáá°áá±á¬ á¡á á®áááºáá¶á á¬ááá¯ááẠáá±ážáá²á·áááºáᯠáááºááá±á¬áºáááºáž ááŒá áºááá¯ááºáááºá
Alexeyá á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážá¡áá»á¬ážááŒá®ážáááºáá«áááºá ááŒá®ážáá±á¬á· ClickHouse á¡ááœáẠá¡áááºážáá»á±ážáá°ážáááºáá«áááºá á¡á á®á¡á ááºáá²á· áááºáááºááŒá®áž áá±ážá áá¬ááŸááááºá á¡áááá¬ááºáá»á¬ážááᯠááŒá®ážááŒáá·áºá á¯á¶á áœá¬ á¡ááºááááºáá¯ááºááẠá¡ááºá¹áá«áááºáá áºáá¯á¡ááœáẠá¡á á®á¡á ááºááŸááá«ááá¬ážá
á¡á²áá«á áá áºá áááºáá áºááá¯ááºáž ááŒááºááœáá·áºáá¬áá¬ážá
áá¯ááºáá²á·áá¯ááºáá²á·á á¡á²áá®ááŸá¬ MySQL á¡ááœááºááᯠáááºááŸááºááá¯ááºááŸá¯ááá¯áá²á ááá¯ááá¯áááºááŸá¬ á¡áááá¬ááºááẠá¡ááœááºááŒá®ážáá«á á€áá±áá¬ááá¯áᬠáááºáá±á¬ááºááŒá®ážáá±á¬áẠá¡ááºááááºáá¯ááºáá«á
á¡ááœááºá áááºáááºá á¬ážá áá¬áá±á¬ááºážáá±á¬á¡ááºá¹áá«áááºáá áºáá¯ááŒá áºáááºá ááŒá®ážáá±á¬á· áá»áœááºáá±á¬áºááá¯á·áá²á· áá»ááºááŸá¬ áá°ááá»áá¯á·á á¡ááŒá¶ááŒá¯áá²á·ááẠáááºáá«áááºá áááºáááºááŒá áºááá¯ááºáááºá
ááááºáá«áá°ážá
áá±á¬ááºážááŒá®á á¡áᯠáá±á¬ááºážááá¯áá»áẠááŸá áºáá¯ááŸáááœá¬ážááŒá®á ááŒá®ážáá±á¬á· ááŒááºážááŒááºážáá»ááºáž á ááŒá®áž áá¯ááºááá¯ááºáá«áááºá áá«áá±ááá·áº áá®á¡ááºá¹áá«áááºá á¡áá±á¬ááºá¡áááºáá±á¬áºááᬠáá±á¬áºáá±á¬áºááá¯ážááŸááºážááŒá±á¬ááºáž áá»ááºáá»ááºážááááá±ážáá»ááºáá«áááºá ááá¯ááá¯áááºááŸá¬ áá®á¡áá¯áá®á¡áá áááºááẠááá¬ážááœáẠáá¬ážááŸááºážáá¶áá«ááºááá¯áá±ážáááºáá¬ááá¯ááŒá®áž áááºážáááºáááºážáá±á¬ áá¬ážááŸááºážááᯠáá±ážáá«á ááá¯ááá¯áááºááŸá¬ áá«ááá¬ááŸááºáá»á¬ážá¡ááœáẠá€á¡áá¬á¡á¬áž áá»áœááºá¯ááºááá¯á· áááºážááŸááºážáááá·áºááẠááŒá áºááá¯ááºáá»á±áá»á¬ážáá«áááºá áááºáᬠáá«ááá¬ááŸááºáá áºáá±á¬ááºáá¬ážá
áá¯ááºáá²á·á áá«áá±ááá·áº áá¶ááá±á¬ááºážá áœá¬áá²á C++ ááŸá¬ ááá¯ááºáá«áá°ážá
ááá·áºáá¯ááºáá±á¬áºááá¯ááºáááºáá»á¬ážááẠC++ ááœáẠáááºááá¯á·áá±ážááááºááᯠáááá«ááá¬ážá
áá«áá áºáá±á¬ááºáá±á¬ááºááá¯ááŸá¬áááºá
áá±á¬ááºážáááº*á
* á¡á
á®áááºáá¶á
á¬ááŒá®ážáá±á¬ááºááŸá
áºáá¡ááŒá¬ááœááºá¡ááºá¹áá«áááºááá¯ááá·áºááœááºážáá²á·ááẠ- áá±ážááœááºážáá±ážáá¬ážáá°ááááºážááá¯áá®ááœááºááŒá®ážáá°ááá±ážááá¯á·áá²á·áááºá
Thank you!
áááºá¹ááá¬áá«! á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá ClickHouse ááẠáááºážá¡ááœááºáááá¯ááºáá±á¬á¡áááºážá¡ááŒá áºá¡á¬ážáá¯á¶ážááᯠá á¬ážáá¯á¶ážáá¬ááœáẠá¡ááœááºáá±á¬ááºážááœááºááŒá±á¬ááºáž áááºáá±á¬áºááŒáá²á·áááºá Luxoft áá²á·áá±ážáá¬ážá á áá®áá¬á Russian Post á¡ááœáẠáá°á·áá²á·ááŒá±ááŸááºážáá»ááºá¡ááŒá±á¬ááºáž ááŒá±á¬ááŒáá²á·áá«áááºá áá°ááá¯á·á ClickHouse ááá¯ááááºááŒáá¯ááºáááºááá¯á·ááŒá±á¬áá²á·áá±ááá·áº CPU á¡á¬ážáá¯á¶ážááá¯á á¬ážáá±áá¬ááŒá±á¬áá·áº áá°ááá¯á·áá²á·á¡áááááŒáá¯ááºáááºá¡á á¬áž á¡ááá¡áá»ááá¯á¶ážáá²á·áá«áá°ážá ááŒá®ážáá±á¬á· áá°ááá¯á·áᬠáá°ááá¯á·áá²á· áááá¯áá¬áááºáá¬áá²á· áá°ááá¯á·áá²á· ZooKeeper ááŸá¬ dockers ááœá±áá²á· áá»áááºáááºááá¯á·áááá«áá°ážá ClickHouse ááŸá¬ áááá¯ááºáá²á· á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá á¬ážáá¯á¶ážááá¡á±á¬áẠáá áºáááºážáááºážáá²á· ááá·áºáááºááá¯á· ááŒá áºááá¯ááºáá«ááá¬ážá
áá¯ááºáááºá ááŒá
áºááá¯ááºáááºá á¡áááºážááœááºáááºá core ááœá±áááºážáááºážáá¯á¶ážáá»ááºáááºáá±á¬á· áá±ážááá¯ááºáá¯á¶áá«áá²á set max_threads = 1
. áá«áá²á á¡á²áá«á core áá
áºáá¯áá²ááŸá¬ áá±á¬ááºážááá¯ááŸá¯ááᯠáá¯ááºáá±á¬ááºáá«áááá·áºáááºá ááá¯á·á¡ááŒááºá áááºááẠááá°áá®áá±á¬ áá¯á¶ážá
áœá²áá°áá»á¬ážá¡ááœáẠááá°áá®áá±á¬ áááºáááºáá»á¬ážááᯠáááºááŸááºááá¯ááºáááºá áá®áá±á¬á· ááŒá¿áá¬áááŸááá«áá°ážá Luxoft á០áááºááá¯ááºáá±á¬áºááá¯ááºáááºáá»á¬ážá¡á¬áž á
á¬ááœááºá
á¬áááºážááœáẠá€áááºáááºááá¯áááœá±á·áááŒááºážááẠá¡áááºáááŒá±ááŒá±á¬ááºáž ááŒá±á¬ááŒáá«á
Alexeyá áááºá¹ááá¬áá«á áá®áá±ážááœááºážáá²á· áááºáááºááŒá®áž áá±ážáá»ááºáá«áááºá ááŸááºáááºážáá»á¬ážá¡ááœáẠááá¯ááŸá±á¬ááºááŸá¯á¡ááŒá Ạáá°á¡áá»á¬ážá¡ááŒá¬ážá ClickHouse ááᯠá áááºá¡áá¯á¶ážááŒá¯áá¬ááŒáááºááᯠáá»áœááºá¯ááºááŒá¬ážááááááºááŸá¬ ááááá¯á¶ážá¡ááŒáááºááá¯ááºáá«á á¡á á®áááºáá¶á á¬ááœáẠáááºááẠá€ááá¯á·ááá¯ááºáááºááŒá±á¬áááºá ááá¯ááá¯áááºááŸá¬ áááºááẠááŒáá¯ážááŸááºáá»á¬ážááᯠááááºážáááºážááẠáááá¯á¡ááºáá«á á¡á²áá«ááᯠáááºážáááºááá¯áááºáá²á
ááááŠážá áœá¬á ááŸááºáááºážáá»á¬ážááẠá ááºážáááºážá¡á ááŸááºáá»á¬ážáá±á¬ááŒáá¯ážáá»á¬ážááá¯ááºáá«á ááŒáœááºážáá»ááºááŸááááºá á¥ááá¬á¡á¬ážááŒáá·áºá java ááœááºáá±ážáá¬ážáá±á¬áááºáá±á¬ááºááŸá¯á¡áá»áá¯á·áááºááŒáœááºážáá»ááºáá áºáá¯á¡á¬ážáá áºáá»áááºá áááºážáááºáááºáá±á¬ááºáá¬ážáááºá á¡áá¯á¶ážáááŸááá±á¬ á¡ááá¯ááºážáá áºáá¯ááœááºá áá¬á·ááºáááá¯ááºáá±á«áºááœáẠáá±áá¬ááœááºáá»á¬áž áá¯ááºáá¯á¶ážááœá¬ážáááºá ááŒá±ááŸááºážáá»ááºááẠá¡ááœááºááá¯ážááŸááºážáá«áááºá ááá¯ááºážááœá±á¡áááºážááŸááºááẠááŒááºááá¯ááºáá«á á¡ááŸááºááá¯áᬠáá¬ááᯠááá¯ááá¯áá¬áá²á áá®ááá¯ááá¯áẠáááºááááºážá ááá±á¬ááºážáá°ážá
* ClickHouse ááá±á¬ááºáá¯á¶ážááœááºáá¬ážááŸááºážáá»á¬ážááœááºá "ááá¯ááºáá»á±á¬áá®ááœá±ááŸááá±á¬á¡ááœáŸááºážááááºážá¡áá±ážá áááº" ááá¯ááœáá·áºáá¬ážááŒá®ážá á¡áá»á¬ážá á¯á¡ááœááºááŸááºáá»á¬ážáá±á¬á¡áááºážáá»á¬ážááá¯ááááºážáááºážááŒááºážááŒá¿áá¬ááá¯áááºááŸá¬ážáá±ážáááºá
áá®ááá¯ááá¯ááºá áá¯á¶ááŸááºáá¬ážá
ÐПÑЌалÑМПá
áááºá¹ááá¬áá«! á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá áá®á¡ááŒá±á¬ááºážááᯠchat ááŸá¬ áá±ážáá¬ážááŒá®ážáá¬ážááŒá áºáá±ááá·áº á¡ááŒá±áááẠáááŸááºáááá«áá°ážá CTE ááá¯á¶á á¶ááŒáá·áº WITH ááá¹áááᯠáá áºáááºážáááºážááŒáá·áº áá»á²á·ááœááºááẠá¡á á®á¡á ááºááŸááá«ááá¬ážá
áááá±ážá áá»áœááºá¯ááºááá¯á·á WITH á¡ááá¯ááºážááẠá¡áááºážááẠááááºáá»ááºážáááºá áá«áᬠáá»áœááºáá±á¬áºááá¯á·á¡ááœáẠáá±ážáááºáá²á· á¡ááºá¹áá«áááºáá áºáá¯ááá¯áá«áá²á
áá»áœááºáá±á¬áºáá¬ážáááºáá«áááºá áá»á±ážáá°ážáááºáá«áááº!
á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá á¡áááºážá áááºáááºá á¬ážááá¯á·áá±á¬ááºážáááºá ááá¹áá¬áá¯á¶ážááá¯ááºáá¬áá±ážááœááºážá á¡áá»áá¯á·áá±á¬ áá»áá¶áá¯á¶á á¶ááŒáá·áº áá±áá¬áá»ááºááŒááºážá¡á¬áž ááŒááºáááºááẠá¡á á®á¡á ááºááŸááá«ááá¬ážá
áá±áá»á¬áá±á«ááºá á€áááºááŸá¬ áá»áœááºá¯ááºááá¯á·ááááºážá á®ááŒááºážááœáẠáá»áœááºá¯ááºááá¯á·á ááááá¯á¶ážá¡áá¯ááºááŒá áºáááºá ááᯠáá»áœááºá¯ááºááá¯á·ááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠááŸááºáááºá áœá¬ áááºááá¯á·áá¯ááºáá±á¬ááºááááºááᯠáááºááŒáœá áœá¬ á ááºážá á¬ážáá±áá«áááºá áá®ážáá¯ááº* ááᯠá áááºááŸáááºááá·áºáááºá
* áá®ážáá¯ááºáá±á«áºááŸáááá¯ááºáá»á¬ážááá¯ááŸáááºááŒá®ážá¡áá¬áá¬ááá¯áá¯ááºáá±á¬ááºáá«á
áááºážááẠá áá áºáá áœááºážáá±á¬ááºáááºááᯠáá áºáááºážáááºážááŒáá·áº áááºáá±á¬ááºááŸá¯ááŸáááá¯ááºááá¬ážá ááá·áºááœááºážááŸá¯ááẠááá¯áá²á·ááá¯á· ááŒááºáááºáááºáá¬ážá
áááºážááá¯á·ááá¯ááºááá¯áẠáá»ááºááá¯ááºáááºááŸáá·áº á¡ááºááááºáá»á¬ážááẠá¡ááœááºáá±ážáá¶áá±ááẠááŒá áºáá±á¬ááºážááŒá áºááá¯ááºáá±á¬áºáááºáž áááºážááẠááœá±ážáá»ááºááŸá¯áá»á¬ážá á áœááºážáá±á¬ááºááẠááá¯á·ááá¯áẠááá·áºááœááºážááŸá¯áá»á¬ážá á áœááºážáá±á¬ááºáááºááᯠááááá¯ááºá á±áááºááá¯ááºáá«á
ááŒá®ážáá±á¬á· áá±á¬ááºáááºáá±ážááœááºážáá±ážáá áºáá¯á áááºáááºááŸá¯ááŸá¬ áááºáž á¡ááá áá±á¬á·á¡ááŒá±á¬ááºáž ááŒá±á¬áá²á·áááºá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááœáẠáá ááºáá¯á¶ááŸááºá¡ááá¯ááºáž á¡ááá¯ááºážááœá²ááŒááºážááŸááááºá ááŸááºáá«ááá¬ážá áá áºááá²á· ááá¯ááºáá®áá²á· áááºá áœá²á¡ááá¯ááºážá¡ááŒá¬ážááᯠáááºááŸááºááá¯ááºáá²á·á¡áá« áá®á¡ááá¯ááºážááᯠáááºááŸá¯áááŸá¬ ááá¯ááºáá¬ážá
áá¯ááºáá«áááºá
áá±ážááœááºážáá áºáá¯á á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºááá·áºá¡ááááá±á¬á·ááá¯áá»áŸ áááœá±ážáá»ááºááá¯ááºáá«áá "áááºá áœá²" á¡ááœááºá¡á áááºážááᯠáá±á¬ááºáá¶ááœáẠááá¯ááá¯á áá áºáá»á áœá¬ ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±áááºá¡ááœáẠá€áá±áá¬ááᯠááŒááºáááºá á®ááŒááºááŸá¯áááºážáá«ážá á±áááºá¡ááœáẠ"áááºá áœá²" á¡ááœááºá¡ááá¯ááºáž áááááá»áá»áá¯ááºáá±á¬ááºááŒááºážááẠááŸááºáááºáá«ááá¬ážá ááá·áºááœáẠrange queries áá»á¬ážáááŸáááá·áºá¡ááŒáẠáááºááá®ážááá¯ááẠáááœá±ážáá»ááºááá¯ááºáá«áá áááºážááẠá¡ááááá®ážááœáẠáááºá áœá²áá áºáá¯ááá·áºááẠááá¯ááºáááºáá«ááá¬ážá
áá¯ááºáá«áááºá
á€á¡ááœááºááŒáá·áº á á®áá¬ážáá«á áá±áá¬ááᯠááá¯áá±á¬ááºážá¡á±á¬áẠáá»á¯á¶á·áá±ážááá·áº áááºááá±á¬á·ááœáẠá¡ááœááºáá áºáá¯ááᯠááá·áºááŒááºážááẠá¡áááá¹áá¬ááºááŸááá±áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá¯á¶ážá áœá²áá° IDá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá¯á¶ážááŒá¯áá°ááẠáá°áá®áá±á¬ááá¯ááºááá¯á· ááœá¬ážáá«áááºá á€ááá á¹á ááœááºá á¡áá¯á¶ážááŒá¯áá° ID ááŸáá·áºá¡áá»áááºááá¯ááá·áºáá«á ááá¯á·áá±á¬áẠááá·áºáá±áá¬áá»á¬ážááᯠááá¯ááá¯áá±á¬ááºážááœááºá áœá¬ áá»á¯á¶á·ááá¯ááºáááºááŒá áºáááºá áááºá áœá²ááŸáá·áºáááºáááºáá á¡áááºá ááá·áºááœáẠáááºá áœá²áá»á¬ážááŸáá·áº á¡ááá¯ááºážá¡ááŒá¬ážáá±ážááœááºážáá»á¬áž áááŸááá²á·áá«áá áááºá áœá²ááᯠá¡ááááá®ážááœáẠááá·áºááẠáááá¯á¡ááºáá«á
OK á¡áááºážáá»á±ážáá°ážáááºáá«áááº!
source: www.habr.com