Alexey Milovidov worked as an engineer at Yandex.Metrica and faced a difficult task.
. β - . , , , .
β 2016 ClickHouse, -.
, , ClickHouse , , ClickHouse .
β , , .
β , . , . 90- -0010. . , : 86 (Focal, . formula calculator).
, , 3-4. . . , . . , . , , .
, . . , . , . .
Β« Β». IBM 286, - . β . 10 .
. , . . ++ , β . - , β ++, .
. ++, , .
β ?
β . β - . β . - .. . - , - , 2 . 2 , : ? 30%, ! .
, . , β , β . .
β .
β , . , - , ( , !), : , .
, , , . : , . , : ! , . , , , .
β , . 5 , !
β . , , . , -. , , . , , , , .
β , ?
β . , . , , β ! , .
β , β , ?
β -, , - , , , . .
-, , , , . . .
, , -. , . , . , . , . , . , , . , , . , , , , β . , , -? , , .
, - . 32 L1 - . , - . - . - , , . -, .
β ? , ? ?
β , ! . .
, unit-. , . . , - , , . , - , .
. , always on profiling. . . , , . , .
β β , . ?
β , . , , . . , . , , .
, , , . .
β C# Java β 200 . , . C++ , . 5.000 ?
β StorageReplicatedMergeTree.cpp, ...
, Linux, - , , .
- , , . , , , , .
, . , - . - . , . , , , .
... 6.368 . . . .
β ?
β β .. , . , , - - . . - . , . .. , . , .
. , . , . 70% : , - .
, , . , , , . , .
, , . . , - .
2015- ( .). , ( ). . : , . , , 2016 , . . : , , . , . .
β ?
β . .
β - ? ?
β , . 46% - β . , , . , - .
β , .
β β , β . , . , . , . .
β , "ClickHouse way"?
β , SQL. : Β« Β», : ! , .
β ? β .
β , . . . .
β , β . ?
β , , . , . , , .
β , ?
β . , .
β , , , , ?
β , . . BSD, . , , csh ? , ? ( β ). : . , - «».
β ?
β . : β ? ? , , , , .
β , ? .
β . - , - β . , . .
β , . - , , , .
β . : Β« , Β». , . . - . .
β ? , . , .
β , . , . . , .
flash. , - , flash. , , , . HTML5, : Β«HTML5 β , - . -. , flash?Β» , .
. , . - . , . , , , . . 10 JavaScript , - . , .
β β ?
β . , , . , , β . , . - , .
JavaScript, , ++, . , , . , . ++ β . Rust, , , . , .
. , - Β« Β». Rust. . .
β , . ?
β . , , . , . - , - . , . , . , β .
, β . , , . , , ! , . , , , . . , , . , .
, .
Rebrain
ClickHouse? β , , .