暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

京东云ClickHouse入选2021年度最值得学习案例

京东云 2022-01-13
1074

2022年1月9日,第十届全球软件案例研究峰会在北京落下帷幕。会上京东云的《ClickHouse云原生架构演进之路》凭借在云原生领域的技术创新能力及大规模实践成果,入选2021年度最值得学习案例。京东云数据库技术总监张成远在会上和业界伙伴做了案例内容的深度分享。
 

01 京东云如何提供

云原生ClickHouse服务


京东云是基于云舰提供的云ClickHouse服务。云舰是京东云开发的一款基于k8s的云原生混合云操作系统,云舰可以帮助上层PaaS类业务屏蔽底层的公有云、私有云、混合云等不同的基础IaaS设施的差异性,对上层提供一致的用户使用体验,包括日志、监控、运维等在内的一系列完整的支持,覆盖一款PaaS产品从开发到上线到迭代升级及日常运维等在内的完整生命周期管理的支持。

京东云ClickHouse服务提供一整套完整的生命周期的管理支持,帮助用户可以低门槛快速便捷地获取到高质量的ClickHouse服务。以高可用为例,社区开源版的ClickHouse有分片(shard)和副本(replica)的概念,每个分片里的副本间数据基于Zookeeper进行数据同步管理,保证数据一致,某个副本宕机以后不影响集群整体对外提供服务。京东云基于ClickHouse自身高可用机制之上进行了更多的建设工作,包括:

一、自定义选择副本,用户可以灵活的设置每个分片的副本个数,每个副本都具备读写的能力,一个副本宕机不影响整个集群的读写。

二、调度策略,同一个分片里的副本从资源分配的调度策略上保证不会落在同一个机架上,确保即使一个机架故障的情况下依然不影响业务使用,同时用户申请资源的时候也可以申请副本跨可用区(AZ),确保机房级的副本间高可用。

三、云盘存储数据,云盘本身是三副本高可用的,如果ClickHouse副本的计算节点所在物理机宕机了,可以非常方便灵活地将云盘卸载和重新挂载到新创建的计算节点上。另外如果运行过程中发现某些节点有异常,探针发现异常以后会进行包括自动重启等在内的一系列自动修复程序进行自动修复处理。

除了以上高可用服务以外,京东云ClickHouse服务还提供弹性扩缩容支持、账号管理、参数管理、版本升级、审计及监控报警等多项安全防护支持等。

02 京东云ClickHouse进行了

哪些大规模应用实践


京东云ClickHouse已经在京东内部广泛使用,使用场景包含促销选品、广告实时竞价、物流分析、报表分析、物联网、商业智能等数十个。进入云ClickHouse的数据来源路径一般分为两类:

一、实时数据,实时类的数据一般是上游业务产生的数据,经由Kafka、Redis等中间件到Flink进行处理,比如加工成大宽表等后进入云ClickHouse服务;

二、离线数据,离线类数据一般是大数据平台处理以后产生的数据,如从Hadoop里的数据进行处理以后进入云ClickHouse服务。

目前京东云ClickHouse已在京东零售、京东物流、京东科技、京东工业大规模使用,重点介绍下零售和工业两个业务场景。


零售选品场景

京东零售选品业务主要是负责为在京东首页做活动时推荐商品提供数字化支撑决策及分析。选品业务要做的事情简单的理解就是把所有商品的相关信息数字化,构建整个商品底层能力,从商品的筛选到投放的完整过程都实现一整套数字化的处理机制,通过全程数字化跟踪分析,找到适合营销、品类、运营和采销之间的最优推荐值,确保从商品的最初的选择到实际推荐及最终效果都能数字化的呈现出来。上面整个流程会涉及到大量的数据分析,因为在选品的时候需要均衡考虑到多种类目的产品,每一个类目下又有很多款的产品,同时每一款产品又会有很多的商品标签信息,所以选品业务每天会将数十亿级的商品数据加工成大宽表存入云ClickHouse服务,方便运营灵活便捷的按照不同的维度进行刷选,找出适合推荐活动的TopN的商品,这里涉及最多的是对Top N及大宽表的使用。


工业互联网场景

