clickhouse第一篇:引擎
https://clickhouse.com/docs/engines/table-engines
clickhouse表的引擎决定了:
数据如何存储,写入到哪里,以及从哪里读取;
支持哪些查询,以及如何支持;
并发数据访问;
索引的使用,如果有的话;
是否可以多线程请求执行;
数据复制参数。
clickhouse有4个家族的引擎,分别是:
1、MergeTree
MergeTree家族引擎是针对高负载任务最通用、功能最强大的引擎。MergeTree家族引擎旨在满足数据高速插入以及数据量大的需求。插入操作会创建表分片,这些分片会通过后台进程进行合并。
MergeTree家族引擎表主要特性有:
①表的主键决定表分片内部数据的排列顺序。主键引用的不是单独的行,而是称为颗粒的、具有8192行的块。这使得主键比较小,从而可以保持在内存中,提供对磁盘数据的快速访问。
②表可以使用任意分区表达式进行分区。当查询允许时,分区裁剪可以让一些分区免于读取。
③数据可以在集群节点间复制,以实现高可用,故障切换和零停机升级。
④支持多种统计类型和抽样方法,以优化查询。
MergeTree家族的引擎支持数据复制、分区、二级索引等。
MergeTree家族引擎具体有7个引擎:
①MergeTree
②ReplacingMergeTree
③SummingMergeTree
④AggregatingMergeTree
⑤CollapsingMergeTree。collapse的意思是崩塌。
⑥VersionedCollaspingMergeTree
⑦GraphiteMergeTree。graphite的意思是石墨。
2、Log
Log家族引擎是具有最小功能的轻量级引擎。当记录数在100万以下,需要快速写入并随后整体读取时,Log写了引擎最佳。
Log家族引擎具体有3个引擎:
①TinyLog
②StripeLog。stripe的意思是条纹。
③Log
浙公网安备 33010602011771号