ClickHouse入门
本文最后更新于 2023-10-12,文章内容可能已经过时。
ClickHouse:
一款查询引擎.
1.数据库基本概念:


1.1分类:



1.2 OLAP数据库:


1.3 sql:




1.4 数据库架构:

1.4.1解释器:

1.4.2分析器:

1.4.3优化器:

把ast变成一个一个的算子(执行计划).
1.4.4执行引擎:

1.4.5存储引擎:

2.列式存储:

2.1 行式存储与列式存储:
行式存储:每一行的顺序,连续的写到存储介质当中去.

列式存储:一列一列的写入.

2.2 列式存储的优点:
2.2.1 数据压缩:

比如主键在列上存储有某种规律(递增).
压缩算法:



2.2.2 聚合计算:

2.2.3 延迟物化:
把一种数据格式变成另一种数据格式。




2.2.4 向量化:
解释:




2.3 优缺点分析:

3.存储设计:
3.1 表定义和结构:


distable不存储数据,相当于view的功能.
localtable存储数据.
3.2 引擎架构:


bin存储数据,mrk存储索引.



3.3 索引设计:
3.3.1 hash index:

3.3.2 b-tree:



3.3.3 LSM tree:




稀疏索引:一些特定的数据,用于缩小查找范围.

3.4 索引实现:




普通的mark都存储的是这个mark中的最小值,但是由于最后一个mark并没有装满,为了获得确定的区间,primaryindex存储的是所有数据的最大值.


优化:二级索引:





3.5 数据合并:


3.6 数据查询:




4.应用场景:







map:kv.


5.总结:

评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果