京东工业互联网平台将十几万设备的数据采集以后,需要呈现出实时分析大屏。该业务的特点是设备量比较大,同时每个设备每分钟上报1-60条不等的数据,客户对实时性要求又比较高,随时可能要盯着大屏进行观测分析,另外业务本身也在变化发展之中,伴随着部分设备的变更很可能数据字段会不断增加。京东工业最终选择了京东云ClickHouse来承接实时分析处理,整个上报的海量数据经过处理加工成大宽表,存到ClickHouse服务中,秒级就可以快速处理分析完,用户可以随时观测到实时大屏上的显示结果。这里除了大宽表的使用,还涉及到物化视图的使用,将一些首页的相对固定的聚合处理通过物化视图的方式进行处理,确保整个大屏的用户体验顺畅。

整个京东集团还有很多的应用使用场景,除了前面案例中提到的大宽表、Top N、物化视图等使用方式以外,在其他的业务场景中还涉及到字典表、count等开窗函数的使用,给上层业务带来了的价值除了节省了巨大的计算、存储成本以外,通过实时分析处理的方式也帮助业务更及时地进行更多维度的分析,帮助业务大幅提升业务及产品的竞争力。

03 云原生时代

基础软件的未来


如果对国内互联网技术发展做一些阶段划分的话,可以分为几个阶段,第一阶段是2000年-2010年,这十年是国内互联网发展积累的十年,在这期间国内的互联网公司蓬勃发展,同时培养了一大批技术人才,打磨出很多基础软件设施以及沉淀了很多基础软件的使用经验。

第二阶段是2010年-2020年,这十年是国内云计算蓬勃发展的十年,借助前十年的积累,很多基础软件设施的能力被云产商以云服务化的方式对外提供服务,快速帮助传统企业及中小企业进行数字化转型,帮助用户可以快速方便的获取到基础IT设施的服务。

当然,2010-2020年这十年伴随着云产商把很多软件尤其是开源基础软件托管形成云产品对外提供服务以后,对很多基础软件公司也产生了较大的冲击,从某种角度而言,这种情况其实不是非常利好基础软件的发展,那么基础软件未来何去何从,这就涉及到未来的第三阶段,即2020-2030年,首先需要关注未来十年的一个重要变化趋势,就是云作为全社会IT基础设施会成为一种事实上的标准。可以把云当做一个城市的高铁、高速公路等基础设施,对一个城市来说这些基础设施到位以后,利用好这些基础设施往往就可以快速地带动一个城市的发展。同样的道理,大家都知道CPU的访问速度比内存快,内存比磁盘快,如果当有一天告诉大家磁盘的访问速度比内存快,那当前的很多基础软件都将发生翻天覆地的变化,同理,当基础云服务已经普及成基础设施以后,自然也会给当下的基础软件带来翻天覆地的变化,所以对于基础软件来说,未来十年最大的出路可能就是跟云深度的结合,打造真正意义上的云原生之路。

如何真正的更好的与云深度结合是一个非常具有挑战性的问题,在更好地解决这个问题之前,需要分析云最大的特点是什么。云计算发展到当前阶段有几个比较明显的特点:

一、无限规模/容量,一个云产商提供的云服务后台资源实际是有限的,但对某一个客户来说,可以认为约等于无限规模/容量。

二、云厂商拥有标准基本一致的通用基础产品,比如像S3这种产品,以及各家的很多基础云产品会提供各自标准的OpenAPI,基本也是大同小异。

三、极致的pay-as-you-go,很多云产品都可以做到秒级计费以及按量计费,相当于已经提供了一个按需付费的基础框架。

对于未来十年基础软件的探索出路来说,如果可以把以上三个云的主要特点真正的考虑进自己的软件设计之中,很可能就可以形成真正意义上的云原生的软件形态,并在其之上构建出一整套云原生的生态体系。
 
作为科技界颇具影响力的案例研究峰会,TOP100峰会每年面向国内外软件、互联网领域研发团队,甄选有学习价值的100个技术创新及研发管理实践。京东云依托公、专、混的全栈式云产品矩阵,融合了人工智能、大数据、物联网、区块链等前沿科技,在为零售、物流、能源、制造等实体企业服务的过程中,积累了大量成功实践案例。本次入选2021年度最值得学习案例,也代表业界对京东云技术创新和实践成果的认可。

- End -


更多了解


文章转载自京东云,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论