写点什么

Kylin 5 年的成长与未来规划

2021 年 1 月 12 日

Kylin 5 年的成长与未来规划

Apache Kylin 5 Year Milestone


2015 年底,Kylin 正式从 Apache 软件基金会毕业,成为第一个来自中国的 Apache 顶级开源项目。在过去的 5 年里,Kylin 社区不断发展壮大,有了非常活跃的技术社区,协同开发,推动着 Kylin 成长为一款高性能的大数据分析型数据仓库。



Kylin 过往 5 年里主要的发展里程碑


1)Kylin 技术发展概览


  • 2016 年初,Kylin 1.5 版本支持 Plug-in 架构

  • 为未来开发出更多的数据源、构建引擎以及存储引擎打下了坚实基础。

  • 2016 年底,Kylin 1.6 版本支持 Kafka 实时数据源

  • 通过微批次的方式加载数据,大大降低了数据加载的延迟,从过去的天级或若干小时级变成了分钟级。

  • 2017 年 4 月,Kylin 2.0 发布

  • 正式支持 Spark 作为构建引擎,以及增加了对雪花模型的支持。

  • 2018 年 3 月,eBay 团队贡献了 Cube Planner 和 Dashboard

  • 这让 Kylin Cube 优化比过去方便了很多,用户可以对数据进行采样和分析,让算法决定哪些 Cuboid 需要计算,再结合 Dashboard 中收集到的查询历史,可以让 Cube 进一步的瘦身优化,在此基础上性能和存储都得到大大的改善。

  • 2018 年 9 月,Kylin 2.5 版本支持了 Hadoop 3.0 以及 HBase 2.0

  • 可以进一步从分钟级的延迟降低到秒级。Kylin 也从此能同时支持历史查询、准实时查询以及实时查询。

  • 2020 年中,Kylin 3.1 版本发布

  • 支持了 Flink 作为计算引擎,至此 MapReduce、 Spark 以及 Flink 都与 Kylin 实现对接,用户可以根据他们的喜好选择合适的引擎做 Cube 计算。

  • 2020 年 9 月,Kylin 4.0 Alpha 版本正式发布

  • 全新的构建引擎和查询引擎极大地提升构建性能和查询性能,解决了查询单点问题等痛点;去除了 HBase 依赖,很大程度地解决了 Kylin 的难运维问题,也使得 Kylin 的计算和存储分离变为可能。


2)Kylin 社区成长


在过去的 5 年中,Kylin 俘获了非常多的用户,在数据分析及报表展示中广泛得应用,用户群不仅包括 eBay、Yahoo 日本、美团、网易等这些互联网厂商,也包括了一些制造业厂商,如小米、华为、VIVO 等;此外也有一批海外用户,如 VISA、CISCO、迪卡侬、沃达丰等。



Kylin 的社区也在这 5 年中不断的发展和壮大,2015 年只有 16 个初始的开发人员,当时 Kylin 发布了 5 个版本,从那之后 Kylin 社区在稳步的发展,截至到 2020 年 12 月,共有 44 个 Committer,包含 24 个 PMC Members,除此之外还有超过 180+ 位 Code Contributors。


从 2015 年到 2020 年,Kylin 共发布了 36 个 Apache Release,平均算下来每年会发布 6-7 个版本。另外,社区的活跃度从 Jira Issue 以及 GitHub Star 上也可以得到一个概览。



可以从这个曲线上看到 JIRA issue 一直在增长,说明每年有许多用户在 Kylin 社区活跃,GitHub Star 数也同样是呈持续增长态势。


最新版本:Apache Kylin 4.0


1)Kylin 4.0 开发节点


首先从时间上来看,Kylin 4.0 Beta 版本最快将在本月底或 2021 年初的时候发布,GA 版本将在 2021 年中旬正式发布。



Kylin 4.0 改革的一大目标就是将 HBase 存储替换成 Parquet 存储。这一目标考虑的是 HBase 的功能比较复杂,对 Kylin 运维带来非常大的挑战,随之而来的是企业维护的成本及扩容成本高。未来我们希望 Kylin 能发展成存储和计算分离的架构,通过使用轻量级的列式存储来帮助用户更容易运维。Cube 的计算引擎及查询引擎都会替换成 Spark,整个这个体系架构也是基于 Kylin 的可插拔架构来实现的,但是因为存储是一个非常基础的模块,所以它对上层和对下层都有不少的改动。


目前,4.0 Alpha 版本已经在 Kylin 官网上,感兴趣的小伙伴可以登录官网下载预览,基础功能包括 Cube 的计算和查询相对来说比较完整。


