当前位置:首页 > 运营类 > 现代流处理技术如何缓解企业级数据处理领域的挑战

现代流处理技术如何缓解企业级数据处理领域的挑战

微信用户2年前 (2023-07-07)运营类865

在 QCon 旧金山会议上,Neha 做了“ETL 已死,而实时流长存”的演讲,并讨论了企业级数据处理领域所面临的挑战。该演讲的核心前提是开源的 Kafka 流处理平台能够提供灵活且统一的框架,支持数据转换和处理的现代需求。

是 的联合创始人和 CTO,在演讲中,他首先阐述了在过去的十年间,数据和数据系统的重要变化。该领域的传统功能包括提供联机事务处理( ,OLTP)的操作性数据库以及提供在线分析处理( ,OLAP)的关系型数据仓库。来自各种操作性数据库的数据会以批处理的方式加载到数据仓库的主模式中,批处理运行的周期可能是每天一次或两次。这种数据集成过程通常称为抽取 - 转换 - 加载(--load,ETL)。

最近的一些数据发展趋势推动传统的 ETL 架构发生了巨大的变化:

单服务器的数据库正在被各种分布式数据平台所取代,这种平台在整个公司范围内运行;

除了事务性数据之外,现在有了类型更多的数据源,比如日志、传感器、指标数据等;流数据得到了普遍性增长,在速度方面比每日的批处理有了更快的业务需求。

这些趋势所造成的后果就是传统的数据集成方式最终看起来像一团乱麻,比如组合自定义的转换脚本、使用企业级中间件如企业服务总线(ESB)和消息队列(MQ)以及像 这样的批处理技术。

批处理

在探讨现代流处理技术如何缓解这些问题之前, 简要回顾了一下数据集成的历史。在上世纪 90 年代的零售行业中,业务得到了一些新形式的数据,所以对购买者行为趋势进行分析的需求迫切增长。

存储在 OLTP 数据库中的操作性数据必须要进行抽取、转换为目标仓库模式,然后加载到中心数据仓库中。这项技术在过去二十年间不断成熟,但是数据仓库中的数据覆盖度依然相对非常低,这主要归因于 ETL 的如下缺点:

需要一个全局的模式;

数据的清洗和管理需要手工操作并且易于出错;

ETL 的操作成本很高:它通常很慢,并且是时间和资源密集型的;

ETL 所构建的范围非常有限,只关注于以批处理的方式连接数据库和数据仓库。

在实时 ETL 方面,早期采用的方式是企业应用集成( ,EAI),并使用 ESB 和 MQ 实现数据集成。尽管这可以说是有效的实时处理,但这些技术通常很难广泛扩展。这给传统的数据集成带来了两难的选择:实时但不可扩展,或者可扩展但采用的是批处理方案。

批处理

指出现代流处理对数据集成有了新的需求:

能够处理大量且多样性的数据;

平台必须要从底层就支持实时处理,这会促进向以事件为中心的根本转变;

必须使用向前兼容的数据架构,必须能够支持添加新的应用,这些新的应用可能会以不同的方式来处理相同的数据。

这些需求推动一个统一数据集成平台的出现,而不是一系列专门定制的工具。这个平台必须拥抱现代架构和基础设施的基本理念、能够容错、能够并行、支持多种投递语义、提供有效的运维和监控并且允许进行模式管理。 Kafka 是七年前由 开发的,它就是这样的一个开源流平台,能够作为组织中数据的中枢神经系统来运行,方式如下:

作为应用的实时、可扩展消息总线,不需要 EAI;

为所有的消息处理目的地提供现实状况来源的管道;

作为有状态流处理微服务的基础构建块。

Kafka 在 目前每天处理 14 万亿条的消息,并且已经部署到了世界范围内成千上万的组织之中,包括财富 500 强的公司,如 Cisco、、 和 。Kafka 已经快速成为流数据的存储方案,并且为应用集成提供了一个可扩展的消息支撑(),能够跨多个数据中心。

批处理

Kafka 的基础是 log 的理念,log 是只能往上追加(),完全有序的数据结构。log 本身采用了发布 - 订阅(-,)的语义,发布者能够非常容易地以不可变的形式往 log 上追加数据,订阅者可以维护自己的指针,以便指示当前正在处理的消息。

Kafka 能够通过 Kafka API 实现流数据管道的构建,也就是 ETL 中的 E 和 L。 API 利用了 Kafka 的可扩展性,基于 Kafka 的容错模型进行构建并且提供了一种统一的方式监控所有的连接器。流处理和转换可以通过 Kafka API 来实现,这提供了 ETL 中的 T。使用 Kafka 作为流处理平台能够消除为每个目标 sink、数据存储或系统创建定制化(很可能是重复的)抽取、转换和加载组件的需求。来自 的数据经过抽取后可以作为结构化的事件放到平台中,然后可以通过流处理进行任意的转换。

批处理

