采访ClickHouse 布道者郭炜
点击上方 "大数据肌肉猿"关注, 星标一起成长
点击下方链接,进入高质量学习交流群
今日更新| 950个转型案例分享-大数据交流群
作者 | 李慧文
采访嘉宾 | 郭炜
ClickHouse 素以社区火爆著称,无论是谁只要在社区里提交了有价值的想法或代码,管理者都会以最快的速度将它实现、上线。这种做法在激励着 ClickHouse 社区贡献的同时也给 ClickHouse 本身带来了无尽的活力,保证了 ClickHouse 在数据查询速度和稳定性方面的远超同行的霸主地位。几乎每一个月就更新一次的 ClickHouse,在过去的 2021 年实现了哪些优秀的功能呢?现在的 ClickHouse 适合在哪些场景下使用呢?未来 ClickHouse 发展的重点又在哪里呢?从 2019 年突然火爆起来的 ClickHouse 作为一匹黑马,在云原生场景下,是一匹能跑长途的黑马,还是仅仅是明日黄花呢?
基于对上述问题的好奇,我们特意邀请了 ClickHouse 中国社区发起人郭炜老师,请他从社区发起人的角度,聊聊飞速发展的 ClickHouse 在 2021 年有哪些最新场景应用,以及它的未来发展趋势。同时郭炜老师也是本次 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(UserDefine Function):用户自定义函数。我特别期待其中 v21.11 里增加的对于各种语言 UDF 的支持,它大大减少了不同语言的开发者使用 ClickHouse 的学习成本,对于 ClickHouse 进一步发展有着重要意义。
Windows Function:开窗函数。这是高级 SQL 里最常用的一个特性。有了开窗函数,ClickHouse 就可以和 Oracle、DB2 等商业级别的数据仓库拥有一样的特性,对于本身速度又非常快的 ClickHouse 来说,简直是如虎添翼。
依赖极致的社区,ClickHouse 基本上每月都会更新一个版本。除了我上面提及的,ClickHouse 今年还增加了物化列,ALL,ANY,EXCEPT 等运算符、可以连接 XML 文件,新加了 Executable Table 等等其他的功能,大家可以去社区查看。
此外,ClickHouse CTO Alexey-Milovidov 会在 12 月 11 日的 ClickHouse China Meetup 上重点讲解 ClickHouse 的新特性和 2022 年的规划。
InfoQ:迭代了如此多实用的新功能,ClickHouse 现在有哪些最新场景应用呢?
郭炜:ClickHouse 过去最常见的场景有三个:
用户行为分析:在采集用户行为日志之后,进行 PV、UV、留存、转化漏斗等操作,例如头条、快手、喜马拉雅等。
用户画像圈选:每个公司都拥有大量的用户和用户画像标签,如何快速从用户画像标签里圈选出某几类标签的人群,例如阿里、喜马拉雅等。
机器日志监控 & 查询:每台机器都产生大量日志,如何快速监控、查询机器日志,以确保整体服务没有问题。基本上所有的互联网公司都在这样使用 ClickHouse 的。
在今年数字化转型非常热门,有很多的企业用户加入到 ClickHouse 社区使用者阵营,因为我们也看到一些很有意思的场景,如:
IOT 场景:一些钢铁厂用 ClickHouse 采集、监控、分析自己内部 IOT 数据。我知道的最大的集群超过 100 台了。
政府大数据:ClickHouse 赋能政府合作伙伴,针对政府大量结构化和非结构化数据,进行大量数据质量整理和搜索。
网管监控:针对一些特殊 APP、特殊网站的日志,快速分析和快速报警。
关于数字化转型,我多啰嗦两句。事实上,ClickHouse 解决的是“数据分析的最后一公里”,解决了很多数字化转型企业数据分析的效率问题,包括:
大数据建设完成后最终产出了大量的 BI 报表、OLAP 分析,数据驱动距离业务远。
有经验的业务分析人员无法快速获得需要的数据,或者需要复杂 NoSQL 技术。
数据驱动还是“人”驱动,还有大量的提数、出报表的需求,而很多报表往往只用一次。
业务快速变化要求更新速度高,数据流无法让业务人员上手。
我举例的这些都是企业在数据化升级当中遇到的问题,因为越来越多的运营、产品、决策都需要用到灵活查询的一手明细数据,过去传统的层层数据仓库,OLAP 已经不能满足这些需求了,这正是 ClickHouse 的拿手好戏。
InfoQ:今年 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 年给大家更多的惊喜。
嘉宾介绍:
郭炜,人称“郭大侠”,Apache Foundation Member,Apache DolphinScheduler PMC,Apache IPMC Member,ClickHouse 中国开源社区发起人和首席布道师。(ClickHouse 社区地址:https://clickhouse.com/docs/zh/whats-new/changelog/#new-feature )
中国软件行业协会智能应用服务分会副主任委员,TGO 北京董事会学习委员,全球中小企业创业联合会副会长,人民大学大数据商业分析研究中心客座研究员。
郭大侠曾任易观 CTO,联想研究院大数据总监,万达电商数据部总经理,并曾在中金、IBM、Teradata 公司担任大数据方向重要岗位,对大数据前沿领域研究做出过卓越贡献。
郭大侠一直致力于让“数据能力平民化”的事业上,本人参与多个开源项目,非常擅长深入简出讲解复杂的大数据和开源概念,被评为虎啸 10 年杰出数字人物。郭大侠促进多个开源社区在中国的落地以及中国开源项目在全球的发展,被评为 Apache Foundation Member 和 2021 年中国开源最佳人物之一。
--end--
扫描下方二维码添加好友,备注【交流】
可私聊交流,也可进资源丰富学习群更文不易,点个“在看”支持一下
采访ClickHouse 布道者郭炜相关推荐
- 郭炜:就算倒在离开源成功最近的五米,也要让下一代开源人坚定前行
「WeOpen Talk」是腾源会全新上线的"对话开源"内容专栏,每周为读者呈现一期与尖峰开源人物的精彩对话内容.在「WeOpen Talk」栏目中,我们将深刻诠释开源先锋者们的开 ...
- 易观CTO郭炜:如何构建企业级大数据Ad-hoc查询引擎
凭借多年大数据平台建设经验,易观 CTO郭炜为大家分享了易观在大数据实时查询引擎建设过程所获经验与挑战,以及大数据人员如何快速建立自己的大数据查询引擎套件,让自己的数据人员不再是"表哥表妹& ...
- 【金猿人物展】Apache郭炜:数智新元,向内打破——开源星星火,燎原新科技...
郭炜 本文由Apache Foundation Member郭炜撰写并投递参与"数据猿年度金猿策划活动--2021大数据产业趋势人物榜单及奖项"评选. 数据智能产业创新服务媒体 - ...
- 郭炜:CTO、技术VP、技术总监、首席架构师的区别?
同样是技术最高负责人,为什么有人叫CTO.有人叫技术总监.技术VP.有人叫首席架构师?他们之间的差别是什么?怎样才能成为一个合格的CTO?这些问题通过CTO核心能力管理系列文章分享一些自己思考,也重新 ...
- 程序设计与算法郭炜老师的课堂笔记2
程序设计与算法郭炜老师的课堂笔记2 枚举 完美立方 生理周期 称硬币 熄灯问题 递归 求阶乘 汉诺塔 N皇后 逆波兰表达式 表达式求值 上台阶 放苹果 算24 二分算法 找一对数 分治 归并排序 快速 ...
- xmuoj《C++与Python语法入门练习(By郭炜老师)》python参考代码
目录 前言 xmuoj对应链接 Pycharm安装 代码 001 输出第二个整数 002 字符菱形 003 打印ASCII码 004 打印字符 005 整型数据类型存储空间大小 006 浮点型数据类型 ...
- 程序设计与算法郭炜老师的课堂笔记1
程序设计与算法郭炜老师的课堂笔记1 基础 与或非 位运算 字符串操作库函数 strtok尝试 字符串0新认识 void 指针无定义 快排 变量 排序 Vector vector示例 用**vector ...
- 程序设计与算法郭炜老师的课堂笔记3
程序设计与算法郭炜老师的课堂笔记3 从C到C++ 引用 引用作为函数参数 引用作为函数返回值 常引用 const关键字 定义常量 定义常量指针 定义常引用 动态内存分配 用new开内存 用delete ...
- 易观郭炜:流动水系数造未来
10月26日-27日,2018易观A10大数据应用峰会在北京如期召开,本次峰会以"数造未来 精益成长"为主题.来自国内外的大数据实践者.资本掌舵人.企业家.技术大咖.运营专家.应用 ...
最新文章
- Java代码的基本格式及注释
- URLDecoder: Illegal hex characters in escape (%) pattern ...
- linux内存不足+段错误,在linux下代码运行出现段错误,求大神
- 数据结构_C语言_实验二_树 ——还原二叉树
- BOW( opencv源码)
- java软件开发是什么_java常用的开发软件是什么
- 谈谈用统一网关gate的利与弊
- python弹钢琴_python钢琴块自动脚本
- 过滤器六:url-pattern设置过滤范围
- input框监听输入法输入中文
- Rail-5k:一个用于轨道表面缺陷检测的真实数据集
- 为什么不要去小公司上班?这是我血与泪的教训!!!
- 雨林木风:dll文件下载网站
- java数组查找奇数_java – 在数组中对偶数和奇数进行排序
- 不同强度等级下混凝土的弹性模量、轴心抗压强度标准值fck、轴心抗拉强度标准值ftk、轴心抗压强度设计值fcd、轴心抗拉强度设计值ftd (规范值)
- 魔兽世界服务器同时在线人数,魔兽世界怀旧服国服同时在线人数达到60万,排队30万,即将破百万...
- U盘AUTO病毒删除办法
- access如何设置定期报表汇总_ACCESS最佳教程(报表的设置教学)
- 汤晓丹的第四版计算机操作系统--第三章总结概述
- 频域中求解零状态响应,频率响应(自主学习复习傅里叶变换)
热门文章
- 计算机毕业设计(9)python毕设作品之校园失物招领系统
- python桌面_python写桌面
- Thread.sleep() 和 Thread.yield() 区别
- 学习一下怎么加入自己的图片,用QQShow做一下试验~~~~~~~~~~
- windows抓屏排除指定窗口
- conda安装新环境
- 使用Yoast SEO提交Sitemap
- 隐秘而伟大!知名互联网公司都在使用哪些数据库?
- Lambda表达式秒用——SerializedLambda序列化
- SpringCloud的五大核心组件李俊老师