本文首发微信公众号:飞总聊IT
最近,ClickHouse在公司网站发了一篇博客文章,文章的重点是炮轰Snowflake和Redshift等云数据库。
原文地址在这里,有兴趣的可以直接读原文:
https://ClickHouse.com/blog/the-unbundling-of-the-cloud-data-warehouse
这篇文章下面我先简单介绍一下ClickHouse的观点,最后谈谈我个人的看法。当然,如果想详细了解ClickHouse的观点,建议读原文,链接在上面。
一开始,ClickHouse表示云数仓的历史贡献是帮助企业从类似Teradata这样的传统数仓中解救了出来,总之Snowflake,BigQuery和Redshift是有历史贡献的。
然后接下来的主轴,就是开始炮轰这些云数仓了。
现在,大家对数据分析的要求不一样了,有很多的的实时分析的要求,比如marketing analysis,financial analysis,monitoring ,IoT等等。

但是云数仓对实时分析支持并不好。
云数仓ETL的时候有时延,所以没办法做到实时分析,不能把现在正在产生的数据和历史数据结合在一起分析。

云数仓需要做很复杂的join,查询性能也有问题。
云数仓的实际付费非常的夸张。
云数仓没办法支持高并行查询。
所以在这个新时代里面,云数仓已经落伍了。

相反的ClickHouse代表了新时代的代表,可以做实时分析,查询效率高等等。
而基于开源ClickHouse上增强的ClickHouse Cloud,那就更牛逼更适合现在这个新时代了,大家都应该迁移到ClickHouse Cloud上来。
这差不多就是这篇文章的主旨了。先狠狠批评一下对手们都是上一代产品,再告诉大家ClickHouse Cloud是最好的选择,妥妥的一边炮轰对手一边带货。

那么问题来了,飞总是怎么看这个事情的。
ClickHouse的代码我在2021年前后看过小半年时间,多多少少有一点了解。
ClickHouse的架构,基本上就是参考了Snowflake的创始人之一的博士毕业论文写出来的。当然有一些不一样的地方,但是不多。

ClickHouse强项在它的各种Query operator,storage layer也不错。但是除此之外,ClickHouse的整体架构可谓是一塌糊涂,Query complier和optimizer是一坨屎。ClickHouse的分布式解决办法,更是看得出来很奇葩。
总之ClickHouse本身就是一个非常奇怪的产品。在单表查询的时候,也不需要多牛逼的查询优化,也不需要shuffle service来解决join的问题,所以只要operator够强的话,速度确实超越了大部分其他大数据产品。
但是任何事情都有两面性,只要超出了这个服务范围,ClickHouse就是一坨屎。
国内国外都有很多拿ClickHouse魔改的产品。比如国外的firebolt就是拿了ClickHouse,但是只是用了operator,其他的optimizer是别的开源项目里面抄的,shuffle service也是别的地方抄的。

国内也有几个魔改借鉴的,比如说字节跳动的Bytehouse,又比如TiDB的OLAP的模块,都是基于了某个ClickHouse版本魔改的。
ClickHouse团队自从离开Yandex成立自己的公司以后,大部分成员都离开了俄罗斯去了阿姆斯特丹,而ClickHouse社区一直传出来,他们很多新开发的针对公有云的功能也不开源了。
所以我当然也不知道,ClickHouse Cloud的代码到底是怎么样的。
但是有一点可以肯定,既然ClickHouse团队批评其他的数仓要做复杂的join,速度慢,所以ClickHouse这个产品的本质应该没变,还是一个只支持单表查询,没有shuffle无法做复杂join,整个查询优化还是一坨屎的产品。
那么问题来了,是不是单表就可以打天下?以后的数仓都是单表的世界呢?我觉得这显然是一个伪命题。我是不相信单表打天下的。

在一些应用中,单表显然是有利的。但是很多应用,单表,并且只支持单表,真的是数据仓库的未来?我很怀疑。

总之,我个人对ClickHouse这次的说法不买账。
我建了个星球,聚焦讨论职场发展和裁员应对的问题,有兴趣的朋友可以加入,向我提问,和我一起讨论这方面的问题。
继续阅读
阅读原文