状态后端的选择,真实业务场景使用File system?还是使用RocksDB?

1.状态、状态后端、Checkpoint的区别和关系?

(1)状态:状态的本质是数据;

(2)状态后端:存储状态的方式,比如说Memory、filesystem、Rocksdb三种状态后端来存储的状态。

(3)CheckPoint(状态管理):主要是定时状态后端中存储的状态(本地状态)同步到远程的存储系统的组件和能力,防止任务挂掉导致状态对视,产生数据质量问题;

状态的分类(两种):

 

注意!状态本身就是数据,flink有source算子、transformation算子、sink算子等,数据肯定是经过算子进行处理和计算的,

所以,状态有两类:

1.keyed-state: 键值状态(k-v形式存储),状态值和key绑定,flink中的keyby之后紧跟的算子的state就是键值状态;

2.operator-state:算子状态,状态值和算子绑定,flink中的kafka source算子中用于存储kafka offset的state就是算子状态;

2.状态后端的选择,什么样是业务场景会使用File system,什么样的业务场景使用RocksDB?

如果是State很大===》Rocksdb;

如果State不大 ===》File system;

(1)因为Rocksdb是使用磁盘存储State,所以会涉及到访问State磁盘序列化和反序列化等IO操作,性能会受到影响;

(2)因为File system是直接访问内存,单纯从访问State状态的性能来说,File system比Rocksdb好;

(3)Rocksdb是支持增量检查点的CheckPoint,File system每次是全量做CheckPoint;

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别这么骄傲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值