传统的数据处理架构->流处理架构(Lambda架构->Kappa架构)

传统的数据处理架构

类似于流式处理,来一个事件,立即做出响应,适用于关系型数据库,数据量较小的情况

用Web程序来举例,用户点击了网页上的按钮后,会向服务器发起请求,后台立即做出响应,从数据库中查询对应的信息,进行计算,得到的结果,可能再存回数据库中,最后给用户做一个页面响应

比如用户登录,用户填写用户名和密码之后,点击注册,后台做出响应,去数据库中查询,验证该用户是否存在,如果不存在就把用户信息经过一些加密处理,再保存到数据库当中,最后给用户反馈,注册成功

 

类似于批处理,攒上一批数据,一起处理

因为数据量太大,数据来源多种多样,可能来自于mysql,sqlserver,orcale等多个关系型数据库,和一些非结构化的数据,比如前端埋点数据,可能为JSON或其他格式,一个单纯的关系型数据库根本无法处理

所以如果对实时性要求不高,就采用批处理的方式,存放到数据仓库中进行汇总之后,再进行分析

 

如果要做到低延迟实时分析,就要使用流式处理的方式

有状态的流式处理

像一个管道,数据从一边流入,进行处理后,从另一边流出,但后边如果像继续使用,也可以拿出来消费

在前面的事物处理流程中,需要数据时,就从数据库中查询

此处和此过程相似,如果要做一些复杂的计算,需要一些其他信息,要有一个地方存储信息,这里保存在Local state(本地状态中),访问和计算会很快,但本地状态占用内存,而且可能会丢失,如果出现故障怎么恢复?

所以这里使用checkpoint操作,把Local State周期性的保存到远程的存储空间(Remote Storage)中去

(Remote Storage可能是文件系统,数据库等)

当数据量大时,可以做成分布式,但是分布式可能存在网络延迟带来的乱序问题,怎么解决?

采用两套系统,流处理保证数据的实时性,批处理保证数据的准确性

当有数据输入时,来一条处理一条,隔一段时间,采用批处理的方式,处理一批数据,保证结果的准确性

所以用户这边看到的情况是,数据实时显示,但隔一段时间后,数据可能还会变化

Lambda架构

可参考详情:https://www.cnblogs.com/cciejh/p/lambda-architecture.html

http://ytluck.github.io/big-data/my-bigdata-post-34.html

 

这种架构虽然综合了流处理和批处理,支撑了数据行业的早期发展,但是它也有一些致命缺点,并在大数据3.0时代越来越不适应数据分析业务的需求

但是它需要同时开发两套系统,工作量翻倍

 

而flink使用一套API解决了以上所有问题

 Kappa架构

参考:http://ytluck.github.io/big-data/my-bigdata-post-37.html

https://www.jianshu.com/p/4f18d82a9c75

去除了批处理层,使用FLink作为流处理层的流式计算框架

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Lambda表达式->,是Java 8中引入的一种函数式编程的特性。它可以简洁地表示一个匿名函数,可以作为参数传递给方法或函数。Lambda表达式的结构可以根据需要有零个或多个参数,参数可以明确声明或根据上下文推断。参数需包含在圆括号内,参数之间用逗号相隔。当只有一个参数且其类型可推导时,圆括号可以省略。Lambda表达式的主体可以包含零条或多条语句,如果主体只有一条语句,花括号{}可以省略。Lambda表达式的返回类型与主体表达式一致。如果主体包含一条以上的语句,表达式必须包含在花括号{}中形成代码块,返回类型与代码块的返回类型一致。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Lambda 表达式](https://blog.csdn.net/xxdw1992/article/details/103903210)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [深入浅出 Java 8 Lambda 表达式](https://blog.csdn.net/u012910595/article/details/70833510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值