【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

郭炜:讨论 ClickHouse 的未来,至少要了解它的设计理念

  • 2022-04-13
  • 本文字数:4311 字

    阅读完需:约 14 分钟

郭炜:讨论ClickHouse的未来,至少要了解它的设计理念

嘉宾 | 郭炜

编辑 | 李慧文


几乎每一个月就更新一次的 ClickHouse,在过去的 2021 年实现了哪些优秀的功能呢?现在的 ClickHouse 适合在哪些场景下使用呢?未来 ClickHouse 发展的重点又在哪里呢?从 2019 年突然火爆起来的 ClickHouse 作为一匹黑马,在云原生场景下,是一匹千里马,还是明日黄花呢?

 

基于对上述问题的好奇,我们特意邀请了 ClickHouse 中国社区发起人郭炜老师,请他从社区发起人的角度,聊聊飞速发展的 ClickHouse 在 2022 年有哪些最新场景应用,以及它的未来发展趋势。同时郭炜老师也是本次 QCon+ 案例研习社(北京站)「ClickHouse 集群版深度实践」专题的出品人,他邀请了国内 ClickHouse 深度使用者来分享,为大家带来 ClickHouse 集群版有关的实践经验,希望可以给 ClickHouse 使用者带来启发。

 

让我们一起来看看老师对 ClickHouse 最新场景和未来方向的思考吧。

 

InfoQ:ClickHouse 素以迭代快著称,能简单聊聊从去年到今年 ClickHouse 主要实现了哪些功能的迭代吗?

 

