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

posted on 2025-03-19 22:04  koushr  阅读(43)  评论(0)    收藏  举报

导航