当今在大数据分析领域,真可谓百花齐放。尤其是来自俄罗斯的ClickHouse在2019、2020年火遍神州大地(有点奇怪,欧美用户好像对它不是特别感冒),一时风光无两。打开各种技术类网站、知识分享专区,铺天盖地的赞美之词,什么“彪悍”、“神器”。确实,在当时的市场中,像ClickHouse这样在单表性能上让人眼前一亮的产品确实没有,而且打开其官网,看到它与其他数据库在SSB上的性能对比,也着实有点“惨不忍睹”。
经过一段时间的研究,ClickHouse的确内功深厚,比如其在向量化执行引擎、函数丰富度、性能评估测试体系构建等方面,做的还是很优秀的,但也绝非无懈可击。闲暇之余,跟业内几家互联网大厂的大数据开发者聊天,他们普遍认为,随着公司对数据资源建设、实时数据分析需求越来越重视,之前粗放式的开发使用ClickHouse已经面临极大的挑战。总结来看,主要有以下几点:
其一,数据模型单一化,尽管速度快,但极大的损失了数据分析灵活性。大家可能都知道ClickHouse单表快、多表挫,所以尽量把数据都打成宽表来进行分析。有很多业务线的用户对此感知并不强,就像那句话:哪有什么岁月静好,不过是有人替你负重前行。而负重前行的正是那些大数据开发工程师,为了让业务用户享受到便捷的服务,他们可真是操碎了心、磨破了嘴、身板差点没累毁。这不是一个可持续的发展状态,这么下去负重只会越来越重。所以说,数据模型要多样化、具备灵活性,比如支持星型模型、雪花模型同时不损失性能,才能让数据分析既轻松又畅快。换句话说,就是宽表、多表都得快,才是真的快。
其二,实时更新支持的不好。尤其是在现在大量电商、物流、金融等需要有数据平台变更