郭炜:ClickHouse 今年迭代的功能非常多,我印象非常深刻的有:

  • Projection:预聚合。这是今年发布的非常重要的一个特性,它进一步提高了常用并发度和汇总查询的速度,同时还保证了数据表和表内设计的一致性,非常方便地提供了类似下图中的可以实时更新的 Cube 查询:



  • JIT(just-in-time compilation:开启 JIT 优化后,根据社区小伙伴的评测,ClickHouse 在一些一元运算、二元运算、逻辑运算等方面性能提高了 1.5-3 倍,聚合步骤方面性能提升了 1-2 倍。

  • UDF(User Define Function):用户自定义函数。我特别期待其中 v21.11 里增加的对于各种语言 UDF 的支持,它大大减少了不同语言的开发者使用 ClickHouse 的学习成本,对于 ClickHouse 进一步发展有着重要意义。

  • Windows Function:开窗函数。这是高级 SQL 里最常用的一个特性。有了开窗函数,ClickHouse 就可以和 Oracle、DB2 等商业级别的数据仓库拥有一样的特性,对于本身速度又非常快的 ClickHouse 来说,简直是如虎添翼。

 

依赖极致的社区,ClickHouse 基本上每月都会更新一个版本。除了我上面提及的,ClickHouse 2021 年还增加了物化列,ALL,ANY,EXCEPT 等运算符、可以连接 XML 文件,新加了 Executable Table 等等其他的功能,大家可以去社区查看。

 

InfoQ:迭代了如此多实用的新功能,ClickHouse 现在有哪些最新场景应用呢?

 

郭炜:ClickHouse 过去最常见的场景有三个:

  • 用户行为分析:在采集用户行为日志之后,进行 PV、UV、留存、转化漏斗等操作,例如头条、快手、喜马拉雅等。

  • 用户画像圈选:每个公司都拥有大量的用户和用户画像标签,如何快速从用户画像标签里圈选出某几类标签的人群,例如阿里、喜马拉雅等。

  • 机器日志监控 &查询:每台机器都产生大量日志,如何快速监控、查询机器日志,以确保整体服务没有问题。基本上所有的互联网公司都在这样使用 ClickHouse 的。

 

在 2021 年数字化转型非常热门,有很多的企业用户加入到 ClickHouse 社区使用者阵营,因为我们也看到一些很有意思的场景,如:

  • IOT 场景:一些钢铁厂用 ClickHouse 采集、监控、分析自己内部 IOT 数据。我知道的最大的集群超过 100 台了。

  • 政府大数据:ClickHouse 赋能政府合作伙伴,针对政府大量结构化和非结构化数据,进行大量数据质量整理和搜索。

  • 网管监控:针对一些特殊 APP、特殊网站的日志,快速分析和快速报警。

 

关于数字化转型,我多啰嗦两句。事实上,ClickHouse 解决的是“数据分析的最后一公里”,解决了很多数字化转型企业数据分析的效率问题,包括:

  • 大数据建设完成后最终产出了大量的 BI 报表、OLAP 分析,数据驱动距离业务远。

  • 有经验的业务分析人员无法快速获得需要的数据,或者需要复杂 NoSQL 技术。

  • 数据驱动还是“人”驱动,还有大量的提数、出报表的需求,而很多报表往往只用一次。

  • 业务快速变化要求更新速度高,数据流无法让业务人员上手。

 

我举例的这些都是企业在数据化升级当中遇到的问题,因为越来越多的运营、产品、决策都需要用到灵活查询的一手明细数据,过去传统的层层数据仓库,OLAP 已经不能满足这些需求了,这正是 ClickHouse 的拿手好戏。

 

InfoQ:2021 年 9 月份,ClickHouse 成立了独立的公司,创始人 Izrailevsky 说组建公司的目的之一就是集中人力放在云环境中部署上。上云一直是 ClickHouse 的痛点,您认为 ClickHouse 在上云主要有哪些问题呢?有什么好的解决方案吗?

 

郭炜:ClickHouse 的开源版本为了追求极致的性能,从底层列式存储到上层向量化计算引擎其实都没有选择存算分离、弹性扩展的技术方案,甚至于本地化机器扩容的横向数据 Re-balance 都需要手动或者等待新数据自动填充。

 

因此,如果要实现云上的可动态伸缩、存算分离,Cloud-ClickHouse 需要重构底层代码,否则 ClickHouse 只是变成装在虚拟主机上的云本地版本,并不是真正的和 Snowflake 一样的云端数据服务。

 

当然,目前国内很多云是基于这个云本地版本模式提供 ClickHouse 服务的,即上层使用 ClickHouse 进行计算,为了实现底层云存储,有的使用性能不太高的 S3 接口,有的直接利用原来的格式,而底层用云存储上文件软连接方式解决存储扩展问题。

 

因为 ClickHouse 性能非常彪悍,所以这种云模式也可以带来一定的利润空间。当然,终极解决方案还是需要解决存算动态分离和动态伸缩问题,这需要俄罗斯团队携手全球社区人才共同解决。

 

InfoQ:业界有一些唱衰 ClickHouse 的声音,您怎么看待这个现象呢?

 

郭炜:ClickHouse 的火爆除了它极致的速度还和它出现的时机有很大关系。我认为随着数据量的增大、使用场景的深入,普适性的数据计算引擎将会被细分,根据不同场景会出现各种各样不同的数据引擎。例如,用于流计算的数据库引擎、用于即席数据分析的数据引擎,用于物联网的数据引擎等等。

 

这是因为在巨大的数据量面前,想追求极致的性能和全部的适应性,必须在某些技术方案上进行取舍,从而达到引擎针对某些场景引擎的最大化支持。每一个引擎要在足够细分的赛道情况下要和其他引擎有数量级级别的差异。在数据暴增的情况下,过去的通用性引擎已经无法满足业务需求,所以场景性的计算引擎将会崛起。

 

ClickHouse 是个场景引擎崛起的例子,解决的是“数据分析最后一公里”的问题,不是用来解决所有问题的。这和当年我曾经工作过的 Teradata 和 IBM 的数据引擎设计是完全不同的。所以,大家以过去数据仓库、数据库的方法来衡量 ClickHouse 就很难理解它的一些设计,才会产生这些唱衰的声音。

 

随着数据量级的持续暴增,能解决所有问题的数据引擎几乎是不会存在的,未来的数据引擎一定是百花齐放百家争鸣的局面。如何和这些数据引擎并存、快速交换数据、管理数据是 ClickHouse 除了云化之外,主要面临到的问题。这些问题的解决就需要依赖周边生态和上下游的合作伙伴了。

 

InfoQ:您聊到 ClickHouse 解决的是“数据分析最后一公里”的问题,其他问题需要和上下游的伙伴共建生态,这些伙伴具体指的是谁?

 

如前面所述,ClickHouse 并不是数据仓库,它也不是数据导入和调度工具,它需要很多合作伙伴,包括:

  • 数据仓库:可以用 Hadoop 生态来存储更多的冷数据,也可以用 Greenplum 来存储关系型数据,当然也可以用一些商业数据仓库来存储大量 3NF 数据;

  • 关联查询:可以用 Presto、Doris 来弥补 ClickHouse 关联查询不强的问题。现在京东、趣头条都使用了 Presto 或者 Doris 的小集群来做关联查询,用 ClickHouse 的大集群来做日常非关联的分析;

  • 数据导入:Sea Tunnel(原 Waterdrop)可解决 ClickHouse 数据导入不方便、容易不一致的问题。它可以从各种不同数据源里抽取数据,最终放到 ClickHouse 或者其他数据源里。唯品会和滴滴都在用这种方案。这个具体方案在我们 2022 的 QCon+会有分享。

  • 其他:多任务时可以使用 DolphinScheduler 进行调度,展现时可以使用 E-Chart 等等。

 

开源组件一定是在自己最擅长的领域里做到最好才会有市场。一个上下游友好完整的生态,能够够极大地赋能开源组件,让它发挥出自己最大的作用。

 

InfoQ:作为 ClickHouse 绝对的深度用户,您已经陪伴 ClickHouse 五年了,您认为 ClickHouse 未来五年发展的重点将放在哪里?有什么值得广大用户期待的吗?

 

郭炜:未来 ClickHouse 最值得期待的就是云化支持和场景扩展了。

 

ClickHouse 云支持的痛点,我前面已经讲过了。开源 ClickHouse 有非常多的创新设计(例如向量计算、向量存储、压缩算法等方面的创新设计),这些设计保证了它在它常用的场景里是全球最快。一些引擎虽然引用了它的代码,在一些测试场景优化后跑得快一些,但是实际使用起来依然无法超越 ClickHouse 的速度和稳定性。这样的创新如何在云时代实现新的飞跃是我非常期待的。这既然是 ClickHouse 未来的方向,也将是一场引领整体 OLAP 计算引擎的云原生革命。

 

而场景化是 ClickHouse 天然的属性,大家能看到今年 ClickHouse 还在推出新的表引擎。如前文所述,ClickHouse 的特长就是在细分场景里,面对超大规模数据查询和插入做到极致的快。而面对场景的 OLAP 引擎是我非常认同的。现在 ClickHouse 仍然在不断根据不同场景推出自己的表引擎,这些表引擎还在不断地创新,我相信它在未来会给我们更多的惊喜。

 

我补充一点,大家可能不知道,前几年 ClickHouse 核心团队都是个位数的,所以很多架构、功能都没有办法快速实现。现在整体开发团队达到百人规模,也成立了独立的公司,必将更快的发展。

 

此外,ClickHouse 成立公司后,Alexey-Milovidov 和 Ivan 就像过去 5 年中一样,支持着中国社区用户,并没有因为公司的出现而改变初心。我相信 ClickHouse 会在未来 5 年给大家更多的惊喜。

 

Qcon+北京站安排了 ClickHouse 的专题,邀请了移动、联通、微信、唯品会、网易、云智慧等深度使用了 ClickHouse 的公司的技术 leader 和高级工程师,分享 ClickHouse 集群版上一些常见问题的解决方案,希望能帮助大家更好更快地进行数据查询。

 

嘉宾介绍:

郭炜,人称“郭大侠”,Apache Foundation Member,Apache DolphinScheduler PMC,Apache IPMC Member,ClickHouse 中国开源社区发起人和首席布道师。(ClickHouse 社区地址:https://clickhouse.com/docs/zh/whats-new/changelog/#new-feature

 

中国软件行业协会智能应用服务分会副主任委员,TGO 北京董事会学习委员,全球中小企业创业联合会副会长,人民大学大数据商业分析研究中心客座研究员。


郭大侠一直致力于让“数据能力平民化”的事业上,本人参与多个开源项目,促进多个开源社区在中国的落地以及中国开源项目在全球的发展,被评为 Apache Foundation Member 和 2021 年中国开源最佳人物之一。

 

活动推荐:

Qcon+北京站安排了 ClickHouse 的专题,邀请了移动、联通、微信、唯品会、网易、云智慧等深度使用了 ClickHouse 的公司的技术 leader 和高级工程师,分享 ClickHouse 集群版上一些常见问题的解决方案,希望能帮助大家更好更快地进行数据查询,点击此处即可学习部分视频。



2022-04-13 17:105225

评论 2 条评论

发布
用户头像
ClickHouse可以与hive结合吗 hive查询有点慢
2022-04-16 11:17
回复
一般都是hive加工数据结果导入clickhouse进行分析
2022-08-18 08:53 · 广东
回复
没有更多了
发现更多内容

线上压测

agnostic

多位AI学者、行业大牛、企业家齐聚2023 HAOMO AI DAY分享自动驾驶行业前沿洞见

科技大数据

数据湖(十七):Flink与Iceberg整合DataStream API操作

Lansonli

数据湖

盘点毫末智行AI DAY:智算中心成立、六大闭环、MANA五大模型...助力毫末智能驾驶产品快速迭代

科技大数据

毫末智行稳健收官2022“三大战役” 火力全开打响2023“四大战役”

科技大数据

智能汽车

毫末智行稳健收官2022“三大战役” 火力全开打响2023“四大战役”

科技大数据

极客时间运维进阶训练营第十周作业

老曹

TSDB助力井下位置服务

CnosDB

数据库 IoT 时序数据库 开源社区 infra

三年成功实现7次OTA升级!MANA六大闭环成毫末产品迭代强大助力

科技大数据

追求技术极致 探索落地先机 毫末智行城市NOH公布未来产品规划

科技大数据

新能源汽车

运维训练营第十一课作业

好吃不贵

中国自动驾驶行业最大智算中心亮相 毫末顾维灏:毫末车端感知架构实现跨代升级

科技大数据

汽车

怎么用vscode创建工程

eng八戒

ide vscode koa

尝试阅读理解一份linux shell脚本

eng八戒

bash Shell Linux Kenel 脚本

选购LED显示屏时需要注意8个技术参数

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

MySQL字符集和排序规则详解

C++后台开发

MySQL 数据库 中间件 后端开发 C++开发

Button(按钮)与ImageButton(图像按钮)

智趣匠

Android Studio button imagebutton

【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis数据实战指南(离线同步数据)

洛神灬殇

redis 1月日更 RedisShake Redis-shake

SpringBoot 框架中的 Tomcat 为什么一定要替换掉?

风铃架构日知录

Java spring 程序员 后端 springboot

一文读懂什么是 Web3 架构

风铃架构日知录

编程 程序员 后端 码农 web3

直播交友一对一视频语音APP项目系统架构和模式分析(成品1对1源码)

山东布谷科技胡月

视频语音直播app开发 语音直播交友系统搭建 社交app开发 1v1语音系统搭建 视频社交APP开发

Guitar Pro2024最新免费版吉他打谱软件下载

茶色酒

Guitar Pro Guitar Pro8 guitar pro2023

OpenTelemetry日志体系

骑牛上青山

Java 日志 log 调用链 OpenTelemetry

2023-01-07:hyper/docker-registry-web是registry的web界面工具之一。请问部署在k3s中,yaml如何写?

福大大架构师每日一题

云原生 k8s k3s 福大大

《零基础学 Python(2023 版)》学习笔记 Day0

IT蜗壳-Tango

Python编程 IT蜗壳教学

无线配置多一个路由器作为家庭wifi的无线热点?

eng八戒

家庭网络 热点

HAOMO AI DAY速递:六大闭环、MANA五大模型助力毫末智能驾驶产品快速迭代

科技大数据

Github限时开放!阿里巴巴内部亿级Java高并发系统设计手册

架构师之道

Java 架构 面试

社交视频直播一对一交友APP源码之Android如何打包APP

山东布谷科技胡月

语音直播app开发

元器件温度系数(ppm/℃)是什么?

不脱发的程序猿

元器件温度系数

VSCODE 配置远程调试环境

eng八戒

ide vscode 服务器

郭炜:讨论ClickHouse的未来,至少要了解它的设计理念_开源_李慧文_InfoQ精选文章