预计在本月底或 2021 年初,4.0 Beta 版本将正式发布,目前正在开发一些高级功能以及它们跟新的存储及查询引擎的对接,包括 Cube Planner、Dashboard,以及对存储和查询引擎的性能优化。


待明年(2021 年)中旬,4.0 GA 的时候还会增加对 Kafka 的数据源的对接,以及实现 Spark 3.0 的升级,其它一些正在规划中的高级功能也会在 GA 版本中跟大家见面。


2)Kylin 4.0 性能概览


接下来会主要展示 Kylin 4.0 版本与 3.0 版本在离线的 Cube 计算性能以及在线 SQL 查询性能对比情况。


离线的 Cube 计算性能



首先来看下离线 Cube 计算性能 ,左图显示了构建时间的对比,使用的是 3.0 的 MapReduce 引擎和 4.0 的 Spark 引擎做对比,可以看到 4.0 的构建时间相比 3.0 能减少 30%—50%,也就是说理想情况下 4.0 版本中 Cube 构建速度可以比 3.0 快一倍。


从存储方面来看,右边图显示 4.0 版本的 Cube 大小比 3.0 能减少差不多 40%,因为 3.0 版本中 Cube 数据会存储两份:一份是在 HDFS 上的中间结果用于未来的 segment 合并,还有一份是在 HBase 中用于查询;但 4.0 版本中只需用一份 Parquet 数据就可以来做合并以及查询。所以 4.0 的存储大小大概是 3.0 的 1/3。


在线 SQL 查询性能



上图中用了典型的两个 Benchmark 数据来做对比,左边是 SSB 数据集,它相对来说是一种比较简单的分析场景。从左图看到大多数简单场景的查询下,4.0 的性能和 3.0 是比较接近,但会略微慢一点,3.0 版本的查询时间大概在 0.5 秒左右,4.0 比 3.0 略微慢了 0.2、0.3 秒左右。


右图是在复杂的 TPCH 模型下,查询会比较复杂,可以看到 3.0 上很多查询响应差不多是在 10 秒或者 20-30 秒之间,但 Kylin 4.0 借助 Spark 的分布式计算和分布式聚合,使得 Kylin 的 query 节点的负载进一步被分散(也不再有字典的加载和解码),使得查询性能取得进一步的提升,图上明显可以看到在一些慢的查询上,Kylin 4.0 相比于 3.0 有差不多 10 倍的性能提升。


总而言之,Kylin 4.0 的性能比 3.0 在小而简单的查询下基本持平,但是在复杂且慢查询下会有非常大幅度的提升。


Apache Kylin 未来展望


1)Cloud-Native


随着云计算的普及,过去可能很多原本只能在 Hadoop 上做的事情有了新的选择。但云随之而来给企业的应用,特别是给 IT 架构带来很大的变化。



现在越来越多的企业正在拥抱云原生(Cloud-Native)架构,目的是让企业能更适应于在云上部署。对于 Kylin 而言,Kylin 也会做计算和存储分离,这样就能让计算资源和存储资源分别独立的弹性伸缩,从而实现资源的更高效利用。


另一方面,为了能实现应用之间更好的隔离,促进应用往更高性能、更高稳定性发展,我们也希望对 Kylin 整体架构的调整能更好得在云上部署,来使用云原生的存储计算的框架,以及监控运维的框架。在这方面可以看到最火的就是以 Kubernetes 为代表的容器编排技术,以及云上以 S3 所代表的新的分布式对象存储技术。


2)实时分析(Real-time)


过去大数据处理大部分是使用批处理来对数据做加工、清洗和聚合;因为批处理相对来说比较简单,以及高吞吐的经济效率比较高。但是批处理最大问题在于数据的延迟比较久,通常在 T+1,就是 1 天或者是若干个小时之后才能看到这个数据分析的结果。


今天越来越多的企业对数据时效性提出了更高要求,业务希望数据的处理时间能够降低在分钟级甚至是秒级,这些年可以看到实时计算的技术越来越火,包括 Spark Structed Streaming、Flink 以及一些其它的流计算框架。对 OLAP 来说,未来我们希望 Kylin 一方面能够继续支持批量的数据加载,另一方面也能支持流数据的处理,实现流批一体化。



大家可以从 Kylin3.0 版本就能看到,我们统一了流计算和批计算,未来用户只用运维一套 OLAP 平台就可以服务不同的场景。


3)人工智能与机器学习


人工智能就是让机器学会人的思考方式,通过模型的训练让机器可以自动的做出判断决策,从而减少人工的投入,提高人类的工作效率。如何才能让 AI 更加的智能,模型更加的准确,成熟度更高?在这背后就需要更多的数据进行训练,而这就是大数据与机器学习所结合的价值所在。



