HighLoad++ áá±á¬áºá ááᯠ2018á ááœááºááááºáááºážáá ááá¯áááºáᬠá áááºá áá ážáá
á¡áá»ááºážáá»á¯ááºááŸáá·áº áááºááŒáá»ááº-
Yuri Nasretdinov (VKontakte)- á¡á á®áááºáá¶á á¬ááẠáá»áœááºá¯ááºááá¯á·ááá¯áá¹ááá®ááœáẠClickHouse ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá á¡ááœá±á·á¡ááŒá¯á¶- áá»áœááºá¯ááºááá¯á· áááºážááᯠá¡áááºááŒá±á¬áá·áº ááá¯á¡ááºáááºá áá»áœááºá¯ááºááá¯á· áá±áá¬áááºáá»áŸ ááááºážáááºážáá¬ážááááºážá áááºážááᯠáááºááá¯á·áá±ážáá¬ážáá¯á¶ á áááºááŒáá·áº ááœá±ážááœá±ážáá«áááºá
á¡ááá¯áá±á¬ááºážáá
á¹á
ááºážáá»á¬áž:
Yuri Nasretdinov - á¡á¬ážáá¯á¶ážáááºá¹ááá¬áá«! áá»áœááºáá±á¬á·áºáá¬áááºá Yuri Nasretdinov áá«á áá»áœááºáá±á¬áºááááºáááºááŒá®ážáá¬ážáá«á áá« VKontakte ááŸá¬á¡áá¯ááºáá¯ááºáááºá áá»áœááºá¯ááºááá¯á·ááá¬áá¬áááºá ᯠ(áá±á¬ááºážááŸáá·áºáá»á®áá±á¬) á០ClickHouse áá²ááá¯á· áá±áá¬ááá·áºááœááºážáááºážá¡ááŒá±á¬ááºáž ááŒá±á¬ááŒáá«áááºá
áá áºáá¯á¶ážááœá±á áá¬ááœá±áá²á áá¬ááŒá±á¬áá·áº á á¯áá±á¬ááºážáá¬áá²á
áá»áœááºá¯ááºááá¯á·ááŒá±á¬ááŒááá·áºá¡áá¬- áá»áœááºá¯ááºááá¯á· áá¬ááœá±áá¯ááºáá±á¬ááºáá²á·ááá²á áá¬ááŒá±á¬áá·áº âClickHouseâ ááᯠááá¯á¡ááºááá²á á¡áá®ážáá®ážá áááºážááᯠáá¬ááŒá±á¬áá·áº ááœá±ážáá»ááºáá²á·ááá²á á¡áá°ážáááẠááŒááºáááºááŸá¯áááŸááá² áááºáááŸáááá¯ááºááá·áº á áœááºážáá±á¬ááºáááºáá»áá¯ážá ááŒá¬ážáá¶ááá¬ážáá»á¬ážá¡ááŒá±á¬ááºážá áááºážááá¯á·ááŸáá·áºáá»áœááºá¯ááºááá¯á·ááŒá¯á¶ááœá±á·áá²á·ááá±á¬ááŒá¿áá¬áá»á¬ážááŸáá·áº open source ááŸáá»áœááºá¯ááºááá¯á·áááŒá±ááŸááºážáááºážáá»á¬áž - KittenHouse and Lighthouse ááŸáááºáá®ážáá¬ážáá±á¬áá»áœááºá¯ááºááá¯á·áááŒá±ááŸááºážáááºážáá»á¬ážá¡ááŒá±á¬ááºáž áááºáá¶ááŒá±á¬ááŒáá«áááºá
áá»áœááºá¯ááºááá¯á·áá¬ááŒá±á¬áá·áºáá¬ááŒá±á¬áá·áºáá¬áááá¯áá¯ááºáááŸá¬áá« (á¡áá¬áá¬ááá¯ááºážáᬠVKontakte ááŸá¬á¡ááŒá²áá±á¬ááºážáá±ááŸá¬ááá¯ááºáá¬ážá) áá»áœááºá¯ááºááá¯á·ááẠá¡ááŸá¬ážááŸá¬ááŸááºáááºážáá»á¬ážááᯠá
á¯áá±á¬ááºážááá¯ááẠ(ááá¯áá±áá¬ááœáẠáá±áá¬áá¬áá±á«ááºážáá»á¬ážá
áœá¬ááŸááá±á¬ áá¬áá¬ááá¯ááºáá»á¬ážááŸááááº)á ááááºážááááºážáá»á¬ážááᯠááœááºáá»ááºáá¬ááœáẠáá
áºáááºážáááºážááŒáá·áº ááá¯áá¡áááºááŒá±áááá·áºáááºá áá»áœááºá¯ááºááá¯á·ááœáẠá€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºááá·áº áá¬áá¬áá±á«ááºáž áá±á¬ááºážááŸáá·áºáá»á®ááŸááááºá
áá«ááá¯á· áá¬ááŒá±á¬áá·áº áá¯á¶ážááŒááºáá²á·áá¬áá²á ááŸááºáááºážáá»á¬áž ááááºážáááºážáááºá¡ááœáẠáá»áœááºá¯ááºááá¯á·ááœáẠááŒá±ááŸááºážáá»ááºáá»á¬áž ááŸááá±á¬ááºážááŸáááá¯ááºáááºá á€ááœáẠ- á€áá²á·ááá¯á·áá±á¬á¡áá»á¬ážááŒááºáá° "Backend VK" ááŸááááºá á
á¬áááºážááœááºážááẠá¡áá°ážá¡ááŒá¶ááŒá¯ááá¯áá«áááºá
áá
áºáá¯á¶ážááá¯áᬠáá¬áá²á áááºážááẠááá¬á¡áááºážáá»á¬ážááᯠááŒááºáá±ážááá·áº á¡ááºáá»ááºáá
áºáá¯ááŒá
áºáááºá VK ááŸá á¡ááºáá»ááºáá»á¬ážááẠá¡ááŒá¬áž ááá¯ááºáááá¯áááºáá±á¬ááºááŸá¯áá»á¬áž áá¯áá±á«áºáááºá ááŒá®ážáá±á¬á· áá®ááŸá¬ ááŒá¯á¶ážáá±áá²á·á
áá
áºáᬠ(á¡ááŒáá¯ááºááœá±áá»á¬ážáááº)á áááºááá¯áááºážááŒááºá·? áá±á¬ááºážááŒá®á áá±á¬ááºáááºáá¬ážáá±á¬ááºáá«á
ááŸááºáááºážáá»á¬ážááᯠááááºážáááºážááẠá¡áááºá¡áá¬á¡áá¯á¶ážááŒá¯ááá¯ááºááááºážá Hadup ááᯠááŒá±á¬ááá¯á· áááŒá
áºááá¯ááºáá«áá°ážá ááá¯á·áá±á¬áẠá¥ááá¬á Rsyslog (á€ááŸááºáááºážáá»á¬ážááᯠááá¯ááºáá»á¬ážááœáẠááááºážáááºážááŒááºáž)á LSD LSD ááá¯áᬠáá¬áá² áááºáá°áááá²á ááá¯ááºáá«á ဠLSD ááá¯ááºáá«á ááá¯ááºáá»á¬ážááᯠá¡áá®ážáá®áž ááááºážáá¬ážááá¯ááºááẠá áá±á¬ááºážááŒá®á ClickHouse áááºáá°ážáááºážáá±á¬ááœá±ážáá»ááºááŸá¯áá
áºáá¯ááŒá
áºáááºá
Clickhouse ááŸáá·áº ááŒáá¯ááºáááºáá»á¬áž- ááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áº á¡ááœáá·áºá¡áááºážáá»á¬áž
áá«ááá¯á·áá¬ááá¯áá»ááºáá¬áá²á áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºáá±á¬ááºáá»ááºá¡ááœáẠá¡ááœááºá¡áááºáž á áááºáá°á áá¬áááá¯áá«á ááá¯á·ááŸáᬠáááºážááẠá¡áááá·áºáá¯á¶ážááœá²á·á ááºážááŸá¯ááŒáá·áº ááá¯áá±á¬ááºážááŒá®áž áááºážááẠáá±áá¹áá¬á¡ááŒááºáááºááœáẠá¡áá¯ááºáá¯ááºááŒá±á¬ááºáž áá±áá»á¬á á±ááá¯áá«áááºá á¡áá»á¬ážááŒá®ážáá±ážáá»ááºáááºá ááŒááºááŒááºáá±ážáá«á áá ááŸá áºá á¡á²áá«ááᯠá¡áá»áááºá¡ááŒá¬ááŒá®áž ááááºážáá¬ážáá»ááºáááºá âáá®ááŸá¬ áá áºáá¯áá¯á¡áááºáááŒá±áá°ážâ ááá¯á· ááŒá±á¬áá²á·áá²á· ááŒá¿áá¬ááá»áá¯á·ááᯠáá¬ážáááºáá»ááºááŒá®áž ááœááºáá²á·áá²á· á ááá±á¬ááºá)á ááŒá®ážáá±á¬á· ááœááºáá²á·áá²á· á áá ááŒá áºáá»ááºáá²á·áá¬ááᯠáá»áœááºáá±á¬áºááá¯á· ááŒááºáá»ááºáá«áááºâ áá±áá¬áá»á¯á¶á·ááŒááºáž - áááºážááẠá¡áááºááŒá±á¬áá·áº á¡áá±á«ááºážááŒá áºáááºááᯠááŸááºážááŸááºážáááºážáááºážááááá±á¬ááŒá±á¬áá·áº áááºážááẠáá±áá¬áá°ááŸá¯ááá¬áááᯠáá»áŸá±á¬á·áá»áá±ážáááºá
áá»áœááºá¯ááºááá¯á·ááœáẠááá¯áá²á·ááá¯á·áá±á¬ á
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá±á¬ ááá¯á¡ááºáá»ááºáá
áºáá¯ááŸááááº- áá
áºáá«áá
áºáá¶ááœáẠá¡áá»áá¯á·áá±á¬ command áá»á¬ážá output (á¥ááá¬á ááŸááºáááºážáá»á¬áž) ááẠ4 áá®ááá¯ááá¯ááºáááºááá¯á ááœááºáá°ááá¯ááºáááºá á€á¡áá¬ááẠUDP ááŸáá·áºá¡áááºá¡áá¯ááºáá¯ááºáá«áá áááºážáááºáá¯á¶ážá
áœá²áááºáááá¯á¡ááºáá« ... áááºážááœááºáá»áááºáááºááŸá¯á¡ááœáẠ"á¡ááá¯áá±á¬ááºáž" áá»á¬ážáááŸááá«á ááŸáá·áºáá¬áá¬á¡áá»á¬ážá¡ááŒá¬ážá¡ááœááºáááºážáááºá¡ááá¯áá
áºáá¯ááŒá
áºáááºá
Open Source á áá»áœááºá¯ááºááá¯á·ááᯠáá±ážáá±á¬ááºáááºáá»á¬ážááᯠááŒáá·áºááŒáá«á
áá¯á·á ááááŠážá
áœá¬á áá»áœááºá¯ááºááá¯á·ááœáẠLogs Engine ááŸáááẠ- á€áááºááŸá¬ áá»áœááºá¯ááºááá¯á·áá¡ááºáá»ááºááŒá
áºáááºá áá°á¡ááá±á¬á· á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¯ááºááá¯ááºáááºá á
á¬ááŒá±á¬ááºážááŸááºááœá±áá±á¬áẠáá±ážááá¯ááºáááºá áá±á¬ááºážááŒá®á áááºážááẠáá±áá¬áá»á¬ážááᯠááœáá·áºáááºážááŒááºáá¬á
áœá¬ áá»á¯á¶á·ááŒááºážáááŒá¯áá« - áá»áœááºá¯ááºááá¯á·á¡ááá¯ááŸááá«á áá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯áẠáá±á¬áºáá¶ááŒá®ážáá»á¬áž áá»á¯á¶á·ááá¯ááºáá«áááº... (ááŒá
áºááá¯ááºáá»áŸááº)á áá
áºáá¯áááºážáá±á¬ááŒá¿áá¬ááŸá¬ ááááááŸááºáá¬ááºáá²ááœáẠá¡á¶áááºááœááºáá»ááŸááá±á¬ á¡áá¬áá»á¬ážááá¯áᬠá
áœáá·áºááá¯ááºááŒááºážááŒá
áºáááºá áá»ááºáá¬ááá¯áááºáááºá áááºááẠá€á¡ááºáá»ááºá binlog ááá¯ááá°ááẠááá¯á¡ááºááŒá®áž ááá¯á·ááŒá±á¬áá·áº á¡áá»áááºá¡áá±á¬áºááŒá¬áá«áááºá
á¡ááŒá¬ážááœá±ážáá»ááºá
áá¬áá»á¬áž ááŸááá«ááá¬ážá á¥ááᬠ"Hadup" á áááºáááºáááœááºáá°ááŒááºáž... Hadup ááá¯áááºáááºááẠááœááºáá°áááºáᯠáááºáá°áááºááááºážá áá¯ááºáá«áááºá ááŸááºáááºážáááºááŒááºážá¡ááœááºááŒá¿áá¬áááŸááá«á á
á¬áááºáá²á·á¡áá« áá±ážááœááºážááœá± áá±á«áºáá¬áááºáá«áááºá áá°á¡áááŒá±á¬ááááºááá¯ááẠá¡áá°ážáááŒáá·áº áá
áºáá¯á¶ážááœá±á¡ááœááºáá±á¬á· áááŒá
áºááá¯ááºáá«áá°ážá áá±ááŸááºááá¯ááŸá±á¬ááºááŸá¯ - áá¯ááºáá«áááºá áá¯ááºáá²á·á áá±áá¬áá»á¯á¶á·ááŒááºáž - áá¯ááºáá«áááºá ááŒáá¯ážááŸááºáá»á¬áž - áááºááŸááºáááºážáááºááá¯ááºáááºááá¯áᬠááŸááºážáá«áááºá ááá¯á·áá±á¬áº áá¬áá¬á¡áá»á¬ážá¡ááŒá¬ážá០á¡áá¶ááœááºážááŒááºáž... áááºááá¯ááºááá¯áẠáá
áºáá¯áá¯áá¯ááºááá±ážáááºá
Rsyslog ááááºáá±á¬á·á áá«ááá¯á·á áááºáá±á¬á·ááºááᯠáááœáŸáá·áºáá áºáá² á¡á²áá«ááᯠáááºááá¯ááºá á±ááá¯á· á¡áááºááœá±ážáá»ááºááŸá¯áá áºáá¯á¡áá±áá²á· á¡áá¯á¶ážááŒá¯áá²á·áá±ááá·áº ááá¯ááºážá¡ááŸááºááœá± ááá±ážááá¯ááºáá«áá°ážá áá°á¡ááá±á¬á· 4 áá®ááá¯ááá¯ááºááẠááá¯ááá±ážááá¯ááºáá«áá°ážá áááºááá¯ááºááá¯ááºáááºáž ááá¯áááºážá¡ááá¯ááºáž data compression áá¯ááºááá«áááºá ááá¯ááºáá»á¬ážá០áá¬áááºáá«áááºá
ááá¯á·áá±á¬áẠLSD á "badushka" ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŸááá«áááºá á¡ááŒá±áá¶á¡á¬ážááŒáá·áº "Rsyslog" ááŸáá·áºáá°áá®áááº- áááºážáááºááŸááºáá»á¬ážáá±á¬á
á¬ááŒá±á¬ááºážáá»á¬ážááá¯áá¶á·ááá¯ážáááºá ááá¯á·áá±á¬áºáááºážááẠUDP ááŸáááá·áºá¡áá¯ááºááá¯ááºááá¯ááºáá²á ááááºáá±á¬á·á áá¶ááá±á¬ááºážá
áœá¬ááŒáá·áºá á€á¡áá¬áá»á¬ážá
áœá¬ááá¯ááá¯áá±áá¬ááœááºááŒááºáááºáá±ážáá¬ážáááºááá¯á¡ááºáááºá áá±á¬ááºáá±á«ááºážáá»á¬ážá
áœá¬áá±á¬ áá¬áá¬áá»á¬ážá០ááŸááºáááºážáááºááá¯ááºá
á±ááẠLSD ááᯠááŒááºáááºáá®ááá¯ááºážááŒá¯áá¯ááºááẠááá¯á¡ááºáá«áááºá
ááŒá®ážáá±á¬á· áá®ááŸá¬! áááºá
áá¬áá±á¬ááºážáá±á¬ááœá±ážáá»ááºááŸá¯ááẠElasticSearch ááŒá
áºáááºá áááºááá¯ááŒá±á¬áááá²? áá°á á
á¬áááºá¡á¬ážáá±á¬ááºážáááºá ááá¯ááá¯áá¬á áá°á ááŒááºááŒááºáááºáááºá áá«áá±ááá·áº á
á¬áá±ážáᬠááááºááá±á¬ááºážáá°ážá áááá¡áá»ááºá data ááœá±ááᯠcompress áá¯ááºááẠá¡áááºážá¡á¬ážáááºážáá«áááºá ááŒá
áºááá¯ááºáááºááŸá¬á ááŸá¬ááœá±ááŸá¯ á¡ááŒáá·áºá¡á
á¯á¶ááẠáá°áááºáž volume ááẠááá¯ááá¯ááŒá®ážáá¬ážáá±á¬ áá±áá¬áááºáá±á¬ááºááŸá¯ ááá¯á¡ááºáá«áááºá áááºáááºááẠáááºáá²ááŒá®áž ááŒá¿áá¬áá»á¬áž áááŒá¬áá ááŒá
áºáá±á«áºáááºáááºá ááá¯á·á¡ááŒáẠElastic ááŒáá·áº á¡áá¶ááœááºážááŒááºáž - áá»áœááºá¯ááºááá¯á·ááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºááááºááŒá
áºáá«áááºá
á€ááœáẠClickHouse ááẠá
á¶ááŒááœá±ážáá»ááºááŸá¯áá
áºáᯠáá¯ááºáá«áááºá áá
áºáá¯áááºážáá±á¬á¡áá»ááºááŸá¬ áá±á¬ááºáá±á«ááºážáá»á¬ážá
áœá¬áá±á¬ áá¬áá¬áá»á¬ážá០á¡áá¶ááœááºážááŒááºážááẠááŒá¿áá¬ááŒá
áºáááºá áá«áá±ááá·áº á¡áááºážáá¯á¶ážáá±á¬á· ááŒá¿áá¬áá
áºáá¯ááŸááááºá á¡á²áá«ááᯠáá
áºáááºážáááºážáá²á· ááŒá±ááŸááºážááá¯á· ááŒáá¯ážá
á¬ážááá¯ááºáááºá áá»ááºáá²á· á¡á
á®áááºáá¶á
á¬á áá®ááŒá¿áá¬áá²á· áááºáááºááá¯á·áá«á ClickHouse á០áááºááá¯á·áá±á¬ á
áœááºážáá±á¬ááºáááºááᯠáááºáá»áŸá±á¬áºááá·áºááá¯ááºáááºáááºážá
á¡á²áá«ááᯠáááºááá¯ááá·áºááá²á MergeTree
âClickHouseâ á¡ááŒá±á¬ááºáž áááŒá¬ážáá°áž ááá¯á·ááá¯áẠááááá±ážáá°áá»á¬ážáá²á០áááºáá°áááºážá áá« áááºážááᯠááŒá±á¬á áá¬ááá¯ááẠááá¯ááºáá¬áž? á¡áááºážááŒááºáááºá ááá¯áá±áá¬ááœááºááá·áºááœááºážááŒááºáž - áá áºá áá¹ááá·áºáá»áŸáẠ1-2 gigabitsá áá áºá áá¹ááá·áºáá»áŸáẠ10 gigabits á¡áá áá±á«ááºááœááºááá¯ááºááẠ- 6-core Xeons ááŸá áºáᯠ(ááá¯á·á¡ááŒáẠá¡á áœááºážáááºáá¯á¶ážááá¯ááºáá«)á RAM 256 GBá 20 terabytes ááŸááá«áááºá RAID ááœáẠ(áááºáá°áá»áŸ configure ááá¯ááºáá¬ážá áá¯á¶áá±áááºáááºáá»á¬áž)á ClickHouse áá±á¬á·ááºáá²áá±ážáá¬ážáá° Alexey Milovidov ááẠáááºááá·áºá¡áá¬ááá¯áá»áŸ áááŒááºáááºáá¬ážáá±á¬ááŒá±á¬áá·áº ááá¯ááºááá¯áá±ááá¯ááºááẠ(á¡áá¬á¡á¬ážáá¯á¶ážááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠááá¯áá²á·ááá¯á·áááºááŒá áºáááº)á ááá¯á·ááŒá±á¬áá·áºá áá±áá¬ááᯠáá±á¬ááºážá áœá¬áá»á¯á¶á·áá¬ážáá»áŸáẠáá áºá áá¹ááá·áºáá»áŸáẠááá¯ááºážáá±á«ááºáž á áá®áá®áá¶ááá·áºááᯠá áááºááºáááºááŒááºážá¡ááŒááºááŸá¯ááºážááᯠáááŸáááá¯ááºáááºá á á¬ááŒá±á¬ááºážáá áºááŒá±á¬ááºážááᯠ% ááŒáá¯ááºááŸá áºáááºáá«á - áá áºá áá¹ááá·áºáá»áŸáẠááá¯ááºážáá±á«ááºáž áááºáž 6á ááá¯ááá¯áááºááŸá¬á áááºážááẠá¡ááœááºááŒááºáá¯á¶ááááºá
á¡á²áá«ááᯠáááºááá¯ááá·áºááá²á VK á PHP ááá¯áá¯á¶ážáááºááá¯áᬠáááºáááá«áááºá áá»áœááºá¯ááºááá¯á·ááẠááŸááºáááºážáá
áºáá¯á
á®á¡ááœáẠMergeTree ááá¬ážááœáẠHTTP ááŸáá
áºááá·áº PHP áá¯ááºáá¬ážáá
áºáŠážá
á®á០âClickHouseâ ááá¯á· ááá·áºááœááºážáá«áááºá á€á¡á
á®á¡á
á¥áºááœáẠááŒá¿áá¬ááᯠáááºáá°ááŒááºááááºážá á¡ááŒá±á¬ááºážáá
áºáá¯áá¯ááŒá±á¬áá·áº áá°ááá¯ááºážáááºááá±á¬ááºáá²á·ááŒáá«á ááŒá±á¬ááŒáá«áá
á±á
ááááŠážá áœá¬á áá¬áá¬áá»á¬ážá áœá¬ááŸáááẠ- ááá¯á·ááŒá±á¬áá·áºá áá»áááºáááºááŸá¯áá»á¬áž (ááá±á¬ááºáž) á¡áá»á¬ážá¡ááŒá¬ážááŸááááá·áºáááºá ááá¯á·áá±á¬áẠáá áºá áá¹ááá·áºáá»áŸáẠáá áºááŒáááºááẠáááŒá¬áááŒá¬ MergeTree áá²ááá¯á· áá±áá¬ááá·áºááŒááºážááẠááá¯áá±á¬ááºážáá«áááºá á¡áááºááŒá±á¬áá·áºáááºážá á¡áá¯áá±á áá®á¡ááŒá±á¬ááºáž áááºážáááºážááŒá±á¬ááŒáááºá áá±á¬ááºáááºá áááºáááºá á¬ážá áá¬áá±á¬ááºážááá·áºáá±ážááœááºážááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááá¯ááºáá«á áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬ááŒáœááºááááºáááá¯á¡ááºáá«á áá»áœááºá¯ááºááá¯á·ááẠá¡áááºá¡áááºáá¬áá¬áá»á¬ážáááá¯á¡ááºáá«á áá»áœááºá¯ááºááá¯á·ááẠâClickHouseâ ááœáẠááá¯ááºááá¯ááºááá·áºááœááºážááá¯ááẠ(ááŒá áºááá¯ááºááẠ- ááá¯áááá¯ááºááá¯ááºá ááá¯áá±á¬ááºážáááº)á
ááá¯á·ááŒá±á¬áá·áºá MergeTree ááœáẠááá·áºááœááºážááŒááºážááᯠáááºááá¯á·áá¯ááºáá±á¬ááºááááºážá áá
áºá
áá¹ááá·áºááᯠáá
áºááŒááẠááá¯á·ááá¯áẠáááŒá¬ááááẠááá¯áááŒá¬áááŒá¬ ááá·áºááœááºážááŒááºážááẠá¡áááºááŒá±á¬áá·áº ááá¯áá±á¬ááºážááááºážá á¡ááŸááºááŸá¬ âClickHouseâ ááẠáá±á¬áºáá¶áá¬ážáá±áá¬áá±á·á
áºáá
áºáá¯ááŒá
áºááŒá®áž áááºááá±á¬á·á áááºá
ááºááá¯áẠáá±áá¬áá»á¬ážááᯠá
á®áááºážáᬠááá·áºááœááºážááá·áºá¡áá«á ááá¯ááºá¡áá»á¬ážá¡ááŒá¬ážááᯠáá±áá¬á
á®á
á¥áºáá¬ážááá·áº áá±á¬áºáá¶á¡áá±á¡ááœááºááŸáá·áº áá®áá»áŸá¡á±á¬áẠáááºáá®ážáá¬ážááŒááºážááŒá
áºáááºá áááºááá±á¬á·á ááŒá®ážááá¯ááºááŸá¯á¡ááá¯áẠ(áá®ážááŒá¬ážáááºážááœáŸááºáá
áºáá¯ááᯠáááºáá®ážáá¬ážáááºá ááá·áºááœááºážááŸá¯áá
áºáá¯á
á®á¡ááœáẠáá
áºááºáá±á«áºááŸá ááá¯ááºá¡á
á¯áá
áºá
á¯)á ááá¯á·áá±á¬ááºáá±á¬ááºáááºááá·áºááœááºážááŸá¯áá±á¬ááºáá¬ááŒá®áž áá±á¬ááºáá¶ááœáẠáááºážááá¯á·ááᯠááá¯ááá¯ááŒá®ážáá¬ážáá±á¬ âá¡ááá¯ááºážááá¯ááºážáá»á¬ážâ á¡ááŒá
Ạáá±á«ááºážá
ááºáá¬ážáááºá áá±áá¬ááᯠá
á®ááœá²áá¬ážáá±á¬ááŒá±á¬áá·áº ááŸááºáá¬ááºáá»á¬ážá
áœá¬ááᯠá¡áá¯á¶ážáááŒá¯áá² á
á®áá¬ážáá±á¬ ááá¯ááºááŸá
áºáá¯ááᯠâáá±á«ááºážá
ááºážááŒááºážâ ááŒá
áºááá¯ááºáááºá
ááá¯á·áá±á¬áº ááẠááá·áºááŸááºážáá¬ážááá·áºá¡ááá¯ááºážá ááá·áºááœááºážááŸá¯áá áºáá¯á á®á¡ááœáẠááá¯áẠ10 ááá¯ááºááᯠáá±ážáá¬ážáá«á ClickHouse (ááá¯á·ááá¯áẠááá·áºáá¬áá¬) ááẠáá»ááºááŒááºá áœá¬ áá¯ááºáá¯á¶ážááœá¬ážáááºááŒá áºááŒá®ážá ááá¯á·ááŒá±á¬áá·áº á¡á á¯á¡áá±ážááŒá®ážáá»á¬ážááœáẠááá·áºááœááºážááẠá¡ááŒá¶ááŒá¯áá¬ážáááºá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºáá¯ááºááŸá¯ááœáẠááááá¯á¶ážá¡á á®á¡á á¥áºááᯠáááºááá·áºá¡áá«áá»áŸ ááá¯ááºáá±á¬ááºáá²á·áá«á á€áá±áá¬ááœáẠáá¶áá«áẠ2 áá«ááŸááá±á¬á
á€ááœááºáá»áœááºá¯ááºááá¯á·á
áááºááœáá·áºááá¯ááºáá±á¬áá¬áá¬áá
áºáá±á¬ááºááá·áºááŸááááºá PHP áá¬ááŸááááºááá¯ááŒááºáá±á¬ááºááŒáá·áºáá«á áá¬áá¬áá
áºáá¯á
á®ááœáẠáá»áœááºá¯ááºááá¯á·ááẠâClickHouseâ ááŸáá·áº áá»áááºáááºááŸá¯áá
áºáá¯ááᯠááááºážááááºážáá¬ážááŒá®áž á
áá¹ááá·áºá¡áááºážáááºááá¯ááºáž áá±áá¬ááᯠááá·áºááœááºážáá±ážááá·áº âKittenhouseâ áá¯áá±á«áºáá±á¬ áá»áœááºá¯ááºááá¯á·á áá±áááœááºáž á¡á±ážáá»áá·áºááŸááááºá áá±áá¬ááᯠMergeTree áá²ááá¯á·áááá·áºáá² MergeTree áá²ááá¯á· ááá¯ááºááá¯ááºáááá·áºááá
á±ááẠáááá»á
áœá¬áá±á¬ááºááœááºáá±ážááá·áº ááŒá¬ážáá¶ááá¬ážáá
áºáá¯áá²ááá¯á· ááá·áºááœááºážáááºá
ááŒá¬ážáá¶ááá¬ážáá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºáááºá
áá«áá¬áá²? Buffer tables áá»á¬ážááẠááœá²áá¯ááºáá¬ážáá±á¬ memory á¡ááá¯ááºážáá áºáá¯ááŒá áºááẠ(ááá¯ááá¯áá¬á áááºážááᯠáááŒá¬áá ááá·áºááœááºážááá¯ááºáá«áááº)á áááºážááá¯á·ááœáẠá¡ááá¯ááºážááá¯ááºážáá»á¬ážá áœá¬ áá«áááºááŒá®áž á¡ááá¯ááºážáá áºáá¯á á®ááẠááœááºáááºáá±á¬ ááŒá¬ážáá¶áá áºáá¯á¡ááŒá Ạáá¯ááºáá±á¬ááºáᬠáááºážááá¯á·ááᯠáá®ážááŒá¬ážááœááºáááºá áœá¬ áááºááŸá¬ážááŒááºážááŒá áºááẠ(ááá·áºááœáẠá¡ááá¯ááºážáá»á¬ážá áœá¬ááŸááá«áá áá áºá áá¹ááá·áºáá»áŸáẠááá·áºááœááºážááŸá¯áá»á¬ážá áœá¬ ááŸááááá·áºáááº)á á€ááá¬ážáá»á¬ážááŸáááºáááºááŒá áºááá¯ááºááẠ- ááá¯á·áá±á¬ááºáááºáááºááŒá¬ážáá¶ááŸáá·áºáááááá¬ážáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážá á¯á ááºážááŸá¯ááá¯áááºáá±á¬áºáááºážááá¯á¡áá»áááºááœááºáá±ážáááºááááºááá¯á·áá¬ážáá±á¬ááŒá±á¬áá·áºááá¯áá±áá¬ááŸááááºáá¬ááá¯áá±á¬ááºážáá«áááºá ááŒá¬ážáá¶ááá¬ážáá»á¬ážááẠá¡ááœááºáá±á¬ááºážááœááºáá±á¬ QPS ááá¯ááŒááááºá ááá¯ááá¯áááºááŸá¬ 3,ááá QPS á¡áá ááá·áºááœááºážáá±á¬á¡áá«ááœáẠáááºááẠááŒá¿áá¬áá áºá á¯á¶áá áºáá¬ááŸááááºááá¯ááºáá«á áá¬áá¬ááẠáá«áá«áá¯á¶ážááŸá¯á¶ážááœá¬ážáá«á áááºááá¯áá®ááœááºáᬠááááºážáááºážáá¬ážáá±á¬ááŒá±á¬áá·áº áá±áá¬áá»á¬áž áá¯á¶ážááŸá¯á¶ážááá¯ááºáááºááŸá¬ ááŸááºážáá«áááºá
áá
áºáá»áááºáááºážááŸá¬áááºá ááŒá¬ážáá¶áá
áºáá¯áá«ááá·áºá¡á
á®á¡á
ááºááẠá¡ááŒá±á¬ááºážá¡áá²ááᯠááŸá¯ááºááœá±ážá
á±áááºá á¡ááŒá±á¬ááºážááŸá¬ áááºááẠáááá¡á
á®á¡á
ááºá¡áá±á¬ááºážááŒáá·áº buffer table áá±á¬ááºážááᯠáá»áá
áºááẠááá¯á¡ááºáá±á¬ááŒá±á¬áá·áºááŒá
áºááẠ(ááá¬ážááá¯ááá»ááºáá® áá±áá¬ááẠáááºááá·áºáá±áá¬ááœááºá០áá»á±á¬ááºááœááºááœá¬ážáááºááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááᯠáá»ááºáá
áºáááº)á ááá¯á·áá±á¬ááºáááºááá¯á¡ááºáá±á¬ááá¬ážááᯠ"ááŒá±á¬ááºážáá²" ááŒá®ážááŒá¬ážáá¶ááá¬ážááá¯áááºáá¶áááºáá®ážáá«á ááá¯á·ááŒá±á¬áá·áºá ááŒá¬ážáá¶ááá¬ážáááŸááá±á¬áºáááºážá áááºááá±áá¬ááẠáááºááá·áºáá±áá¬ááœááºáá»áŸ á
á®ážáááºážáááºááá¯ááºáá±á¬áºáááºáž áááºážááᯠá¡áááºážáá¯á¶ážá
ááºááœááºážááœáẠdisk ááœááºáááá¯ááºáááºá
Kittenhouse ááá¯áᬠáá¬áá²á áááºááá¯á¡áá¯ááºáá¯ááºáá²
KittenHouse ááá¯áá¬áá¬áá²á áááºážááẠááá±á¬ááºá á®áá áºáá¯ááŒá áºáááºá áááºáá¬áá¬á áá¬ážááᯠááá·áºááŸááºážáá«ááá² áá»áœááºá¯ááºááẠáá»áœááºá¯ááºáá¡á á®áááºáá¶á á¬ááœáẠá¡áá»á±á¬áºááŒá¬ážáá¯á¶ážá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠá á¯áá±á¬ááºážáá²á·ááẠ- "Clickhouse"á Goá á¡ááŒá¬ážáá áºáá¯áá¯ááᯠááŸááºáááá±áá±áááºá áá¯ááºáá²á·á áá«ááᯠGo ááŸá¬áá±ážáá¬ážáááºá C ááŸá¬ áááºááá¯áá±ážáááŸááºážáááºáž ááááá¬ááŒá±á¬áá·áº ááá±ážáá»ááºáá°ážá
ááá¯á·ááŒá±á¬áá·áºá áááºážááẠáá¬áá¬áá
áºáá¯á
á®ááŸáá·áº áá»áááºáááºááŸá¯ááᯠááááºážááááºážáá¬ážááŒá®áž memory ááá¯á· á
á¬áá±ážááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠClickhouse ááœáẠá¡ááŸá¬ážááŸááºáááºážáá»á¬ážáá±ážáá«áá Clickhouse ááœáẠáá±áá¬ááá·áºááœááºážááẠá¡áá»áááºáááŸááá»áŸáẠ(á¡á¬ážáá¯á¶ážááŒá®ážáá»áŸááºá á¡ááœááºá¡áá»áœá¶áá±ážáá¬ážáá»áŸááº)á ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠááŸááºáá¬ááºááᯠáá±á¬ááºážáá¬ážá
á±áááºááá¯ááºáá±á áá»ááºáá±á¬á¡áá¬áá»á¬ážááᯠááá¯ážááá¯ážááŸááºážááŸááºážááẠáá¯ááºáá
áºááá¯ááºáá«á áá¬ááŒá±á¬áá·áºáá²ááá¯áá±á¬á· á¡ááŸá¬ážááœá±áá²á· áá
áºá
áá¹ááá·áºááᯠgigabits á¡áá»á¬ážá¡ááŒá¬áž áá±ážááá¯ááºááẠáá
áºáá»áá¯á·ááᯠááœáŸáá·áºáá
áºááá¯á·ááááºá Kittenhouse á áá«ááᯠáá¯ááºááá¯ááºáá«áááºá ááá¯á·á¡ááŒááºá áááºážááẠáá¯á¶ááŒááºá
áááºáá»ááá±á¬ áá±ážááá¯á·ááŸá¯ááᯠáá¯ááºáá±á¬ááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬ á
ááºááœááºážá
ááºááŸá disk ááá¯á· á
á¬áá±ážááŒá®áž áá
áºááŒááẠ(ááá¯áá±áá¬ááœááºá á
áá¹ááá·áºááŸá
áºááá¯ááºáž áá
áºááŒáááº) á€ááá¯ááºá០áá±áá¬áá±ážááá¯á·ááẠááŒáá¯ážá
á¬ážáááºá á¡á
ááá¯ááºážááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ááŸááºáááºááá¯ážáá»á¬ážáá±á¬áºáááºááᯠá¡áá¯á¶ážááŒá¯áá²á·ááẠ- á¡áá»áá¯á·áá±á¬ binary áá±á¬áºáááºá á
á¬áá¬ážáá±á¬áºááẠ(áá¯á¶ááŸáẠSQL áá²á·ááá¯á·) ááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá
áá«áá±ááá·áº áá®ááá¯ááŒá
áºááœá¬ážáááºá áá¯á¶ááŒááºá
áááºáá»ááá±á¬ áá±ážááá¯á·ááŸá¯ááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž ááŸááºáááºážáá»á¬ážáá±ážááŒá®áž áá¯á¶ážááŒááºáá²á·ááẠ(áááºážááẠá¡ááŒá±á¡áá±á¡á á
ááºážáááºááŸá¯á¡á
á¯á¡áá±ážáá
áºáá¯ááŒá
áºáááº) ... áááºážááᯠáá¬áá®á¡áá±á¬áºááŒá¬á¡á±á¬áẠáááºááŸá¬ážáá²á·ááŒá®áž ááŒááºáááºááá·áºááœááºážáá²á·ááŒá®áž áá¬áá¬áá
áºáá±á¬ááºá០á
áááºááá·áºááœááºážáá²á·ááẠ- Clickhouse ááœáẠááŸááá±áá±ážááŒá±á¬ááºáž ááœá±á·ááŸáááá«áááºá âáá»áááºáááºááŸá¯ááá¯ááºáᬠááŒáá¯ážáá»á¬ážâ - ááá¯á·ááŒá±á¬áá·áºá áá»áááºáááºááŸá¯áá±á«ááºáž áá
áºáá±á¬ááºááœááºá áááºááŒáœá
áœá¬ ááá·áºááœááºážááŸá¯áá
áºáá¯ááẠáá¬áá¬áá±á«áºááœáẠáá»ááºážáá»áŸáá
áºáá±á¬ááºááœá²ááá·áºááŸááá±á¬ áááºá¡á¬ážááᯠáŠážáááºá
á±áááºá á¡á¶á·ááŒá
áá¬áá±á¬ááºážáááºááŸá¬á áá¬áá¬ááẠáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºáá¶áá²á·áá±á¬áºáááºáž á¡áá»áááºá¡áááºááŒá¬ááŒá®ážáá±á¬áẠáá±áá¬ááᯠááá·áºááœááºážáá¬ážáá²ááŒá
áºáááºá áá«áá±ááá·áº áá¬áá¬á¡ááœáẠáááºáá±á¬ááºááŸá¯áá±ážááá¯á· á¡áááºážáááºáá²áá²á·áá«áááº...
nginx ááá·áºáá«á
Thread per connection model á¡ááœáẠááá¯ááá¯á·áá±á¬á¡ááŒá±ááẠnginx ááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠClickhouse áááŸá±á·ááœáẠnginx ááá¯ááá·áºááœááºážááŒá®áž áá áºáá»áááºáááºážááœáẠáá¯á¶á á¶áá°ááŸá áºáá¯á¡ááœáẠáá»áááºááœááºáá»áŸá¬ááŸáááŸá¯ááᯠáááºááŸááºáá±ážááẠ(áá»áœááºá¯ááºááá¯á·áááá·áºááœááºážááŸá¯á¡ááŒááºááŸá¯ááºážááẠá€á¡áá¬ááŒá áºááá·áºáááºááá¯ááºáá±á¬áºáááºáž 2 áááá¯ážáá¬áááº) ááŸáá·áº Clickhouse ááá¯á· áá»áááºáááºááŸá¯á¡áá±á¡ááœááºááᯠááá·áºáááºáá¬ážáááºá á¡áááºááá¯ááºážááŸáá·áº áá»á±á¬áºáá®á áœá¬ áááºááœááºááŸá¯áá±á«ááºáž 50 ááẠááá¯ááá¯ááá·áºááœááºážáááºááŸá¬ á¡ááŸááºáááŸááá¯á¶ááááºá
áá»áœááºá¯ááºááá¯á·ááœáẠá€áá±áá¬ááœáẠnginx áá
áºáá¯áá¬ááŸááá±á¬ááŒá±á¬áá·áº á€á¡á
á®á¡á
ááºááẠáá±áá°áá»á¡á¬ážááŒáá·áº á¡á¬ážáááºážáá»ááºáá»á¬ážááŸáááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááá±á¬áá±á«ááºáá¬áááºá ááá¯á·ááŒá±á¬áá·áºá ဠnginx áá»ááºááœá¬ážáá«áá áá¯á¶áá°áá»á¬ážááŸááá±áá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬áá»á¬áž áá¯á¶ážááŸá¯á¶ážááẠááá¯á·ááá¯áẠá¡áááºážáá¯á¶áž áááºááá·áºáá±áá¬ááœááºáá»áŸ ááá±ážáá«á ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯áẠáááºáá»áááºááœááºáá»áŸá¬ááᯠááŒá¯áá¯ááºáá²á·áááºá âClickhouseâ ááẠááŸááºáááºážáá»á¬ážá¡ááœáẠááá·áºáá»á±á¬áºáá²ááŒá
áºáááºááᯠáá»áœááºá¯ááºááá¯á· ááá±á¬áá±á«ááºáá²á·ááŒá®áž âáááºááá¯ážâ áááºáááºáž âClickhouseâ ááœáẠáááºážáááŸááºáááºážáá»á¬ážááᯠá
áááºáá±ážáá¬ážáá²á·ááẠ- ááá¯ážááá¯ážáá¬ážáá¬ážááŒá±á¬ááá»áŸáẠá¡ááœááºá¡áááºááŒá±áá«áááºá á¡ááŒá¬áž "áááºááá¯ážáá»á¬áž" á¡ááœáẠáá»áœááºá¯ááºááá¯á· á¡áá¯á¶ážááŒá¯áá±áá²ááŒá
áºáááºá
ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠá€á
áááºáááºá
á¬ážááœááºááŒá¿áá¬ááᯠááŸá¬ááœá±ááœá±á·ááŸááá²á·áááº- á¡áááºá áááºááẠSQL áá¯ááºááœáẠááá·áºááœááºážááŒááºážá á
á¶ááá¯ááºáá±á¬áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯áá«áá áááºážááẠááœááºá
áœá¬ááŸá±ážááœá±ážáá±á¬ AST-based SQL parser ááᯠá¡á¬ážááŒáá·áºáá±ážáá«áááºá ááá¯á·ááŒá±á¬áá·áºá áááºážááẠáááºááá·áºá¡áá«áá»áŸ áááŒá
áºá
á±ááẠáá±áá»á¬á
á±ááẠáááºáááºáá»á¬áž ááá·áºááœááºážáá¬ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áááºááœááºáá»áŸá¬ááŸáááŸá¯á áá»ááºážáá¬áá±ážá
á
áºáá±ážááŸá¯áá»á¬áž ááŒá¯áá¯ááºáá²á·ááŒá®ážá áá
áºáŠážáá±áá¯á¶ážáá«á áá±áá¬ááᯠáá»ááºáá¬ážáá²ááŒá
áºáááºá áá»áœááºá¯ááºááá¯á·ááœáẠááá°áá®áá±á¬ Clickhouse á¡á
á¯á¡áá±ážáá»á¬áž ááŸáááẠááá¯á¡ááºáá±á¬ ááá¬ážáá»á¬ážá
áœá¬ááŸááááºá ááá¯á·á¡ááŒáẠáá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá¬ážá¡áá¯á¶ážááŒá¯ááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž á
áááºá
ááºážá
á¬ážáá¬ááẠ- á¥ááá¬á áá»áœááºá¯ááºááá¯á·ááẠnginx modules áá»á¬ážá០ááŸááºáááºážáá»á¬ážááᯠáá±ážáá»ááºáá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á·á RPC ááá¯á¡áá¯á¶ážááŒá¯á áááºááœááºááá¯á¶ááᯠáá°ááá¯á·ááááá«á áá±á¬ááºážááŒá®á áá« áá°ááá¯á·ááᯠáááºáá²á·ááá¯á· áá±ážááá¯á·ááááºááᯠá¡áááºážáá¯á¶áž áá
áºáááºážáááºážááŒáá·áº áááºáá±ážááá¯ááẠ- á¥ááá¬á¡á¬ážááŒáá·áºá UDP ááŸáá
áºááá·áº localhost ááœáẠá¡ááŒá
áºá¡áá»ááºáá»á¬ážááᯠáááºáá¶áááŸáááŒá®áž Clickhouse ááá¯á· áá±ážááá¯á·áááºá
ááŒá±ááŸááºážáá»ááºá០ááŒá±áá áºááŸááºážáᬠáá±ážáááºá
áá±á¬ááºáá¯á¶ážá¡á á®á¡á á¥áºááẠá€áá²á·ááá¯á·ááŒá áºá ááŒá¯áá¬ááẠ(á€á¡á á®á¡á ááºáá áá¯áá¹ááá¬ážááŸááºáž)- Clickhouse áááŸá±á·ááŸááá¬áá¬áá áºáá¯á á®ááœáẠnginx (áá°áá®áá±á¬áá¬áá¬áá±á«áºááœááº) ááŸáááŒá®áž áááºážááẠáá»áááºáááºááŸá¯á¡áá±á¡ááœááºááá·áºáááºáá»áẠ50 ááŸááá±á¬ localhost ááá¯á· proxy áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááá¯ááá¯ážááŸááºážá áœá¬áá¯ááºáá±á¬ááºáááºá á¡ááá¯ááºážááá¯ááºážá ááŒá®ážáá±á¬á· áá®á¡á á®á¡á á¥áºá áá±á¬áºáá±á¬áºáá±áž á¡áá¯ááºááŒá áºáá±ááŒá®á á¡á¬ážáá¯á¶ážá áá±á¬áºáá±á¬áºáá±á¬ááºážáááºá
áá®áá¯á¶á
á¶á¡ááá¯ááºáž áá
áºááá±á¬ááºáá±áá²á·ááááºá á¡á¬ážáá¯á¶ážáá»á±á¬áºááŒáááºá ááá¬ážááœá±ááá·áºááŒáááºá áááºááá·áºááŒáááº... áá±áá°áá»á¡á¬ážááŒáá·áºá áá«ááá¯á·ááŒá¬ážáá¶ááá¬ážááœá±ááá¯ááá·áºáá²á·áááºážá ááááºááŒá®ážáááá·áºáá±á¬áºáá°áž (á¡á²áá«ááá¯ááá·áºááŒáá·áºáá¡á±á¬ááº)á áá»áœááºá¯ááºááá¯á·ááẠá
á¬ážááœá²áá
áºáá¯á
á®ááœáẠ16 ááá¯ááºážááŒá¯áá¯ááºááŒá®áž á
áá¹ááá·áºá¡áááºážáááºááŒá¬ááá·áºááŒá¬ážáá¬áá áá»áœááºá¯ááºááá¯á·ááœáẠááá¬áž 20 ááŸáááŒá®áž ááá¬ážáá
áºáá¯á
á®ááẠáá
áºá
áá¹ááá·áºáá»áŸáẠááá·áºááœááºážááŸá¯ 8 áᯠáááŸááá²á·ááẠ- á€á¡áá»ááºááœáẠ"Clickhouse" á
áááºáá²á·áááº... ááŸááºáááºážáá»á¬ážááẠááŸá±ážááœá±ážáá¬áááºá áááºážááá¯á·ááẠáááŒááºáááºážáá²á·ááŒáá«... Nginx ááẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº áá»áááºáááºááŸá¯áá»á¬áž á¡áááºááá¯ááºážááœáẠá¡áá¯á¶ážáááºáá«áá áá±á¬ááºážááá¯áá»ááºá¡áá
áºáá»á¬ážá¡á¬ážáá¯á¶ážááá¯á· "502" ááá¯á· ááŒááºááœá¬ážááá·áº á
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážááá·áº á¡áá¬áá
áºáá¯ááŸááááºá
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááœáẠ(Clickhouse ááá¯ááºááá¯ááºá ááŸááºáááºážáá»á¬ážááᯠááŒáá·áºáá¯á¶ááŒáá·áº) áá±á¬ááºážááá¯ááŸá¯á áááºáááºááá·áº áá¡á±á¬ááºááŒááºáá«á ááá¯á·ááŒá±á¬áá·áºá áá
áºááºá¡áá¯á¶ážááŒá¯ááŸá¯ ááŒáá·áºáá¬ážáááºá áá±á«ááºážá
ááºážááŸá¯áá»á¬áž á¡áá»á¬ážá¡ááŒá¬ážááŸááá²á·áááºá áá±á¬ááºážááŒá®á áá«áá¬áá¯ááºáá¬áá²á áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áá»áááºáááºááŸá¯ááŸáá·áº á¡áááºáá±á
á®ážááŒá±á¬ááºáž á¡áááºááŒá±á¬áá·áº á¡ááá¡áá» ááŒá®ážáá¯á¶ážááœá¬ážáááºááᯠá¡ááŒá±ááŸá¬ááẠáá»áœááºá¯áẠááá»ááºážáááá²á·áá«á
nginx ááᯠááŒá±á¬ááºážááŒáẠproxy ááŒáá·áº á¡á á¬ážááá¯ážááŒááºážá
áá«ááá¯áá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯ááºá á®áá¶ááá¯á·ááá¯áááºá á¡á²áá«ááᯠnginx ááŸá¬áá¬ážááá¯á·áááá¯áá°ážááá¯á·áá¯á¶ážááŒááºáá²á·ááẠ- nginx á Clickhouse ááŸá¬áááºááá¬ážááœá±ááŸááá²ááá¯áá¬ááááááá¯á áá»áœááºáá±á¬áºááá¯ááºááá¯ááºáááºážáá±ážáá¬ážáá²á· reverse proxy áá²á· nginx ááá¯á¡á á¬ážááá¯ážááá¯ááºáááºá
áá°áá¬áá¯ááºáá±áá¬áá²á áááºážááẠfasthttp á
á¬ááŒáá·áºááá¯áẠâgoshnoyâ ááá¯á¡ááŒá±áá¶á á¡áá¯ááºáá¯ááºáááºá ááá¯ááá¯áááºááŸá¬á ááŒááºáááºáááºá nginx áá®ážáá«ážááŒááºáááºá áá±á¬áá®ážá Igorá áááºááẠá€áá±áá¬ááœáẠááŸááá±áá«á (ááŸááºáá»ááº- Igor Sysoev ááẠnginx áááºáá¬áá¬ááᯠáááºáá®ážáá²á·áá±á¬ áá¯ááŸá¬ážáááá¯ááááºáá¬áá
áºáŠážááŒá
áºáááº)á áááºážááá¯á·ááẠáááºááá·áºáá±ážááœááºážá¡áá»áá¯ážá¡á
á¬ážáá»á¬ážááŒá
áºááẠ- INSERT ááá¯á·ááá¯áẠSELECT - ááá¯á·ááᯠáá¬ážáááºááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áºá áááºážááẠááá°áá®áá±á¬áá±ážááœááºážá¡áá»áá¯ážá¡á
á¬ážáá»á¬ážá¡ááœáẠááá°áá®áá±á¬áá»áááºáááºááŸá¯áá±á«ááºážá
á¯áá»á¬ážááᯠááá¯ááºáá±á¬ááºáá¬ážáááºá
ááá¯á·ááŒá±á¬áá·áºá ááá·áºááœááºážááẠáá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠááŒá®ážááŒá±á¬ááºááẠá¡áá»áááºáááŸááá±á¬áºáááºážá "ááœá±ážáá»ááºááŸá¯áá»á¬áž" ááẠáá»á±á¬áºááœá¬ážáááºááŒá
áºááŒá®áž á¡ááŒááºá¡ááŸááºá¡á¬ážááŒáá·áºá áááºážááẠáá±áá¬áá»á¬ážááᯠááŒá¬ážáá¶ááá¬ážáá»á¬ážá¡ááŒá
Ạá
á¯á
ááºážáá¬ážáááº- á¡ááŸá¬ážá¡ááœááºážáá»á¬ážá á¡áá¬ážá¡ááá¯á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážááŸááá«á- áá»ááºáá±áá¬áá»á¬ážááᯠááŒá®ážááŒá®ážáá¬ážáá¬ážááááá¯ááºá
á±áááºááá¯ááºáá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠááŒá¬ážáá¶ááá¬ážáá»á¬ážááœáẠááá¯ážááá¯ážááá·áºááœááºážááá·áºá¡áá«á áá±ážáááºáá±á¬ "bachi" áá«ááŸáááŒá®áž syntax á¡ááŸá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážááẠá€áá±ážáááºáá±á¬á¡ááá¯ááºážááá¯áᬠáááºáá±á¬ááºááŸá¯ááŸááááºá á€áá±áá¬ááœáẠáááºážááá¯á·ááẠááŒá®ážáá¬ážáá±á¬ ááŒá¬ážáá¶ááᯠá¡áá»áá¯ážáááºáá±á¬ááºáá±ááŒá®ááŒá
áºáááºá Small ááẠ1 megabyte ááŒá
áºáááºá ááá¯ááá¯áááºááŸá¬ áá±ážáááºáááºááá¯ááºáá±á
áááºáá°ááŒá¯ááŒááºážááá·áºááœááºážááŒááºážááŸáá·áº nginx ááᯠá¡á
á¬ážááá¯ážááŒááºážááẠá¡ááŒá±áá¶á¡á¬ážááŒáá·áº nginx ááááºáá¯ááºáá²á·ááá·áºá¡ááá¯ááºážááẠáá¯ááºáá±á¬ááºááẠ- á€á¡ááœáẠáá±ááᶠ"Kittenhouse" ááᯠáááºááŒá±á¬ááºážáá²ááẠáááá¯á¡ááºáá«á áááºážááẠfasthttp ááá¯á¡áá¯á¶ážááŒá¯áá±á¬ááŒá±á¬áá·áºáááºážáááºá¡ááœááºááŒááºááẠ- áá
áºáá¯áááºážááá·áºááœááºážááŸá¯á¡ááœááºáá
áºá
áá¹ááá·áºáá»áŸááºáá±á¬ááºážááá¯ááŸá¯ 100 áá»á±á¬áºááᯠreverse proxy ááŸáááá·áºááŒá¯áá¯ááºááá¯ááºáááºá áá®á¡áá¯áá®á¡áá áááºááẠkittenhouse reverse proxy ááœáẠáá
áºááŒáááºáá»áŸáẠá
á¬ááŒá±á¬ááºážáá
áºááŒá±á¬ááºáž ááá·áºááá¯ááºáá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á· ááá¯ááá¯á·ááá¯ááºáá«á
á¡á
á®á¡á
á¥áºááẠá€áá²á·ááá¯á·ááŒá
áºá
ááŒá¯áá¬áááº- âKittenhouseâá ááŒá±á¬ááºážááŒáẠproxy ááẠáá±á¬ááºážááá¯áá»ááºáá»á¬ážá
áœá¬ááᯠááá¬ážáá»á¬ážá¡ááŒá
Ạá¡á¯ááºá
á¯ááœá²á·áá¬á ááŒá¬ážáá¶ááá¬ážáá»á¬ážá áááºážááá¯á·ááᯠáááºáá¡áá¬áá»á¬ážááœáẠááá·áºááœááºážáááºá
áá°áááºááá¬ážááẠáá¬áá®ááŒá±ááŸááºážáá»ááºááŒá áºááŒá®áž ááŒá±á¬ááºááẠá¡ááŒá²áááºážááŒá áºáááºá
áá«á á áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á· ááŒá¿áá¬áá áºáá¯áá«... fasthttp áá¯á¶ážáá°ážáá¬ážá POST áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŒáá·áº fasthttp ááᯠáááºáá°á á¡áá¯á¶ážááŒá¯ááááºážá ááŒá áºááá¯ááºáááºááŸá¬á áááºážááẠáá±á¬ááºážááá¯áá»ááºááá¯ááºáááºááᯠáá¯á¶áá±á¡á¬ážááŒáá·áº ááŒá¬ážáá¶áá±áá±á¬ááŒá±á¬áá·áº áááºážááẠá¡ááŸááºáááẠááá¯ááºááá·áºáá²á áá»áœááºá¯ááºááá¯á·á ááŒá¬ážáá¶á¡ááœááºá¡á á¬ážááᯠ16 megabytes áᯠáááºááŸááºáá¬ážáááºá ááá·áºááœááºážááŸá¯ááẠáá áºáá»áááºáá»áááºááœáẠáááºááá·áºááœá¬ážáᬠ16-megabyte á¡ááá¯ááºážáá»á¬ážááẠáá¬áá¬áá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬á០á áááºáá±á¬ááºááŸááá¬ááŒá®áž áááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠClickhouse ááá¯á·áááá¯á·áá® áááºááá¯áá®ááœáẠááááºááá¯á·ááœá¬ážáá²á·áááºá ááá¯á·ááŒá±á¬áá·áºá ááŸááºáá¬ááºáá¯ááºááœá¬ážáááºá Out-Of-Memory Killer ááẠáá®á¡áá¯áá®á¡á ááŒá±á¬ááºážááŒáẠproxy áááºááá¯á "á á¬ážááá¯ááºáááº" ááŒá±á¬ááºážááŒáẠproxy (ááá¯á·ááá¯áẠ"Clickhouse") ááᯠáááºáá áºááá¯ááºáááºá áá¶ááá¬á áá°á·áá¬áá° áááºáá«áááºáá«á ááááºáá¬áá¬áá²á· ááŒá¿áá¬áá±á¬á· ááá¯ááºáá«áá°ážá áá¡áá±á¬áºááŒá¬ áááºáááºááŒá®ážáá±á¬ááºááœáẠáá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠááááá áá²áá»áá²á·áááºá
áá«áá¬ááœá±áá¯ááºááŒá®ážááŒá®áá²á áá áºááẠá¡ááá¡áá» ááŒá áºáá»ááºáá²á·áááºááᯠáá»áœááºá¯áẠáá¬ážááááºáá«á ááŸááºáá¬ááºáá² ááá¯ážáááºááá±ááá·áºáá°ážááá¯áᬠáá±á¬áºáá±á¬áºáááá¬áááºáááºáááºá ááŒáá¯ážá á¬ážáá±ááá·áº ááŒááºááŒáẠpatch ááá¯ááºááá¯ááºáá²á·áá°ážá áá«áá±ááá·áº áá¬á០patch áá¯ááºá áᬠáááá¯áá±á¬á·á¡á±á¬áẠáá¯ááºáááºážááᯠáá«ááŸá¬ááœá±á·áá²á·ááŒá®áž HTTP ááŸá¬ áá«á·ááá¯ááºááá¯ááºáááºážáááºážááᯠKITTEN ááá¯á·áá±á«áºáááºá á¡ááºážá á¡á²áá«á áá¯áá¹ááááŸáááẠ- "VK", "ááŒá±á¬ááº"... áááŒá¬ážáá¬ááœá±áá²?..
Kitten áááºážáááºážááŒáá·áº áá±á¬ááºážááá¯áá»ááºáá
áºáá¯ááẠáá¬áá¬áá¶ááá¯á· áá±á¬ááºááŸááá¬áá«áá áá¬áá¬á០âmeowâ ááᯠáá¯áá¹áááááºážááŒáá·áº áá¯á¶á·ááŒááºááá·áºáááºá áá°á€á¡áá¬ááá¯áá¯á¶á·ááŒááºáá«áá áá°áááºá€áááá¯ááá¯áá±á¬ááá¯áá¬ážáááºáááºáá¯áá°ááááºá ááá¯á·áá±á¬ááºáá»áœááºá¯ááºáááºáá»áááºáááºááŸá¯ááá¯ááŒá¬ážááŒááºáá²á·ááẠ(fasthttp ááœááºááá¯áá²á·ááá¯á·áá±á¬áááºážáááºážááŸááááº)á ááŸáá·áºáá»áááºáááºááŸá¯áááºâ rawâ áá¯ááºááá¯á·áá±á¬ááºááœá¬ážáááºá áá«áá¬ááŒá±á¬áá·áºááá¯á¡ááºáá¬áá²á TCP áá»áááºáááºááŸá¯áá»á¬ážá០áááºáá²á·ááá¯á· áááºááááºááᯠáá»áœááºá¯áẠááááºážáá»á¯ááºááá¯áá«áááºá TCP ááœáẠá¡á¶á·á©á
áá¬áá±á¬ááºážáá±á¬ ááá¯ááºááá¯ááºááŸá¯áá
áºáᯠááŸááááº- áááºáá°áá»áŸ áá
áºáááºá០á
á¬ááááºáá«áá áá±ážááŒááºážááẠá
á±á¬áá·áºááá¯ááºážááááºááŒá
áºááŒá®áž ááŸááºáá¬ááºááẠáááºážá¡ááœáẠá¡áá°ážá¡áá¯á¶ážááááºáá«á
áá«ááŒá±á¬áá·áº áá áºááŒáááºááᯠáá±á¬ááºááẠá á áá±á¬ááºáá®á áááºáááẠ(áá«ážáááºááá¯áá±á¬á· áá«ážáááºá áá»áááºážáá± áá¯á¶áá±á¬ááºááá·áºáá«áááºá ááŸá¯ááºážá áááŒá¬áž DC á áá¬áááºááá¯áááºáá±á¬ááº)... áá®áááºážáá²á· á¡áááºážáá¯á¶áž á¡ááŒááẠ50 áá±á¬áẠá á¬ážáá¯á¶ážááŸá¯ áá»á±á¬á·ááœá¬ážáá±ááá·áº ááá¯ážááá¯ážáá¬ážáá¬ážááŒá±á¬ááááºá á¡áááá¹áá«ááºáá²á·áá±ááŒá® (á¡ááŸá¬ážá¡ááá·áºáá±á¬ááºáá±ááŒá®)á áááá¯ááá¯áá±á¬ááẠááœáááá®ááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ áááºážááœáẠááá¬ážá¡áááºááŸáá·áº áá±áá¬áá«ááŸááááºá http headers ááœá± áááŸááá°ážá áá«ááŒá±á¬áá·áº web socket ááᯠááá¯á¶ážáá²á·áá°áž (ááá±á¬ááºáá¬ááœá±áá²á· áááºááœááºááá¯á· áááá¯á¡ááºáá«áá°áž - áá»áœááºáá±á¬áºááá¯á·áá²á· ááá¯á¡ááºáá»ááºáá²á· ááá¯ááºáá®áá²á· protocol áá áºáá¯ááᯠáá¯ááºáá¬ážáá«áááº)á áá°áá²á· á¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±ááœá¬ážáá²á·áááºá
ááŒá¬ážáá¶ááá¬ážá á áááºááá±á¬ááºážá áá¬áá«á
áááŒá¬áá±ážáá®á áá»áœááºá¯ááºááá¯á·ááẠááŒá¬ážáá¶ááá¬ážáá»á¬ážá áá±á¬ááºáááºá áááºáááºá á¬ážááœááºáá±á¬ááºážáá±á¬ á¡ááºá¹áá«áááºááᯠááœá±á·ááŸááá¬áá²á·áááºá ááŒá®ážáá±á¬á· áá®ááŒá¿áá¬á áááŒá¬ážáá°ááœá±ááẠááá¯áá¬áá»ááºáá±ááŒá®á á€á¡ááŒá±á¡áá±ááᯠá áááºáá°ážááŒáá·áºááŒáá«á áá¯á·- áááºááẠClickhouse ááᯠáááºááŒáœá áœá¬ á¡áá¯á¶ážááŒá¯áá±ááŒá®ážá ááá·áºááœáẠClickhouse áá¬áᬠáá«áááºáá»á¬ážá áœá¬ ááŸáááŒá®ážá áááºáááºááẠá¡ááœááºá¡áá»áááºáá°áááá·áº áá±á¬ááºážááá¯áá»ááºá¡áá»áá¯á·ááŸáááẠ(ááá¯áá«á áá¯á·á á áá¹ááá·áº 60 áááºááá¯áááº)á á€á¡ááá¯ááºá¡ááá·áºááœáẠáááºááẠáá¬ááŒá®áž Alter áá¯ááºáá«... ááá¯á¡áá»áááºááœááºá "Alter" áááá¯ááºáá® á áááºáá²á·áá±á¬ "ááœá±ážáá»ááºááŸá¯áá»á¬áž" ááẠá€ááá¬ážááœááºááá«áááºáá«á "Alter" á áááºáááºááá¯ááºáá« - "Clickhouse" á¡áá¯ááºáá¯ááºáá¯á¶á á¡áá»áá¯á·áá±á¬á¡ááºá¹áá«áááºáá»á¬áž ááŒá áºááá¯ááºáááºá áá®áá±áá¬á áá«ááᯠááŒááºááá¯á·áááá¬áž? áá«ááŸááá¯áẠáááŒá áºááá¯ááºáá°ážáá¬ážá
áá±áá°áá»á¡á¬ážááŒáá·áºá áááºááœá±á·ááœáẠá€áá»áŸááŒá®ážáá¬ážáá±á¬ááŒá¿áá¬ááá¯ááºááŒá±á¬ááºáž ááŸááºážááŸááºážáááºážáááºáž áááá¬áá±á¬áºáááºáž ááŒá¬ážáá¶ááá¬ážáá»á¬ážááŒáá·áº áááºážááẠááá¯ááá¯áá¬áá»ááºá
á±áááºá á¡ááŒá±á¬ááºážááŸá¬á á¡áááºá áááºá âAlterâ á¡áá»áááºáá¯ááºááŒááºážáá»á¬áž (áááºážááẠááá·áºá¡ááœááºááá¯ááºáá² á¡ááŒá¬ážá¡áááºááŸááºááœáẠá¡áá»áááºáá¯ááºááœá¬ážáááá·áºáááºá á¥ááá¬á áá¯á¶áá°áá
áºáá¯áá±á«áºááœááº) ááá¯áá»áŸááº... áááºááẠááŒá¬ážáá¶ááá¬ážááᯠáá»ááºááá¯ááºáááºá áááºá âAlterâ ( ááá¯á·ááá¯áẠá¡ááŒá¬áž host á¡áá»áá¯á·) á¡áá»áááºáá¯ááºááœá¬ážáá«áááºá ááá¯á·áá±á¬áẠ"Alter" error ááŒá
áºáá±á«áºáá¬áááº) - áá±áá¬áá»á¬ážááᯠáááºáááºáá±ážáá¬ážáá¬ážááŒá±á¬ááºáž áá±áá»á¬á
á±ááẠááá¯á¡ááºáá±áá±ážáááº- áááºááẠááŒá¬ážáá¶ááá¬ážáá»á¬ážááᯠááŒááºáááºáááºáá®ážááŒááºáž (áááááá¬ážááŸáá·áº áá°áá®áá±á¬á¡á
á®á¡á
ááºá¡á) ááá¯á·áá±á¬ááºá âAlterâ ááẠááŒááºááœá¬ážáááºá á¡ááŒá®ážááœáẠááŒá®ážáá¯á¶ážáááºá ááŸáá·áº ááá¬ážá ááŒá¬ážáá¶ááẠáááááŸáá·áº ááá¬ážááœááºááœáẠááœá²ááŒá¬ážá
ááŒá¯áá¬áááºá "Alter" ááẠáááºááá·áºá¡áá¬áá±á«áº áá°áááºá ááá·áºááœááºážááŸá¯ááẠá€ááŒá¬ážáá¶ááá¬ážááá¯á· ááá±á¬ááºááá¯ááºáá±á¬á·áá« - áááºážááẠá¡ááœááºáááºážáááºážá
áá¬áá±á¬ááºážáá«áááºá
ááá¯áá²á·ááá¯á·áá±á¬ááááááºááá¹ááá¬áááºážááŸáááẠ(áá
áºá
á¯á¶áá
áºáŠážááŸáááááŒá¯ááááá¯ááºáááº) - Clickhouse áá¬ážááŸááºážá¡áá
áºááœáẠquery_thread_log áá¯áá±á«áºáááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá á¡áá»áá¯á·áá¬ážááŸááºážááœáẠáá
áºáá¯ááŸááááºá á€ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá¡áááºážáááºá¡ááœááºáž ááŸááºáááºážáá±á«ááºáž áááºáž 840 (100 gigabyte) ááᯠá
á¯áá±á¬ááºážáá¬ážáá«áááºá áááºážááẠááá¯áá±áá¬ááœáẠ"ááá·áºááœááºážááŒááºáž" ááᯠáá±ážáá¬ážáá²á·ááŒááºážááŒá±á¬áá·áºááŒá
áºááẠ(ááá¯á¡áá«á á
áá¬ážáá
ááºá áááºážááá¯á·ááᯠááá±ážáá¬ážáá±áž) ááŒá±á¬áá·áºááŒá
áºáááºá áá«áááºážááá¯ááŒá±á¬áá²á·áááá¯áá²á áá»áœááºáá±á¬áºááá¯á·áá²á· "ááá·áºááœááºážááŸá¯áá»á¬áž" áᬠáá±ážáááºáá«ááẠ- áá»áœááºá¯ááºááá¯á·ááŸá¬ ááŒá¬ážáá¶ááá¬ážáá»á¬ážá¡ááœááºáž "ááá·áºááœááºážááŸá¯áá»á¬áž" áá»á¬ážá
áœá¬ááŸááá²á·áá«áááºá áááºážááá¯ááááºáá¬ážáááºááŸá¬ ááŸááºážáá±ááẠ- áá»áœááºá¯ááºááá¯á·ááá¬áá¬ááœáẠáá»áœááºá¯ááºááœá±á·ááŒááºáá²á·ááá¯á¶ááᯠááŒá±á¬ááŒáá±áá«áááºá á¡áááºááŒá±á¬ááºá·? á€áááºááŸá¬ ááŒá¬ážáá¶ááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá¡áá±á«áº áá±á¬ááºáááºá¡ááŒááºážá¡áá¯á¶áá
áºáá¯ááŒá
áºáááºá Spotty á á¡áááºážáááºážáááºážáá«áááºá
áá®áá±á¬ááºáá±ážáá¬áááºá Spotty ááá¯á· áááºáá°áááá²á VK áááºáááºážáá»á¬áž áááºááᯠááŒáŸá±á¬ááºááá¯ááºáááºá á¡áá¯áá±áááºáá±á¬áºá
"KitttenHouse" á¡ááœáẠá¡á á®á¡á ááºáá»á¬ážá¡ááŒá±á¬ááºáž
á¡á á®á¡á á¥áºáá»á¬ážááᯠá¡áá»á¬ážá¡á¬ážááŒáá·áº áá»áŸáá±áá±á·áááŸááá«á áá¯ááºáááẠáááºáá°ááá¯á·ááᯠááŒáá·áºáááºážáá±ážááŸá¬ááá¯ááºáááᯠáááŒá¬ážáá°ááœá±áá²á·á¡ááŒááºááŸá¬ á¡áááºážááŒáá·áºáá±á¬ááºážááŸá¬ ááá¯ááºáá°ážá áá«áá±ááá·áº áá«á áœáá·áºá á¬ážáá«á·áááºá áá»áœááºá¯ááºááá¯á· á¡á±á¬ááºáá«ááá¯á·ááᯠááŒá¯áá¯ááºááá¯áá«áááº- ááŒá¬ážáá¶ááá¬ážáá»á¬ážá áá»áœááºá¯ááºáááºáááºááŸá¬ áá áºááá¯ááºáá áºáá¯ááŒá áºááŒá®áž áá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯áẠááá·áºááœááºážááŸá¯ááᯠááŒá¬ážáá¶áá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá«áááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠdisk ááœáẠááŒá¬ážáá¶ááá¯ááºáá»ááºáá±ážáá«á ááá¯á·ááŒá±á¬áá·áº ááŸááºáá¬ááºáá²ááœáẠááá·áºááœááºážááŸá¯ááᯠááŒá¬ážáá¶áá«áááºá
ááá¯á·ááŒá±á¬áá·áºá "insert" ááá¯ááŒá¯áá¯ááºáá±á¬á¡áá«á áááºážááẠsynchronous ááŒá
áºáá±á¬á·áááºááá¯ááºáá« - áááºážáááºááŒá¬ážáá¶ááá¬ážáá
áºáá¯á¡áá±ááŒáá·áºá¡áá¯ááºáá¯ááºáá±ááŒá®ááŒá
áºááŒá®áž parent table áá²ááá¯á·ááá·áºááœááºážáááá·áºááẠ(áá±á¬ááºážááŒá®á áá
áºáá±á·áá±á·ááŸá±á¬ááºážááá¯ááºážááœááº) ááŸáá·áºááá·áºááœááºážááŸá¯áá»á¬ážááœááºááœá¬ážáá±á¬áá®ážááŒá¬ážáá»ááºáááºááŸáááá·áºááááºážááá¯á·áá«áááºá áááŸááá«á
synchronous ááá·áºááœááºážááŸá¯ááᯠá¡áááºááŒá±á¬áá·áº ááá¬ážáá²á·ááá¯ááºááááºážá ááá¯á¡áááºááŒá±áááºá á¡ááŸááºááŸá¬ á¡áááºá áááºááẠhost 10 ááŸááá·áºááœááºážáá«áá á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááẠ- ááẠhost áá
áºáá¯á
á®ááŸá¡áááºážáááºááááá·áºáááºá áááºáááºáá
áºá
áá¹ááá·áºáá»áŸááºáá
áºááŒáááºááá·áºááœááºážáá«á á¡áá¬á¡á¬ážáá¯á¶ážá¡áááºááŒá±áá«áááºá áá«áá±ááá·áº á¥ááá¬á¡á¬ážááŒáá·áºá á
ááºááŸá
áºáá¯ááá± á¡ááŸáááºááŒááºážááŒááºážáá²á·áá±á«ááºážáá¯ááºááœá²ááá¯ááºá
á±ááá¯á·á¡ááœáẠáá®á¡á
á®á¡á
á¥áºááᯠClickhouse ááŸá¬ á¡áá»á¬ážáá¯á¶ážáááá¯ááºááŸá¬ááá¯ááºáá±ááá·áº ááŒá±á¬ááºážááŒáẠproxy ááŸáááá·áº á
ááºáá
áºáá¯á¶ážá០á¡áááºážáá¯á¶áž 100 megabytes per second ááá¯áá±ážáá« - á€á¡á
á®á¡á
á¥áºááẠááá¬á á¡ááŒá®ážááŸáá·áº á¡áá±áž ááŸá
áºáá»áá¯ážáá¯á¶ážááᯠá¡ááá¯ááºážá¡áá¬ááŒáá·áº ááá¯ááºážáá¬ááááºááŒá
áºááŒá®áž ááá·áºááœááºážááŸá¯áá
áºáá¯á
á®á¡ááœáẠáá
áºá
áá¹ááá·áºááᯠáá»áœááºá¯ááºááá¯á· áá
á±á¬áá·áºááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááẠááŒáá¯ááºáá°ááŒá
áºááá«áááºá ááá·áºááœááºážááŸá¯ááŒá®ážááœá¬ážáá±á¬á¡áá«ááœááºá áá°áá®áá±á¬á¡á¬ážááŒáá·áº á¡ááŒáá¯ááºá¡ááá¯áẠá¡áááºááŒá¯áá»ááºáá»á¬áž ááœááºáá±á«áºáá¬ááá·áºáááºá ááœááºáááºááŒá
áºá
á±á ááá»áááºááŒá
áºá
á± áá»áœááºáá±á¬áºááá¯á· áááá«áááá·áºáááºá
á¡áá±ážááŒá®ážáá¯á¶ážá¡áá»ááºááŸá¬ á€á¡á á®á¡á á¥áºááœáẠááá·áºááœááºážááŒááºážáá¯ááºá ááá¯ááºááᯠáá»áœááºá¯ááºááá¯á· áá±áá»á¬á áœá¬ááááŸáááá¯ááºá á±áááºááŒá áºáááºá á€á¡ááŒá±á¡áá±ááᯠááŒááºáá±á¬ááºááŒáá·áºáá«- ááá·áºááœáẠááŒá¬ážáá¶ááá¬ážáá áºáá¯ááŸáááŒá®ážá áááºážááœáẠáá áºá á¯á¶áá áºáá¯ááᯠáááºáá±ážáá¬ážáá²á·ááŒá®ážá ááá¯ááŒáá«á áá¯á·á ááá¬ážááẠread only mode ááá¯á·áááºááŒá®áž ááŒá¬ážáá¶ááá¯áááºááŸá¬ážááẠááŒáá¯ážá á¬ážáááºá áá±áá¬ááœá± áááºáá±á¬ááºááœá¬ážááá²á áááºážááá¯á·ááẠááŒá¬ážáá¶ááœáẠááŸááá±áááºááŒá áºáááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠáá±áá»á¬áááŒá±á¬ááŒááá¯áẠ- á¡ááŒá¬áž error áá áºáá¯áá¯ááŸááá±áá«áá áá±áá¬ááẠááŒá¬ážáá¶ááœááºááŸááá±áááºááá¯ááºáá±á¬ááŒá±á¬áá·áº ... ( Alexey Milovidov á Yandex á ClickHouse developer ááááºá á¬áá»á¬áž ) ááá¯á·ááá¯áẠáá»ááºááŸááá±áááºáá¬ážá á¡ááŒá²áááºáž? Alexey á áá»áœááºáá±á¬áºááá¯á·ááᯠá¡áá¬á¡á¬ážáá¯á¶áž á¡áááºááŒá±á á±áááºááá¯á· áá¯á¶ááŒááºáá«áááºá áá«ááá¯á·á áá°á·ááᯠááá¯á¶ááá¯á· á¡ááŒá±á¬ááºážááŒáá»áẠáááŸááá°ážá áá«áá±ááá·áº á¡á¬ážáá¯á¶ážá¡áá°áá°áá«áá²- á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠááŒá¬ážáá¶ááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá«á áááºážááá¯á·á¡ááœáẠááŒá¿áá¬áá áºá á¯á¶áá áºáá¬ááŸááááºááá¯ááºáá«á áá°á¡áááœáẠááŒá¿áá¬ááŒá®ážááŒá®ážáá¬ážáá¬ážáááŸááá±á¬áºáááºáž ááá¬ážáá»á¬ážááẠááŸá áºááááºáá®ážááŒááºážáááºáááºáž á¡áááºáááŒá±áá«á áá«á á¡á á®á¡á ááºáá«á
á á¬áááºááŒááºážá¡ááŒá±á¬ááºáž ááŒá±á¬ááŒáá¡á±á¬ááº
áá² á á¬áááºááŒááºážá¡ááŒá±á¬ááºáž ááŒá±á¬ááŒáá¡á±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠá€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯ááºáááááá¬ááᯠáá±ážáá¬ážáá²á·áááºá áá¯ááºáááºá áááºážáá²á·áá°áááá¬ááᯠáá®ááŸá¬ áá¬ááá¯á·áá±ážáá¬áá²áá ááŒá®ážáá±á¬á· áááºáá°á Tabix áá¯á¶ážáá¬áá²á áá°á¡áááºážáááºá áááºáá±á¬ááºááŒáááº... ááŒá®ážáá±á¬á· Tabix áá²á· á áœááºážáá±á¬ááºáááºááᯠáááºáá°á áá»á±áááºáá²á áá±á¬ááºážááŒá®á áááºážááá¯áá»áœááºá¯ááºááá¯á·ááá»á±áááºáá«á áá±áá¬ááŒáá·áºááŸá¯áááºá¡ááœááºá¡áááºááŒá±áááºááá¯ááºáá«á ááœá²ááŒááºážá áááºááŒá¬ááŸá¯áá»á¬ážá¡ááœáẠáá±á¬ááºážááœááºáá±á¬áºáááºáž ááŒáá·áºááŸá¯áááºá¡ááœááºáᬠááŸááºážááŸááºážáááºážáááºáž ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážááŒááºáž áááŸááá«á ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááẠáá»áœááºá¯ááºáááá¯ááºááá¯ááºá áá»áœááºá¯ááºáááá¯ááºááá¯ááºá¡ááºáá¬áá±á·á áºááᯠáá±ážáá¬ážáá²á·áááºá
á¡ááœááºááá¯ážááŸááºážááẠ- áá±áá¬áá»á¬ážááá¯áá¬áááºááá¯ááºáááºá áá°á ááááºáá
áºááᯠáááºááá¯ááŒáááŸááºáž áááá áá¬á០áá¯ááºáááŸááºáž áááá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á· ááá¯á¡ááºáááºáá»á¬ážááᯠááŒáááá¯ááºáááº- á¥ááá¬á¡á¬ážááŒáá·áºá ááá¬ážááœáẠá¡áááºážáááºáá»áŸááŸááááºá áá±áá¬áááºáá»áŸáá°ááẠ(áá±á¬áºáá¶áá»á¬ážá¡ááŒá
áºááá¯á· áááœá²áá²)á ááá¯ááá¯áááºááŸá¬á á¡ááœááºá¡ááŒá±áá¶áá»áá±á¬ á¡ááºáá¬áá±á·á
áºááẠáá»áœááºá¯ááºááá¯á·ááá¯á¡ááºáá±á¬á¡áá¬ááŒá
áºáááºá
áááºážááẠSequel Pro ááŸáá·áº á¡ááœááºáááºáá°áá±á¬áºáááºáž Twitter á Bootstrap ááŸáá·áº áá¯ááááá¬ážááŸááºážááœááºáᬠááŒá¯áá¯ááºáá¬ážáááºá "Yuriá áá¬ááá¯á· áá¯ááááá¬ážááŸááºážááŸá¬ áá«áá¬áá²" ááá¯á· áá±ážáááºá áááºááŸááŸá
áºáá²á 2018? áá±áá°áá»á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááẠâMuscleâ (MySQL) á¡ááœáẠá¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠáá¯ááºáá²á·ááŒá®áž ááá¯áá±áá¬ááœáẠáá±ážááŒááºážáá»ááºáá»á¬ážááœáẠá
á¬ááŒá±á¬ááºážááŸá
áºááŒá±á¬ááºážááᯠááŒá±á¬ááºážáá²áá²á·ááŒá®áž áááºážááẠâClickhouseâ á¡ááœáẠá
áááºáá¯ááºáá±á¬ááºáá±ážááá·áºá¡ááœáẠá¡áá°ážáá»á±ážáá°ážáááºááŸááá«áááºá parser ááẠ"ááŒáœááºáá¬áž" áá
áºáá¯ááŸáá·áºá¡ááœááºáááºáá°áá±á¬ááŒá±á¬áá·áºá áá±ážááŒááºážááŸá¯áá»á¬ážáááºá¡ááœááºáááºáá°ááẠ- á¡áá°ážáááŒáá·áºá¡á
ááá¯ááºážááœááºá¡ááœááºá¡áááºááŒá±áááºá
áá±á¬ááºážááŒá®á áááºážááẠááá¬ážáá»á¬ážááᯠá
á
áºáá¯ááºááá¯ááºáááºá ááá¬ážáááœá²á·á
ááºážáá¯á¶ááŸáá·áº á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááŒáááá¯ááºáááºá á
á®áááºá áá±á¬áºáá¶áá»á¬ážááŒáá·áº á
á
áºáá¯ááºááá¯ááºáááºá ááááºááᯠááŒá
áºáá±á«áºá
á±ááá·áº áá±ážááŒááºážáá»ááºááᯠááŒáááá¯ááºáááºá ááááá¯ááºááá·áº á¡áááºážáá»á¬áž (ááááºá¡ááŒá
Ạáááºáá»áŸááŸááááº)á ááá¯ááá¯áááºááŸá¬á áá±áá¬ááŒáá·áºááŸá¯ááẠá¡ááŒá±áá¶á¡áá»ááºáá»á¬ážá áá±á¬áºáá±á¬áºááŒááºáááºá
á¡ááºáá®áá¬áááºážááŸááááºá áááºážááŒááºáá°á¡á¬ážáá¯á¶ážááᯠTabix á០ááá¯ážáá°ááẠááá¯ážááá¯ážáá¬ážáá¬áž ááŒáá¯ážá
á¬ážáá²á·áá±á¬áºáááºáž áááá²á·áá«á áá«áá±ááá·áº áá
áºáááºážáááºážáá²á·áá±á¬á· á¡áá¯ááºáá¯ááºáááºá áá°á¡ááá±á¬á· áá®áá±á¬ááºáá«áá²á
"Clickhouse" ááẠááœááºážáá»á¬ážá¡ááœáẠááá·áºáá»á±á¬áºáááºá
áá±á¬áºááŒáá¬ážáá±á¬ááŒá¿áá¬áá»á¬ážááŸááá±áá±á¬áºáááºáž Clickhouse ááẠááŸááºáááºážáá»á¬ážá¡ááœáẠá¡ááœááºááá·áºáá»á±á¬áºááŒá±á¬ááºáž áá»áœááºá¯ááºááŒá±á¬ááŒááá¯áá«áááºá á¡áá±ážá¡ááŒá®ážáá¯á¶ážááá±á¬á·á áááºážááẠáá»áœááºá¯ááºááá¯á·áááŒá¿áá¬ááᯠááŒá±ááŸááºážáá±ážááẠ- áááºážááẠá¡ááœááºááŒááºáááºááŒá®áž ááŸááºáááºážáá»á¬ážááᯠáá±á¬áºáá¶áá»á¬ážá¡ááá¯áẠá á áºáá¯ááºááá¯ááºá á±áá«áááºá áá°á¡áá ááŒá¬ážáá¶ááá¬ážáá»á¬ážááẠáá±á¬ááºážááœááºá áœá¬áá¯ááºáá±á¬ááºááŒááºážáááŸááá±á¬áºáááºáž á¡áá»á¬ážá¡á¬ážááŒáá·áº á¡áááºááŒá±á¬áá·áºááá¯áááºááᯠáááºáá°áá»áŸáááááŒáá±á... ááá¯ááŒá¿áá¬áá»á¬ážááŸáááá·áºáá±áá¬ááᯠáááºááá¯áááá¬áá±áááºá
TCP áá¬áž? áá±áá°áá»á¡á¬ážááŒáá·áºá VK ááœáẠUDP ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááẠáá¯á¶ážá
á¶á¡ááá¯ááºážááŒá
áºáááºá áá« TCP ááá¯áá¯á¶ážáá¯ááºážá... áá¯ááºáá«áááºá áááºáá°áá០áá«á·ááᯠáááŒá±á¬áá²á·áá°áž "Yuriá áááºážáá¬ááœá±ááŒá±á¬áá±áá¬áá²á áááºážááá¯ááºááá¯ááºáá°ážá áááºáž UDP ááá¯áááºá" TCP ááẠá¡ááœááºááŒá±á¬ááºá
áá¬ááá¯ááºááŒá±á¬ááºáž áááá¬ááááºá áá
áºáá¯áááºážáá±á¬á¡áá»ááºááŸá¬á áááºáá±ážáá¬ážáá±á¬ áááºááŒáœáá±á¬ááŒááºáá±á«ááºážáá»á¬áž áá±á¬ááºáá±á¬ááºážááááŸááá«áá áááºážááᯠá¡áááºážáááºááá¯ááá¯áá
áá¯ááºááŒááºáááºááẠááá¯á¡ááºáá«áááºá áá«áá±ááá·áº ááŒá
áºááá¯ááºáááºá áá±á¬áºáá±á¬áºááœááºáááºá
áá»áœááºá¯ááºááá¯á·á á¡áá»á¬ážáá°ááŸá¬ âVK backendâ ááᯠáá°ááá¯ááºáž á
á¬áááºážááœááºážáá«á âKittenhouseâ ááŸáá·áº âLighthouseâ ááá¯á·ááᯠHighLoad Siberia ááœáẠááá¯á·á
áºáááºáááºáᯠáááááŒá¯áá«áááº... ááá¯á·á¡ááŒáẠáá°ááá¯ááºáž á
á¬áááºážááœááºážáá¬ážáá°áá»á¬áž ááá¯ááºááŒáá«á á¡áá»á¬ážáá°ááŸá¬á áááºážááŸá¬ á¡áá»á¬ážááŒá®ážááŸááá±ážáááºá áá
áºáá±á¬ááºáá±á¬ááºá á
áááºááá¯ážáá±áá±ááá·áº áá»á±ážáá°ážááŒá¯ááŒá®áž á
á¬áááºážááœááºážáá±ážáá« (áá®ááŸá¬ ááŒá±á¬ááºáá
áºáá±á¬ááºááᯠáá»ááºáá¯á¶ážááŒáááŸá¬áá±á«á·)á á¡á²áá«
áá±á¬áºáá®: - áá°áááºáá»ááºážááá¯á·á á¡áá¯áá² áá±ážááœááºážááœá±áá¯ááºááá¯ááºáá«á áá»á±ážáá°ážáááºááŒá±á¬ááºáž á¡ááá¡ááŸááºááŒá¯áááºááŸááºááŸáá·áº VHS ááá¯ááºáᬠááá·áºá¡á
á®áááºáá¶á
á¬ááᯠáá»áœááºá¯ááºááá¯á·áááºááŒááŒá®ážáááºááŸáá·áºá
Yuri Nasretdinov (áá±á¬áẠYN áá¯áááºááœáŸááºážáááº) - VHS ááœáẠáá»áœááºá¯ááºá á¡á á®áááºáá¶á á¬ááᯠáááºáááºáá²á·ááá¯á· ááŸááºáááºážáááºááá¯ááºááááºážá
áá±á¬áºáá®: â âClickhouseâ áááºáá²á·ááá¯á· á¡áá¯ááºáá¯ááºáááºá áá°áááºáá»ááºážááá¯á·á áá±ážááœááºážááœá±á¡ááœáẠá
áááá
áºá
áá±ážááœááºážáá»á¬ážááá¯
ááááááºáá¶ááŸáá±ážááœááºáž (ááá¯áá±á¬ááºááá¯ááºáž Q áá¯áááºááœáŸááºážáááº) - áááºá¹ááá¬áá±á·áááºáááºážáá«á á¡á á®áááºáá¶á á¬á¡ááœáẠáá»á±ážáá°ážá¡áá»á¬ážááŒá®ážáááºáá«áááºá áá«á·ááŸá¬ áá±ážááœááºážááŸá áºáá¯ááŸááááºá á¡áá±ážá¡ááœáŸá¬ážááá á¹á áá áºáá¯áá²á· á áá«áááº- áá¯á¶áá»ááºáá»á¬ážáá²á "Kittenhouse" ááá¯áá²á· á á¬áá¯á¶ážá¡áá±á¡ááœááºá ááŒá±á¬ááºááœá±áá²á· á áááºáá»á±áááºááŸá¯ááᯠáááºáá±á¬ááºááŸá¯ááŸááá¬ážá
YN- - ááá¬á áááºáá±á¬ááºáá²á
Ð: - t á ᬠáá¯á¶ážáᯠt's ááŸáááŒá®áž XNUMX t's áááºáááºáá áºáá±áá¬á
YN- - áá«áááŒááºáá²á·áá°ážáá¬áž? áá±á¬ááºážááŒá®á áá¯ááºáá«áááºá á€á¡áá¬áá»á¬ážááẠááá°áá®áá±á¬ áá¯ááºáá¯ááºáá»á¬ážááŒá áºááẠ- áá«áááºážááᯠáá®á¡áá»áááºááá¯ááºáž ááŸáá·áºá á¬ážáá±áá¬áá²á á¡áá¯áá±á áá±á¬ááºáá¬áá« - ááá á¹á áááŸááá«áá°ážá á©á áá®ááŸá¬! ááá¯ááºáá°ážá á¡á²áá«á á¡áá°áá°áá«áá²á áá« typo áá¯ááºáá¬ážáááºá
Ð: - áá»á±ážáá°ážáááºáá«áááºá áá¯ááááá±ážááœááºážá áá±ážáááºáá«áááºá áá»áœááºá¯ááºáá¬ážáááºááá±á¬ááºá Clickhouse ááœáẠááŒá¬ážáá¶ááá¬ážáá»á¬ážááẠááŸááºáá¬ááºááœáẠáá®ážááá·áºáááºááŸáááŒá®áž disk ááœáẠbuffered ááá¯ááºáá²á ááá¯á·ááŒá±á¬áá·áºá áááŒá²áá«á
YN- - áá¯ááºáá²á·á
Ð: - áá áºáá»áááºáááºážááŸá¬áááºá áááºááá±á¬ááºáááºááẠá€áá°áá®áá±á¬ááŸááºáááºážáá»á¬ážááᯠáá±ážááá¯á·ááŒááºážáá¡á¬ááá¶áá»ááºá¡áá»áá¯á·ááᯠáááºááœáŸááºážááá·áº áá áºááºááá¯á· ááŒá¬ážáá¶áá¯ááºáá±á¬ááºáááºá áá«áá±ááá·áº áá«á Clickhouse ááŸá¬ á¡á¬ááá¶áá»ááºáááŸááá«áá°ážá á¡á¬ááá¶ááᯠáááºááá¯áá±á¬ááºááœááºáá²á·ááá²á áá¬á¡ááŒá±á¬ááºážááŒá±á¬áá·áºáá²ááá¯áᬠááŸááºážááŒáá«áŠážá áá®ááá¹ááá¬ážá ááá¯ááŒá®ážá¡áá±ážá áááºáá«á
YN- - áá¯ááºáá²á·á áá®á¡áá¯áá®á¡ááá±á¬á· Clickhouse ááŒá¯ááºáá»áá²á·á¡áá«á ááœá²ááŒá¬ážáá²á·áááºážáááºážáá±á«ááºáž áááºážáá²á·áá»á®ááŒá®áž ááŸá¬ááœá±ááœá±á·ááŸáááá¯ááºááá¯á·áá«áá²á Clickhouse áá»ááºááœá¬ážáá«á (ááŸá¬ážááœááºážá áœá¬ááŒá®ážáá¯á¶ážááœá¬ážáá«á)á á¡ááŒááºážáá»ááºážá¡á¬ážááŒáá·áº áááºáá±ážááŸááºáá¬ážááá·áº ááá·áºááŸááºáááºážá¡áááºážáááºááᯠááŒááºáá áºáᬠá¡áá¬á¡á¬ážáá¯á¶áž á¡ááá¡áá» á¡áááºááŒá±ááá·áºá¡áá»áááºá០á áááºááá¯ááºáááºá áááºááẠáá áºáááá áºááᯠááŒááºáá áºáááºáᯠááá¯ááŒáá«á áá¯á·á ááá¯ááá¯áááºááŸá¬ áááºááẠáá áºáááá áºá¡ááœááºáž á¡áá¬á¡á¬ážáá¯á¶ážááᯠááŸááºážááœá¬ážáááºáᯠáá°ááá«áááºá
Ð: - ááá¯ááá¯áááºááŸá¬ "ááŒá±á¬ááºá¡áááº" ááẠááŒáááºážáá±á«ááºááᯠááá¯ááŸááºá á±ááŒá®áž ááŒá¯ááºáá»áá«á áááºážááᯠááŸááºááááŒá®áž ááŒááºáá áºááá¯ááºáá«ááá¬ážá
YN- -áá«áá±ááá·áº áá«á áá®á¡áá¯áá®á¡ááá«á áááºááœá±á·ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá€á¡áá¬ááᯠááá¯ááºáá«á áá¯á¶ááŒááºá áááºáá»ááá±á¬ áá±ážááá¯á·ááŸá¯ááẠáá¯áá០á¡áá¯á¶ážáááŸá á¡ááŒáááºáá»á¬ážááŒá áºáááºá áá«áá±ááá·áº áá»ááºážáá»áŸá¡á¬ážááŒáá·áºáá±á¬á· áá áºáá»áá¯ážáá±á«á·á á¡ááŒá±á¬ááºážáá áºáá¯áá¯ááŒá±á¬áá·áº Clickhouse áá»ááºááœá¬ážáá«á ááá¯á·ááá¯áẠáá¬áá¬áá»á¬áž ááŒááºáááºá áááºáá«á áá»áœááºá¯ááºááá¯á· á¡áááºážááẠáá¯á¶ážááŸá¯á¶ážáááºááᯠáá»áœááºá¯ááºááá¯á· áá»á±áááºáá«áááºá áááŒá¬ážááá á¹á ááœá±ááŸá¬ áá¬ááŸááŒá áºááá¬áá°ážá
Ð: - áááºá¹ááá¬áá«á á¡á ááááºážá áááºá UDP ááᯠââá¡á á®áááºáá¶á á¬áá²á·á¡á ááááºážá ááááºáá² áá¯á¶ážáá±áááºááá¯á· áááºáá«áááºá áááºážááŸá¬ http ááŸááááº... ááŒá®ážáá±á¬á· áááºážáá±á¬áºááŒáá¬ážáá²á· ááŒá¿áá¬á¡áá»á¬ážá á¯áᬠáá®á¡áá°ážááŒá±ááŸááºážáá»ááºááŒá±á¬áá·áº ááŒá áºááá¬...
YN- - áá«ááá¯á· TCP ááᯠââáá¬ááá¯áá¯á¶ážáá¬áá²á
Ð: - ááááºááá±á¬á· áá¯ááºáá«áááºá
YN- - ááá¯ááºáá°ážá
Ð: - ááá·áºááœáẠááŒá¿áá¬áá»á¬áž ááŸááá²á·áááºá ááá·áºááœáẠááŒá¿áá¬ááŸááá±ááá·áº áá»áááºáááºááŸá¯ááŸáá·áºá¡áá° áááºážááẠfasthttp ááŸáá·áº ááŒá áºáá²á·áááºá á¡áááºá áááºááẠUDP ááᯠââááá¯á០á¡áá¯á¶ážááŒá¯áá²á·áá»áŸáẠááá·áºááá¯ááºááẠá¡áá»áááºá¡áááºááŒá¬ áááºáááºááá¯ááºáááºááŒá áºáááºá ááŸááºáá»á¬ážáá±á¬ áááºáá±á·áá»áºáá»á¬áž ááá¯á·ááá¯áẠá¡ááŒá¬ážá¡áá¬áá áºáá¯áá¯á¡ááœáẠááŒá¿áá¬ááŸááááá·áºááẠá
YN- - áá¬áá²á·áá²?
Ð: - ááŸááºáá»á¬ážáá±á¬áááºáá±á·ááºá»áá»á¬ážááŸáá·áºá¡áá°á áááºážááẠMTU ááŸáá·áºáááá¯ááºáá®áá±á¬ááŒá±á¬áá·áºá á¡ááŒá¬ážá¡áá¬áá
áºáᯠ... áá±á¬ááºážááŒá®á áááºážááá¯á·áááá¯ááºááá¯ááºááŒá¿áá¬áá»á¬ážááŸáááá¯ááºáááºá áá±ážá
áá¬á UDP á áá¬ááá¯á· ááá¯ááºáá¬áá²á
YN- - TCP/IP ááá¯áá®ááœááºáá±á¬á á¬áá±ážááá¬áá»á¬ážáááºáá»áœááºá¯ááºáááºááá¯ááá¯áááºááŒááºááŒá®áž packets áá»á¬ážááá¯áááºááá¯á·á¡ááŸááºá¡áá¬ážááŒá¯ááááºááá¯áá»áœááºá¯ááºáááºááá¯ááá¯ááááẠ(áá«ááŒá±á¬áá·áºáááºážááá¯á·ááœá¬ážáááº) áá áºáá»áááºáááºážááœááºáá±ážááá¯á·ááŒááºáž á ááºážááá¯ážááá¯áá»áááºááŸááá«á ááœááºáááºááá¯ááá¯áá»áŸá¶ááŒááºážáááŸáá á±áá²á áá¯á¶á·ááŒááºáá»ááºáá±ážááẠááááºáá°ážá áá áºáááºááᯠááá·áºáááœááºáá°áž... áá®ááŒá¿áá¬ááœá± á¡á¬ážáá¯á¶ážá UDP ááŸá¬ ááŸááááá·áºáááºá áá«áá±ážááŒá®ážáá¬áž áá¯ááºáááºáá±á¬áẠááá¯áá±ážááŠážáááºá áá¶á·áá»ááºážáááºá C áá±ážáá¬áá±á¬áẠáááŒáá¯ááºáá°áž...
Ð: - á¡áááºááŒá±áá¯á¶áá«áá²á OK ááá¯á·ááŒá®áž áá¬ááá¯á០áá á±á¬áá·áºáá« - áááºážááẠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž ááœá²ááœá²áá±áá«áááºá á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááŒá±á¬ááºáž á¡ááŒá±á¬ááºážááŒá¬ážáá»ááºáá áºáᯠááŒááºáá±á¬ááºáá¬ááẠ- ááá¯ááá¯áááºááŸá¬ áá±á¬ááºááŸááá±ááŒá®ááŒá áºáááºá ááá¬áááºáá±á¬á· ááá±á¬ááºážáá°ážááá¯á· ááá¯ááá¯áá¬áá«á
YN- - ááŸá áºáá¯áá¯á¶ážááá¯á¡ááºáá«ááẠ- ááá¯á·áá±á¬ááºááŸá¯á¡á¬ááá¶áá»ááºáá²á· ááá¯á·áá±á¬ááºááŸá¯á¡á¬ááá¶áá»ááºáááŸááá² ááŸá áºáá¯á áá¯á¶ážááᯠáá±ážááá¯á·ááá¯ááºááá¯á·ááá¯áá«áááºá á€áááºááŸá¬ ááá°áá®áá±á¬ á¡ááŒá±á¡áá±ááŸá áºáá¯ááŒá áºáááºá á¡áá»áá¯á·áá±á¬ áá áºáá¯á¶ážáá»á¬áž ááá¯á¶ážááŸá¯á¶ážááẠááá¯á·ááá¯áẠá¡ááŒá±á¬ááºážááŒáá»ááºááŒáá·áº áááºážááá¯á·ááᯠááá¯á¶ážááŸá¯á¶ážá á±ááá¯áá«á
Ð: - áá«á¡áá»áááºáááŒá¯ááºážáá°ážá áá«ááᯠááá¯ááœá±ážááœá±ážááááºá áá»á±ážáá°ážáááºáá«áááºá
áá±á¬áºáá®: áá±áž â áááºáá°ááœá±ááŸááá² â áá±á¬ááºážáááºááᯠáááºááŒáŸá±á¬ááºááá¯ááºáá«á
Ð: - áááºá¹ááá¬áá«á áá« Sasha áá«á á¡á
á®áááºáá¶á
á¬áá¡áááºáá
áºáá±áá¬ááœáẠTCP á¡ááŒááºá Kafka áá
áºáá»áá¯ážáá»áá¯ážááŒáá·áº á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ ááŒá±ááŸááºážáá»ááºááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá±á¬ááºáž áá¶á
á¬ážáá»ááºáá
áºáá¯áá±á«áºáá¬áááºá
YN- - á¡ááºáž... á¡áááºá¡áááºáá¬áá¬ááœá±ááᯠááá¯á¶ážáá»ááºáá°ážááá¯á· áá«ááŒá±á¬áá²á·áááºá áá¬ááŒá áºááá¯á·áá²ááá¯áá±á¬á·... Kafka ááŸá¬á áá«ááá¯á·ááŸá¬ host áá±á«ááºáž áá áºáá±á¬ááºážááŸááááºá ááááºáá±á¬á·á áá«ááá¯á·ááŸá¬á¡áááºááŸááºáá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬ááŸááááºá áááºááá·áº proxy ááá«áá² Kafka ááŸáá·áºááŒá¯áá¯ááºáá¬ááœááºáááºáž áá¬áá»ááºááá¯ááºáááºá ááá¯á·á¡ááŒááºá á¡áá±ážá¡ááŒá®ážáá¯á¶ážááŸá¬á áááºážááẠ"latency" ááá¯áá±ážáá±ážáááºá áááºážáááºáááºááá¯á¡ááºáá±á¬á¡ááá¯á¡áááºááŸááºáá»á¬ážááá¯áá±ážáááºá áá«áá±ááá·áº áá«áááá¯áá»ááºáá°áž...
Ð: "áá«áá±ááá·áº áá±á¬ááºáá¯á¶ážááŸá¬áá±á¬á· áá®áá¯á¶á á¶á¡ááá¯ááºáž ááŒá áºááœá¬ážáááºá"
YN- - ááá¯ááºáá°ážá á¡áááºááŸááºááœá± áááŸááá°ážá á€á¡áá¬á¡á¬ážáá¯á¶ážááẠClickhouse hosts áá»á¬ážááœááºá¡áá¯ááºáá¯ááºáááºá
Ð: - áá±á¬ááºážááŒá®á ááŸáá·áº "ááŒá±á¬ááºá¡áááº" áááºááŒá±á¬ááºážááŒááºááŒá áºááẠ- áá°áááºááŸá¬áá±ááá²á
YN- - Clickhouse host ááœááºá áááºážááẠdisk ááœááºáá¬ááŸááá±ážáá«á
Ð: - áá°áááŒáá«á áá¯á·á
áá±á¬áºáá®: - áá»á±áááºáá¬áž? áá á¬áá±ážááá¯á·áááá¬áž
Ð: - áá¯ááºáá²á·á áááºáá¯ááºááá¯ááºáááºá ááááºáá±á¬á·á áá°áá®áá²á·á¡áá¬ááá¯áááá¯á·á¡ááœáẠáá»áá¯ááºážáá±á¬ááºááœá±á¡áá»á¬ážááŒá®ážááŸááááºá á¡áᯠTCP áá±á«ááºážá ááºáá²á·áááºáááºáá²á· ááááºá¡ááŒá±á áá»áœááºáá±á¬á·áºá¡ááŒááºá¡áá áá®á¡ááŒá±á¡áá±áá²á· ááœá²ááœá²áá±áááºá á¡áá»áááºááá¯áááºážááŒá®áž á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá°ážáá±á¬ááºááŒá®áž ááŒá®ážááœá¬ážáááᯠáá¶á á¬ážááááºá
YN- - ááá¯á·á¡ááŒáẠKafka á០áááºáá±á·áá»áºáá»á¬áž áá»á±á¬ááºáá¯á¶ážááœá¬ážáá±á¬ Clickhouse Telegram chat ááœáẠááá¯ááºááŒá¬ážáá»ááºáá»á¬ážá áœá¬ááŸááá±á¬ááŒá±á¬áá·áº Kafka ááᯠááá¯á¶ážáá»ááºáá²á·áá«á Kafka ááá¯ááºááá¯ááºááŸááá¯ááºáá² Kafka ááŸáá·áº Clickhaus áá±á«ááºážá ááºááŸá¯ááœááºá ááá¯á·ááá¯áẠáá áºá á¯á¶áá áºáá¯ááẠááá¯áá±áá¬ááœáẠááá»áááºáááºáá«á á¡ááŒááºážáá»ááºážááŒá±á¬ááá»áŸáẠKafka á¡ááœáẠclient ááá¯áá±ážáááºááá¯á¡ááºáááá·áºáááºá ááá¯ááá¯ááá¯ážááŸááºážáá±á¬ ááá¯á·ááá¯áẠááá¯ááá¯áá¯á¶ááŒááºá áááºáá»ááá±á¬ ááŒá±ááŸááºážáá»ááºáá áºáᯠááŸáááá¯ááºáááºáᯠáá»áœááºáá±á¬áºááááºáá«á
Ð: - ááŒá±á¬ááŒáá«á áááºážá á®ááŒááºáž ááá¯á·ááá¯áẠá¡áá»á¬ážáá¯á¶ážáááºá áºáá¬ážá¡áá»áá¯ážá¡á á¬ážáá áºáá¯áá¯ááᯠá¡áááºááŒá±á¬áá·áºáááŒáá¯ážá á¬ážáá²á·ááááºážá áá»áááºááá¯ááºááŒááºážááŒáá·áº áááºá ááŸááºáááºážáá»á¬ážááᯠáááºážá á®ááŒááºážááŸáá áºááá·áº áá±ážááá¯á·ááá¯ááºááŒá®áž áááºážá á®ááŒááºážááŸáá áºááá·áº áá¯á¶á·ááŒááºááŸá¯ááᯠáá áºáá»áááºáááºážááœáẠáá áºáá»áááºáááºážááœáẠáááºáá¶ááá¯ááºáááºáᯠáááºááŒá±á¬áá±á¬ááŒá±á¬áá·áºááŒá áºáááºá
YN- - áá»á±ážáá°ážááŒá¯á áááºááá·áº áááºážá
á®ááŒááºážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá±á¬ááºáž á¡ááŒá¶ááŒá¯áá«á
Ð: - áááºáá°á·ááá¯áááᯠá¡áááá·áºáá±ážááŒá±á¬ááºáž á¡á¬ááá¶áá»ááºáááŸááá»áŸááºáááºá Redis, RMQ áá áºáá»áá¯ážáá»áá¯áž...
YN- - Clickhouse ááá¯ááœá²áá¯ááºááá·áº host áá áºáᯠ(áá¬áá¬áá»á¬ážá áœá¬áááá±á¬á¡á) Redis áááºááá¯áá²á·ááá¯á·áá±á¬ááá·áºááœááºážááŸá¯ááá¬áááá¯ááœá²áá¯ááºááá¯ááºáááºááá¯ááºááŒá±á¬ááºážáá»áœááºá¯ááºáá¶á á¬ážáááá«áááºá áá«ááᯠá¡áá±á¬ááºá¡áá¬ážáá áºáá¯áá¯áá²á· áááá¹áá°áá°ážááá¯á·áááá«áá°áž (áá»áœááºáá±á¬áºá á¡á²áá«ááᯠá á¶áááŒáá¬ážáá«áá°áž) áá«áá±ááá·áº Redis á áá®áá±áá¬ááŸá¬ á¡áá±á¬ááºážáá¯á¶ážááŒá±ááŸááºážáá»ááºááá¯ááºáá°ážááá¯á· áá°áááá«áááºá áá°á¡áá á€á áá áºááᯠáá®ááœááºáááºáá®ážáá¬ážáá±á¬ áááºáá±á·áá»áºáááºážá á®áá áºáá¯á¡ááŒá Ạáá°áááá¯ááºáá±á¬áºáááºáž áááºážááẠ"Clickhouse" á¡ááœááºáᬠá¡á¶áááºááœááºáá»ááŒá áºáá±áááºá
áá±á¬áºáá®: -Yuriá áá»á±ážáá°ážá¡áá»á¬ážááŒá®ážáááºáá«áááºá á¡áá±ážá¡ááŒá±áá»á¬ážááᯠá€áá±áá¬ááœáẠá¡áá¯á¶ážáááºááẠá¡ááá¯ááŒá¯ááŒá®áž áá±ážááœááºážáá±ážáá¬áá°áá»á¬ážáá²á០áááºááá·áºá á¬á¡á¯ááºááᯠáá±ážáááºáááºážáᯠá¡ááá¯ááŒá¯áá«áááºá
YN- - áá±ážááœááºážáá±ážáá²á· ááááá¯á¶ážáá°ááᯠá á¬á¡á¯ááºáá áºá¡á¯áẠáá±ážáá»ááºáá«áááºá
áá±á¬áºáá®: - á¡á¶á·ááŒááœááº! ááá¯ááºáááº! ááá¯ážáá¬ážááŒá°á ááº! áá»á±ážáá°ážá¡áá»á¬ážááŒá®ážáááºáá«áááº!
ááŒá±á¬áºááŒá¬á¡áá»áá¯á· ð
áá»áœááºá¯ááºááá¯á·ááŸáá·áºá¡áá°ááŸááá±ááá·áºá¡ááœáẠáá»á±ážáá°ážáááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááá±á¬ááºážáá«ážáá»á¬ážááᯠáááºááŸá
áºáááºáá«ááá¬ážá ááá¯á
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá²á· á¡ááŒá±á¬ááºážá¡áá¬ááœá±ááᯠááŒáá·áºáá»ááºáá«ááá¬ážá ááŸá¬áá°ááŸá¯áá
áºáá¯ááŒá¯áá¯ááºááŒááºáž ááá¯á·ááá¯áẠáá°áááºáá»ááºážáá»á¬ážááᯠá¡ááŒá¶ááŒá¯ááŒááºážááŒáá·áº áá»áœááºá¯ááºááá¯á·á¡á¬áž áá¶á·ááá¯ážáá°áá®áá«á
á¡ááºá
áá¬áááºááŸá Equinix Tier IV áá±áá¬á
ááºáá¬ááœáẠDell R730xd ááẠá á á
á»á±ážáááºáá¬áááºá áá®ááŸá¬áá¬
source: www.habr.com