Alexey Milovidov crĂ©e ClickHouse et, bien sĂ»r, le sait de fond en comble. Y compris comment il peut ĂȘtre utilisĂ© en plus de sa norme et de toutes les fonctions bien connues.
Et aujourd'hui, il parlera de ces maniĂšres inhabituelles de l'utiliser et, peut-ĂȘtre, mĂȘme pas pour stocker et traiter des donnĂ©es.
ClickHouse pour les tests matériels
La chose la plus simple Ă faire avec ClickHouse s'il existe des serveurs gratuits est de l'utiliser pour des tests matĂ©riels. Parce que son jeu de donnĂ©es de test contient les mĂȘmes donnĂ©es de production Yandex, uniquement anonymisĂ©es - et elles sont disponibles Ă l'extĂ©rieur pour les tests. J'ai expliquĂ© comment prĂ©parer de bonnes donnĂ©es anonymisĂ©es Ă Saint HighLoad ++ 2019 Ă Saint-PĂ©tersbourg.
Nous installons ClickHouse sur n'importe quel Linux (x86_64, AArch64) ou Mac OS. Comment faire? - nous le collectons pour chaque commit et pull request. ClickHouse Build Check nous montrera tous les détails de toutes les versions possibles:
â gcc clang , debug, , x86, ARM Mac OS. ClickHouse : CPU, . â , .
, . 30 ClickHouse. ClickHouse, .
:
:
â . , , , SPECint SPEC. ClickHouse , .
ClickHouse
, ClickHouse â + . - . ClickHouse, code.txt:
, , , C++ . shell- , . , , , â , â , «return false».
1,665 . . , LC_ALL=C, 0,376 , 5 . - .
? , clickhouse-local, .
- , , â clickhouse-local SQL . , ( , â TabSeparated), . 0.103 â 3,7â16 ( , ).
- , GitHub Archive â , GitHub, , issue, , -. https://www.gharchive.org/ ( 890 ):
- , ClickHouse local:
time clickhouse-local --query "SELECT * FROM
file('*.json.gz', TSV, 'data String')
WHERE JSONExtractString(data, 'actor', 'login') = 'alexey-milovidov'
LIMIT 10" | jq
file, *.json.gz â TSV, string. JSON JSONâ 'actor', â 'login' , « » â 10 GitHub.
, 890 1,3 . . , 10 , . , , , GitHub.
clickhouse-local --query "SELECT count() FROM
file('*.json.gz', TSV, 'data String')
WHERE JSONExtractString(data, 'actor', 'login') = 'alexey-milovidov'"
SELECT COUNT... , . , dstat:
, 530 / â ( RAID HDD).
ClickHouse local 980 . ClickHouse url â file https://.../*.json.gz, .
ClickHouse, :
file.
glob patterns. glob patterns (, .)
gzip, xz zstd . gz .
JSON. , JSON, . - , .
. , . , .
.
, , . â MergeTree. : , SELECT clickhouse-client. â , protobuf JSON :
clickhouse-local --input-format Protobuf --format-schema -
--output-format JSONEachRow ...
Serverless ClickHouse
ClickHouse serverless-. , ClickHouse - Google Cloud Run: https://mybranch.dev/posts/clickhouse-on-cloud-run/ (Alex Reid). ClickHouse .
, , tab separated (TSV) comma separated (CSV). CustomSeparated, , .
CustomSeparated:
format_custom_escaping_rule
format_custom_field_delimiter
format_custom_row_before/between/after_delimiter
format_custom_result_before/after_delimiter
, . â . , CSV, JSON, CSV. , . | . , ..
â Template:
format_template_resultset
format_template_row
format_template_rows_between_delimiter
, , , . XML, .
Regexp:
format_regexp
format_regexp_escaping_rule
format_regexp_skip_unmatched
clickhouse-local awk. , Regexp subpatterns, subpattern . . â , , .
ClickHouse
â ClickHouse. Mongo, . ClickHouse, â .
, , , â . 'message' String. JSON, JSON . â , , 'actor.login', JSON â . ClickHouse , ALTER :
, actor_login , SELECT , â . :
ALTER TABLE logs UPDATE actor_login = actor_login
, .
MySQL
ClickHouse MySQL. : , , , , ( , ), SELECT 15 :
: MySQL , MySQL , â 15 . , MySQL ?
5 41 â ! ClickHouse - â MySQL ClickHouse . MySQL â ?
â . ClickHouse ââ (20577 13772), MySQL â (44744), collation ( ) GROUP BY. , , :
, . ClickHouse , . . MySQL ClickHouse . MySQL :
, . SELECT:
6 , â , , , . MySQL ClickHouse . MySQL , MySQL ClickHouse-, ClickHouse. Distributed , , ClickHouse- ClickHouse, , MySQL.
, - ( ClickHouse). :
, â MergeTree . SELECT:
, SELECT 0,6 . , â ClickHouse!
ClickHouse MySQL. MySQL ClickHouse , , , MySQL. ClickHouse:
ClickHouse . , odbc PostgreSQL, url â REST-. :
: ClickHouse postgresql, PostgreSQL PostgreSQL. .
ClickHouse
ClickHouse CatBoost. , modelEvaluate.
. : , , : , , . â , , . ClickHouse CatBoost, .
ClickHouse. â , . , , , GROUP BY:
State:
SELECT stochasticLogisticRegressionState(...
k . AggregateFunction(stochasticLogisticRegression(01, 00, 10, 'Adam'), ...), . applyMLModel:
. , , :
ClickHouse
, ClickHouse â , . , . , , pagerank:
, , , . , Amos Bird. , open-source. .
UDF ClickHouse
, ClickHouse (user defined functions). . , cache- executable, . stdin , stdout . , .
Python, , â , â ClickHouse, user defined function.
: UDF roadmap 2021 .
ClickHouse GPU Application Server
Zhang2014 â ClickHouse Application Server. Zhang2014 pull request, HTTP- (SELECT INSERT). POST - , - GET , , SELECT .
ClickHouse â , - , , , - . , ClickHouse - . production!