当前位置: 首页 > news >正文

flink rocksdb状态说明

文章目录

      • 1.默认情况
      • 2.flink中的状态
      • 3.RocksDB
      • 4.对比情况
      • 5.使用
      • 6.RocksDB架构
      • 7.参考文章
      • 8.总结


提示:以下主要考虑flink 状态永久存储 rocksdb情况,做一些简单说明

1.默认情况

当flink使用rocksdb存储状态时。无论是永久存储还是临时存储都可能会落盘写文件(如果没有配置存储时间,则默认是永久存储),rocksdb是flink内嵌的数据库,主要由flink自动存储管理状态数据。

2.flink中的状态

为了更好地理解 Flink 中的状态和状态后端,区分运行中状态和状态快照至关重要。运行中状态,也称为工作状态,是 Flink 作业正在处理的状态。它始终存储在本地内存中(有可能溢出到磁盘),并且当作业失败时可能会丢失,但不影响作业的可恢复性。状态快照,即检查点和保存点,存储在远程持久存储中,用于在作业失败时恢复本地状态。适合生产部署的状态后端取决于可扩展性、吞吐量和延迟要求。

3.RocksDB

RocksDB 是一个需要在集群上运行并由专门管理员管理的分布式数据库,这是一种常见的误解。RocksDB 是一个可嵌入的持久化键值存储,用于快速存储。它通过 Java 原生接口 (JNI) 与 Flink 交互。下图展示了 RocksDB 在 Flink 集群节点中的位置。更多细节将在后续章节中介绍。
在这里插入图片描述

4.对比情况

除了 RocksDBStateBackend 之外,Flink 还有另外两个内置状态后端:MemoryStateBackend 和 FsStateBackend。它们都是基于堆的,因为运行中的状态存储在 JVM 堆中。目前,我们先忽略 MemoryStateBackend,因为它仅用于本地开发和调试,不适用于生产环境。

使用 RocksDBStateBackend,运行中状态首先写入堆外/原生内存,然后在达到配置的阈值时刷新到本地磁盘。这意味着 RocksDBStateBackend 可以支持大于配置堆总容量的状态。RocksDBStateBackend 中可存储的状态量仅受整个集群

相关文章:

  • 组合两个表 --- MySQL [Leetcode 题目详解]
  • JavaScript篇:“解密JavaScript对象的诞生之旅:从new操作符到实例化全过程“
  • 使用注意力机制的seq2seq
  • 【SaaS多租架构】数据隔离与性能平衡
  • 【2025最新】AI绘画终极提示词库|MidjourneyStable Diffusion通用公式大全
  • Cisco Packet Tracer 选项卡的使用
  • 【神经网络与深度学习】普通自编码器和变分自编码器的区别
  • JavaScript 实现输入框的撤销功能
  • Spring Boot多模块划分设计
  • # 机器学习实操 第二部分 神经网络和深度学习 第12章 自定义模型和训练循环
  • 15届蓝桥杯国赛 立定跳远
  • 两次解析格式化字符串 + 使用SQLAlchemy的relationship执行任意命令 -- link-shortener b01lersCTF 2025
  • 【数据治理】数据架构设计
  • 时间同步服务核心知识笔记:原理、配置与故障排除
  • 详解RabbitMQ工作模式之发布订阅模式
  • Multi Agents Collaboration OS:专属多智能体构建—基于业务场景流程构建专属多智能体
  • 网络安全自动化:精准把握自动化边界,筑牢企业安全防
  • Redis的过期设置和策略
  • Java后端程序员学习前端之CSS
  • 深入理解 Redis 的主从、哨兵与集群架构
  • 五一假期前三日多景区客流刷新纪录,演艺、古镇、山水都很火
  • 新加坡2025年大选开始投票
  • 张建华评《俄国和法国》|埃莲娜·唐科斯的俄法关系史研究
  • 2025五一档新片电影总票房破亿
  • 国新办发布《关于新冠疫情防控与病毒溯源的中方行动和立场》白皮书
  • 人民日报:在大有可为的时代大有作为