
朱凯
本书是一本系统介绍Clickhouse的指导型工具书,全书总共分为11章: 第1章 介绍ClickHouse的由来、发展历程、核心特点与核心特点。第2~6章 介绍了ClickHouse基础使用部分,包括整体架构、如何安装、数据定义、数据引擎、数据查询和函数的特性和使用方法。第7~9章介绍了ClickHouse高级特性部分,包括数据库管理操作,数据分片、数据副本和高可用的特性和使用方法。第10~11章介绍了如果自己手动实现ClickHouse中间件的思路和示例,同时也介绍了几款可视化工具与ClickHouse集成的方法。
数据时效性对业务效果提升非常明显,因此实时化是各大公司推进的方向。以Snowflake为代表的数据仓库时代,主要还是以离线数据仓库为主,当前主要推动的实时数据仓库,主要是基于MQ + 流式计算引擎 + 数据湖 + OLAP引擎为主来展开,如基于Kafka + Flink + HUDI + ClickHouse来建设实时数据仓库。虽然基于数据湖和查询引擎(如Presto、Doris、StarRocks)可以实现数据分析,但是主要是即席分析(即AdHoc查询),若要实时查询即秒级返回查询结果,还是需要基于ClickHouse这大利器,因此需要好好学习ClickHouse并用好ClickHouse。 该书里讲述了大部分工作,主要是讲述了MergeTree的存储原理、查询流程、写入流程,并站在如何使用ClickHouse角度讲述了各个SQL的使用方式,各个字段的含义,以及如何更好地使用起来。站在最终使用者的角度作为工具书的定位,还是值得推荐的。 但是在普通使用情况下达不到要求,如查询所花的时间长或者查询失败等等,即在查询复杂、数据时效性高、查询数据量大、查询人数多、能动态扩缩容等场景下,如何能快速定位问题并有解决办法,本书就解决不了,因此,站在开发者角度来说,这本书深度很有限。 其实从本质上来看,ClickHouse跟MySQL类似的数据库管理系统,只是ClickHouse是面向列存储的OLAP引擎而已。既然是数据库管理系统,那么就面临了数据库管理系统的几个常见的组件的深入学习,如SQL查询引擎、执行引擎、存储引擎、事务引擎等等设计与优化,并现在流行云原生,那么如何支持云原生版本的ClickHouse呢?要学习和实践了解的内容还是挺多的。 先抛一系列的问题,后续再来填坑 1. MergeTree里索引、标记文件、数据文件分别长什么样,各个字段设计目的和意义是如何,如何联动实现能快速查询呢? 2. ClickHouse为啥这么快?背后真正原因是如何?向量化执行引擎纠结是哪方神圣?ClickHouse的执行引擎为啥是其他家参照学习榜样呢? 3. 实时数据写入到ClickHouse中,又不影响查询性能,如何平衡呢?若不做特别的优化,性能会不会有问题呢?如何来优化查询引擎呢? 4. ClickHouse在大宽表情况下性能表现优越,在多表关联查询方面会不会有压力呢?如何实现高效的多表关联查询呢? 5. 云原生场景下,如何做到存储和计算分离呢?如何做到计算和存储快速按需扩容呢? 6. 使用用户多了之后,大家使用的过程中怎么做到互相不影响呢?即如何做好多租户场景下的资源隔离呢? 7. …. 每个问题要回答清楚,都可以展开好多并深入到细节,懂了这些内核原理,能更好地帮助使用好ClickHouse,更好地建设起来实时分析数仓。 打个广告,这些问题的答案,后面都在公众号“艾三丰学习坊”上沉淀,欢迎大家围观!!!
这本书介绍了ClickHouse的基本原理,尤其是MergeTree写得还是很不错的,第六章大家都值得去看看,不过有些东西其实不太重要,也占用了比较多的篇幅,同时应用实践场景的案例偏少哈,多一些篇幅介绍clickhouse在生产环境上的应用实践或最佳实践就比较好了。
- everything is table, 确实是一个有意思的设计思路 - MergeTree 这部分值得一看, 看完这个再看其他 5 个表引擎就轻松多了 - 从 OLAP 来看确实有 ROLAP/MOLAP -> HOLAP 的趋势, 更广的角度是 OLTP/OLAP -> HTAP
ai出来后,拿这个目录标题问AI比看这本书好理解多了。作者的语言组织和表达非常晦涩难懂
OLAP集大成者,主要介绍了20多种存储引擎,通过个性化的存储引擎,融合了各种OLAP优化技术与数据源
ClickHouse官方团队研发负责人及核心者作序推荐,ClickHouse核心贡献者亲自执笔,一本书帮你驾驭ClickHouse本书采用浅显易懂的语言+大量演示案例+大量示意图例的形式呈现,以求让读者在最短的时间内,以最舒服的方式,获得最核心的知识。
适合官网的资料补充,整体了解了Ck的能力。everything is table的设计思想还是蛮不错的,如此丰富的表引擎打造,注定CK会越走越远。相对于kylin这类以空间换时间的Olap方案,感觉还是不断优化底层性能会有更大的前途。也许理降的不深,从书中看ck在存储模型上并没有太多不一样的地方,甚至在分块存储的结构上,远没有Hbase的复杂,当然,Hbase的设计更多是为了点查与扫描,那唯一的几个亮点是列式存储、向量化执行引擎,借助cpu的Simd指令最大化提升数据的聚合计算。那不禁想问,simd既然这么好,为什么在其他Olap没有见过?以上只是个人观点,可能存在很大偏差,还请专家帮忙解答。还是期带未来有机会在实际场景中用上CK,感受来自CPU燃烧的魅力1:
第一遍读的时候,感觉它比官网介绍的更详细,真的是救星呀!第二遍读的时候,各种疑问,好想问问作者。带着问题去寻找答案的时候,再回头看,有些地方写的粗糙,有的地方写的含糊。这本书,入门还不错,具体每个特性的实现还是以实现为准。不知道后期会不会有人用 rust 给它重写了!
对于clickhouse底层原理描述的很具体,惊叹ck的深广度!
这个世界多彩斑斓,新产品新技术层出不穷。没想到俄罗斯除了方块,还有大house。V5,之前以为是Click Horse,小马快跑!