Kylin 过去主要服务的场景是在 BI 领域,也就是说把数据采集出来,通过对接 BI 赋能分析人员来看到数据中发生了哪些本质的变化。在未来我们希望 Kylin 可以通过这些数据来赋能于 AI,能直接从数据中挖掘出来价值告诉人类,而不是让人通过 BI 来获取这些信息。


总结


最后我们总结未来对 Kylin 的期待。



我们希望 Kylin 能成长为一个云原生的,可以支持批处理以及流处理的分析型数据仓库。一方面能服务于 BI,另一方面可以实现对 AI 的支持,相比于其它技术和引擎来说,它在高性能和高并发上具有明显的优势。未来它的底层架构可以直接运行在轻量级的分布式计算框架上,也可以直接部署在容器上,可以对接多种数据源,包括文件集合,实时流,传统的 RDBMS,或是现在很热门的数据湖。此外未来也希望 Kylin 的部署、运维、监控、扩容、缩容都会变得更加容易,最终也可以让用户的总体成本比以前有一个大幅降低。



到 Kylin 5.0 的时候,我们希望它能够基于 Cloud-Native 架构再次统一流批 OLAP 分析,并实现对 Machine Learning 及 AI 的支持。


作者介绍


史少锋,Kyligence 合伙人 & 首席软件架构师,Apache Kylin 核心开发者和项目管理委员会主席 (PMC Chair),专注于大数据分析和云计算技术。曾任 eBay 全球分析基础架构部大数据高级工程师,IBM 云计算软件架构师。


本文转载自公众号 apachekylin(ID:ApacheKylin)。


原文链接


Kylin 5 年的成长与未来规划

2021 年 1 月 12 日 10:00748

评论

发布
暂无评论
发现更多内容

如果你觉得学习 Git 很枯燥,那是因为你还没玩过这款游戏!

GitHubDaily

git GitHub 编程 程序员 开发者工具

让你高效工作与学习的免费工具(1)

石云升

高效工作 效率工具 工具

如何在一台计算机上安装多个 JDK 版本

mghio

Java jdk 版本管理工具

Harbor 2.0的飞跃: OCI 兼容的工件仓库

亨利笔记

Kubernetes 容器 k8s Harbor 镜像

OneData之OneModel

KAMI

大数据 数据中台 数据治理 OneData

松哥手把手带你入门 Spring Security,别再问密码怎么解密了

江南一点雨

Java spring Spring Boot spring security

松哥手把手教你定制 Spring Security 中的表单登录

江南一点雨

Java spring Spring Boot spring security

《后浪》产品经理篇(恶搞版)

静陌

产品经理 后浪

Python 核心技术与进阶 list & tuple

Bonaparte

《零基础学 Java》 FAQ 之 7-Java 中的内存是怎么分配的

臧萌

Java JVM

从一次排查ES线上问题得出的总结——熔断机制

罗琦

elasticsearch 源码分析 circuit break 熔断

微服务涉及的技术生态有哪些?

攀岩飞鱼

分布式 微服务 方法论 软件架构

码农理财(一)

北漂码农有话说

理财

计算机中的递归对普通人有什么启示?

BitSea

算法

程序员的晚餐 | 5 月 17 日 当西红柿遇上鱼

清远

美食

游戏夜读 | Scikit-learn迎来0.21之前

game1night

尽管HTTP/3已经来了,HTTP/2也得了解啊

清远

网络协议 HTTP

设计模式之观察者模式

设计模式

业余前端的日常

顿晓

学习 前端 日常 专家 知识体系

OneData之OneID

KAMI

大数据 数据中台 数据治理 OneData

浅谈Cloud Native技术对云上产品的影响

韩超

Docker Kubernetes 云原生 IaaS PaaS

sync.Map源码分析

陈思敏捷

go golang 源码 源码分析

OneData之OneService

KAMI

大数据 数据中台 数据治理 OneData

谈谈控制感(5):怎么破控制感损失的局

史方远

职场 心理 成长

严选合伙人(二)

Neco.W

创业 重新理解创业 合伙人

Redis稳定性实践

心平气和

redis 缓存 稳定性

更聪明地学习,而不是苦读——《如何高效学习》

mzlogin

学习

对于程序员,那些既陌生又熟悉的计算机硬件

架构师修行之路

微软 编程 程序员 cpu 架构师

Xtrabackup的安装使用

一个有志气的DB

MySQL 工具 数据的分片和备份

OpenResty部署配置和日志切割

wong

nginx centos openresty

数据治理与OneData 体系

KAMI

大数据 数据中台 数据治理 OneData

NLP领域的2020年大事记及2021展望

NLP领域的2020年大事记及2021展望

Kylin 5 年的成长与未来规划-InfoQ