在演讲的最后一部分, 详细讨论了流处理的概念,也就是流数据的转换,并且提出了两个相互对立的愿景:实时的 和事件驱动的微服务。实时的 适用于分析用例并且需要中心化的集群和自定义的打包、部署和监控。 Storm、Spark 和 Flink 实现了这种模式。 认为事件驱动微服务的方式(通过 Kafka API 来实现)让任何用例都能访问流处理,这只需添加一个嵌入式库到 Java 应用中并搭建一个 Kafka 集群即可。

Kafka API 提供了一个便利的 DSL,具有像 join、map、 和 这样的操作符。

批处理

这是真正的每次一个事件(event-at-a-time)的流处理,没有任何微小的批处理,它使用数据流()风格的窗口()方式,基于事件的时间来处理后续到达的数据。Kafka 内置了对本地状态的支持,并且支持快速的状态化和容错处理。它还支持流的重新处理,在更新应用、迁移数据或执行 A/B 测试的时候,这是非常有用的。

总结说,log 统一了批处理和流处理,log 可以通过批处理的窗口方式进行消费,也能在每个元素抵达的时候进行检查以实现实时处理, Kafka 能够提供“ETL 的崭新未来”。

免责声明
    本网站在国家相关法律法规规定的范围内,只按现有状况提供文章发布第三方网络平台服务,本网站及其所有者非交易一方,也非交易任何一方之代理人或代表;同时,本网站及其所有者也未授权任何人代表或代理本网站及其所有者从事任何网络交易行为或做出任何承诺、保证或其他类似行为,除非有明确的书面授权。
    鉴于互联网的特殊性,本网站无法鉴别和判断相关交易各主体之民事权利和行为能力、资质、信用等状况,也无法鉴别和判断虚拟交易或正在交易或已交易之虚拟物品来源、权属、真伪、性能、规格、质量、数量等权利属性、自然属性及其他各种状况。因此,交易各方在交易前应加以仔细辨明,并慎重考虑和评估交易可能产生的各项风险。

扫描二维码推送至手机访问。

版权声明:本文由点度点度金讯时代-BLOG发布,如需转载请注明出处。

本文链接:https://lmwmm.com/post/1160.html

分享给朋友:

“现代流处理技术如何缓解企业级数据处理领域的挑战” 的相关文章

24年的老牌网站,这次真的没了!

24年的老牌网站,这次真的没了!

近日有网友发现,天涯社区官网已无法打开,相关页面显示“无法访问此网站”。另外,天涯社区APP也无法正常打开,页面显示“无网络连接”.此前,天涯社区官方微博曾于4月1日发布公告称,近期将进行技术升级和数据重构,在此期间平台将无法访问,“请大家...

盘点实力被低估的中国动作打星,第一名竟然是他

盘点实力被低估的中国动作打星,第一名竟然是他

说起武打明星,我们一定会想到成龙李连杰或是吴京甄子丹,但中国动作片中还有很多比他们还能打的人。为了让大家简单了解,小虎来盘点一下实力被低估的中国动作打星。 第十 王宝强 提到王宝强你,眼前就会出现士兵突击许三多,他的从影生涯多半都是在拍摄...

王宝强自导自演暑期档不限场次点映!

王宝强自导自演暑期档不限场次点映!

时隔五年,王宝强再次出现在大众的视野中。 这一次,他带着自己第二部导演的作品《八角笼中》强势回归,剑指影帝! 这部电影光是预告片播放量就已经超过两亿,可见观众对其是多么的期待。 原本该电影已经定档暑期档的7月6日,但是王宝强却做出了一个令...

外媒:美国意图阻止俄罗斯复兴融入欧洲真假难辨

外媒:美国意图阻止俄罗斯复兴融入欧洲真假难辨

厄瓜多尔拉丁美洲新闻社网站4月19日发表题为《地缘政治和乌克兰战争》的文章,作者系豪尔赫·莫利内罗斯,文章称,美国的意图是阻止俄罗斯复兴以及融入欧洲。全文摘编如下: 当前国际局势以俄罗斯和乌克兰之间的冲突为主导。每天都有大量新闻轰炸着我们...

俄乌冲突战局扑朔迷离白宫动员“网红”助阵

俄乌冲突战局扑朔迷离白宫动员“网红”助阵

自2月24日俄罗斯发起特别军事行动以来,俄乌冲突的战局一直扑朔迷离,西方实施了空前严厉的制裁,而俄乌谈判尚未公布“实质性进展”。除了这些显而易见的战场和外交战线交锋,双方的“舆论战”也在如火如荼的进行中。美国不断给俄罗斯“拔网线”(出手封...

估值200亿美元的今日头条,你会怎么答?

估值200亿美元的今日头条,你会怎么答?

如果问你“中国人用得最多的app是哪个?”你会怎么答?微信?反正英大以为是微信,整个英编部也以为是微信。然而,根据好奇心日报统计的数据,其实是今日头条。(外媒称其为) 在这次统计里,今日头条用户每天平均的使用时长是76分钟,微信排名第二,只...