ClickHouse 高性能 = 列式存储 + 向量化 + Code Generation(局部) + CPU底层指令集(SIMD)优化 + MPP架构
Join操作时较小的表作为右表,
Join操作将右表载入内存,进行哈希连接。
在分布式表中,会将右表广播到所有的分片上
ClickHouse中的数据库和表都被组织为文件夹 ,
默认内置default和system两个数据库 ,default就是默认数据库,
system是存储ClickHouse服务器相关信息的数据库,例如连接数、资源占用等
高范式的表适合事务处理,而低范式的表适合分析处理 ,
数仓建模本质上就是一个逆规范化的过程,将来自原始业务数据库的规范化数据还原为低范式的过程,从而用于快速分析。
分区在ClickHouse上的意义更多在于对数据的管理,通过分区可以方便地对数据进行管理,而不是加速查询。
因此,不要试图使用分区来优化查询,ClickHouse官方说明中提到:大部分情况下,并不需要分区。
ClickHouse 压榨单机性能,单机就能处理大量数据,百亿以下的数据表,都可以使用单机解决。
真正的知识具有内在的关联性,就像一根链条,从基础层面到应用层面环环相扣。
如果有人用词花哨,动辄谈论宏大而复杂的概念,那么他很有可能并不了解自己所谈论的东西。
聪明的人是可以把事情深入浅出地给孩子讲解清楚的人,否则他自己也没有真正理解。
《纳瓦尔宝典》:读书不是为了记住知识,而是建立索引
clickhouse使用建议
使用MergeTree存储引擎
按照业务需求,正确设置排序键,查询时需满足最左原则
不用或少用Join操作
尽可能使用内置函数
ClickHouse 定位充分发挥单机性能的OLAP引擎。
可借助spark 实现 分布式join
第一页
上一页
下一页
最后一页