流批一体技术框架探索及在袋鼠云数栈中的实践7283.pdfVIP

流批一体技术框架探索及在袋鼠云数栈中的实践7283.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
流批⼀体技术框架探索及在袋⿏云数栈中的实践 ⼀、关于流批⼀体数据仓库 流批⼀体是⼀种架构思想,这种思想说的是同⼀个业务,使⽤同⼀个sql 逻辑,在既可以满⾜流处理计算同时也可以满⾜批处理任务的计算。 从效率层⾯来说,批处理只能以t+1 的形式呈现业务数据,流处理只能以t+0 的形式呈现业务数据,当⼆者独⽴时企业需要运⾏两套代码,开发、运维、⼈ ⼒成本⾼,呈现周期长。⽽流批⼀体则使⽤⼀套代码呈现两套业务数据,开发、运维成本降低⼀半,实效性显著提升。 那么,什么⼜是流批⼀体数据仓库呢?简单点说,它是将异构源的数据使⽤同⼀套计算引擎并结合数据仓库理论所特有的资料存储架构完成实时、离线分 析业务的数据集合。 该数据集合具以下特点: ⾯向主题:数据仓库按照⼀定主题域组织数据; 易于集成:消除源数据中的不⼀致性,保证企业全局信息的⼀致性; 相对稳定:集合中数据长期保留,只需定期加载、刷新; 预测趋势:数据中存放历史信息,可对企业发展历程和未来趋势做出定量分析和预测。 ⼆、数栈在流批⼀体数仓上的演进 随着客户体量增⼤,客户需求逐步增加,⾯对PB 级别的批数据和流数据的处理需求,数栈技术团队⾯临越来越多的挑战,在这个过程中逐步完善了数栈数 仓架构体系。从2017 年的基于传统架构的批处理经过4 年迭代到基于混合架构的流批⼀体数仓,如图: 数栈流批⼀体架构混合数仓演进过程⽰意图 1. 基于传统架构的批处理 互联⽹诞⽣之初虽然数据量暴增,单⽇事实表条数达千万级别,但客户需求场景更多是“t+1” 形式,只需对当⽇、当周、当⽉数据进⾏分析,这些诉求仅离 线分析就可满⾜。 恰逢hadoop ⽣态刚刚兴起之时,数栈技术团队基于数据暴增存储紧张的困境搭载Hadoop ⽣态链,将数据周期性导⼊HDFS ,利⽤Hadoop 平台Hive 做数据 仓库就可实现对HDFS 上的海量数据集进⾏离线分析。 这⼀阶段其实与互联⽹本质架构没有过多变化,仍是将数据周期性装载然后分析,只是使⽤的技术由经典的数仓⼯具转型到了⼤数据⼯具。 2. 基于Lambda 架构的流批独⽴ 随着⽹络、通信技术发展,“隔⽇达”的数据已不能满⾜客户的需求场景,他们更期待实时数据呈现,这样⽆论是在⾦融、证券交易还是零售、港⼝的实时 监控预警等场景下,决策者都可以第⼀时间做出有利判断,提升效率减少损失。 为应对这种变化,数栈技术团队结合当时主流⼤数据处理技术,在原有的HIVE 数仓上,增加了当时最先进的流批⼀体计算引擎Spark 来加快离线计算性 能。同时在原有的离线⼤数据架构上,增加了⼀条基于Kafka 存储以及Flink 计算引擎的流处理链路⽤于完成实时性要求较⾼的指标计算。 虽然使⽤Spark 和Flink 计算引擎满⾜了客户对于实时数据的场景呈现,但由于Spark 虽然理念上是流批⼀体但本质上还是基于批来实现流,在实效上仍存在 ⼀定的硬伤。⽽同期的Flink 计算引擎并不完善,数栈技术团队于是对Flink 功能进⾏了⼀定的扩展。 在此过程中同步孵化出了可以完成更多数据源同步的FlinkX 和可以通过Sql 对更多的数据源进⾏实时计算并写⼊的FlinkStreamSql 。 (取之开源,馈之开 源。数栈技术团队已将它们分享到了Github 上,有需要的同学可以点原读原⽂查看。) 这⼀阶段数栈技术团队通过⾃研的FlinkX 和FlinkStreamSql ,在原有的离线链路上新增了流计算链路⽤于实时数据分析,完成了从传统⼤数据架构到 Lambda 架构的转变。 Lambda 架构的核⼼思想是将业务进⾏拆分,实时性要求⾼的业务⾛实时计算⽅案,实时性要求低的业务⾛离线计算⽅案,最后由数据服务层对全部数据 进⾏分析汇总供下游使⽤。 Lambda架构流批独⽴处理流程图 3. 基于Kappa架构的实时处理 Lambda架构的搭载基本满⾜了客户对于实时数据的诉求,⼤量客户通过数栈DTinsight实现数据赋能⽣产任务的需求,在每⽇数以万计的数据量下,数栈 DTinsight也能保持稳定的运⾏,为客户在数据驱动业务上提供了强有⼒的后盾。 虽然Lambda架构满⾜了客户在业务上对于实时性的需求,但随着企业发展业务量也在逐步增加,导致开发与运维成本逐步增加。此时Flink流处理技术也 逐步成熟,Flink Exactly-Once和状态计算已完全可以保证计算最终结果的准确性,因此数栈技术团队开始关注在Lambda架构的基础上如何做出调整。

文档评论(0)

134****3224 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档