



中心数据库负载很大,而且中心数据库一旦出现问题,所有业务系统都将崩溃


但是lamda模式的数仓,一般采用关系型数据库,无法满足海量数据的存储


一定程度上解决了,不同计算模式(实时和离线)的业务需求。

但是,这种流批模式,等于是实时和离线两套架构,导致 复杂度和运维成本高。
1.4 基于流处理的模式

流处理架构一般分为2部分,消息传输层(负责采集新数据 和 推送数据) 和 流处理层(负责数据的转换加工等)

流处理大致框架

flink没有中心数据库,而且流处理天然支持批处理(不再需要两套实时和离线架构)







flink的优势:

其中第3个高度灵活的流式窗口
因为在流式数据中是无穷无尽的,不能直接进行计算,所以flink提出了,窗口的概念:

窗口的概念
窗口的分类:


有状态是指的每个事件的状态都会记录:

如何保证分布式系统,各节点的一致性


flink 不断创建快照,来对照数据一致性
因为java的内存管理会有一些问题,所以flink创建了自己的内存管理


flink是如何自己管理内存的
将所有的对象进行序列号和反序列化,在内存中存储

序列化存储内存,这样做的好处:
这里的迭代指的是:每次迭代计算的结果,给到下个迭代
增量迭代:下个迭代只需要,计算上个迭代的部分数据,或者 只需要更新上个迭代的部分数据集



