状态后端的选择,真实业务场景使用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;

相关推荐

  1. std::filesystem使用笔记

    2024-04-27 10:12:05       36 阅读
  2. vue使用提供接口

    2024-04-27 10:12:05       30 阅读
  3. 】redis缓存使用

    2024-04-27 10:12:05       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-27 10:12:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-27 10:12:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-27 10:12:05       82 阅读
  4. Python语言-面向对象

    2024-04-27 10:12:05       91 阅读

热门阅读

  1. 深入浅出:MySQL与HBase的核心差异及适用场景解析

    2024-04-27 10:12:05       31 阅读
  2. 代码随想录训练营26day-贪心算法4

    2024-04-27 10:12:05       35 阅读
  3. 4.25 作业

    2024-04-27 10:12:05       31 阅读
  4. DevOps转型的意义:加速创新、提高效率

    2024-04-27 10:12:05       26 阅读
  5. Rust 字符串基本使用教程及代码演示

    2024-04-27 10:12:05       32 阅读
  6. DRF 权限介绍

    2024-04-27 10:12:05       25 阅读
  7. 如何在ubuntu 24.04上安装配置x11vnc以便远程访问

    2024-04-27 10:12:05       36 阅读
  8. Python pip安装如何切换国内源

    2024-04-27 10:12:05       35 阅读
  9. 【Linux】tr命令删除空格,sed替换空行

    2024-04-27 10:12:05       32 阅读
  10. MyBatis特殊SQL的执行

    2024-04-27 10:12:05       41 阅读
  11. windows Server 2012精讲系列课程

    2024-04-27 10:12:05       27 阅读
  12. Leetcode 347:前K个高频元素

    2024-04-27 10:12:05       23 阅读