1.概述

之前我们在 Flink SQL 中支持了 MiniBatch, 在支持高吞吐场景发挥了重要作用。今年我们在 Flink SQL 性能优化中一项重要的改进就是升级了微批模型,我们称之为 MicroBatch,也叫 MiniBatch2.0。

在设计和实现 Flink 的流计算算子时,我们一般会把“面向状态编程”作为第一准则。因为在流计算中,为了保证状态(State)的一致性,需要将状态数据存储在状态后端(StateBackend),由框架来做分布式快照。而目前主要使用的RocksDB,Niagara状态后端都会在每次read和write操作时发生序列化和反序列化操作,甚至是磁盘的 I/O 操作。因此状态的相关操作通常都会成为整个任务的性能瓶颈,状态的数据结构设计以及对状态的每一次访问都需要特别注意。

微批的核心思想就是缓存一小批数据,在访问状态状态时,多个同 key 的数据就只需要发生一次状态的操作。当批次内数据的 key 重复率较大时,能显著降低对状态的访问频次,从而大幅提高吞吐。MicroBatch 和 MiniBatch 的核心机制是一样的,就是攒批,然后触发计算。只是攒批策略不太一样。我们先讲解触发计算时是如何节省状态访问频次的。

参考:https://segmentfault.com/a/1190000017297819?utm_source=tag-newest

95-910-172-源码-FlinkSQL-Flink SQL提升吞吐的利器 MicroBatch相关推荐

  1. Flink SQL 核心解密 —— 提升吞吐的利器 MicroBatch

    Flink SQL 核心解密 -- 提升吞吐的利器 MicroBatch 之前我们在 Flink SQL 中支持了 MiniBatch, 在支持高吞吐场景发挥了重要作用.今年我们在 Flink SQL ...

  2. 95-866-040-源码-吞吐量-提升吞吐的利器 MicroBatch

    文章目录 1.美图 2.概述 3.微批计算 4.攒批策略 4.1 MiniBatch 攒批策略 4.2 MicroBatch 攒批策略 5.防止数据抖动 6.适用场景与使用方式 7.后续优化 1.美图 ...

  3. SharingSphere 源码解析 -- 真实SQL生成探索

    SharingSphere 源码解析 – 真实SQL生成探索 简介 在上一篇文章中,我们探索了ShardingSphere JDBC Mybatis示例执行的一个大致的过程,找到了SQL处理的关键节点 ...

  4. sharding-jdbc源码解析之sql解析

    2019独角兽企业重金招聘Python工程师标准>>> 说在前面 本文转自"天河聊技术"微信公众号 本次介绍的是sharding-jdbc的源码解析部分的sql解 ...

  5. 淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树

    http://blog.csdn.net/qq910894904/article/details/28658421 OceanBase是阿里巴巴集团自主研发的可扩展的关系型数据库,实现了跨行跨表的事务 ...

  6. MyBatis(12) 源码解析之SQL执行流程

    一.前言 资料 mybatis文档:https://mybatis.org/mybatis-3/index.html mybatis源码:https://github.com/mybatis/myba ...

  7. mysql 执行概况_转mysql源码分析之SQL执行过程简介

    本人打算从SQL语句的执行开始学习和分析MYSQL源码,首先了解MYSQL是如何执行一条SQL语句的,详细了解它的执行过程之后,再深入学习执行一条SQL语句的运行原理. 1)从执行一条SQL语句的堆栈 ...

  8. C/S系统快速开发框架/winform快速开发框架源码(C#+SQL)

    C/S系统快速开发框架正在席卷软件和应用程序开发领域,winform所提供的开发速度的提高.在开发周期中适应客户需求的灵活性.成本效益和更高的客户满意度,正迅速使其成为应用程序开发的新标准. C/S和 ...

  9. MongoDB源码概述——使用日志提升单机数据可靠性

    在MongoDB源码概述--内存管理和存储引擎一文的最后,我们留下了一个问题,在使用MongoDB的内存管理与存储引擎时,因为其依仗操作系统的MMAP方式,将磁盘上的文件映射到进程的内存空间,这给Mo ...

最新文章

  1. ios开发日记-18上传appStore时,遇到错误,代码为ERROR ITMS-90049
  2. 字节跳动取消大小周后首次发薪,员工炸锅:薪资普降 17%
  3. webpack 配置react-router 服务,及react-router浅析
  4. 【HDU - 1559】最大子矩阵 (二维前缀和裸题)
  5. 计算机数值模拟仿真技术的优点,板料成形的计算机数值模拟仿真技术.pdf
  6. 【需求对接】ATR“春雨”博士后联合基金指南
  7. notepad++ :正则表达式系统教程(zz)
  8. pythonclass全局变量_python类怎么定义全局变量
  9. 数据结构 二叉树的递归建立和递归遍历
  10. VirtualBox的BUG:没超线程也认为有
  11. [转贴]Unix-Center.Net需要您的帮助
  12. 一文详解当下MOS管的封装及改进
  13. mysql的sock文件_如何查找 mysql 的mysql.sock文件?
  14. linux dd 错,dd命令错误写入设备上没有剩余空间[关闭](dd command error writing No space left on device [closed])...
  15. poi删除带有合并单元格的行的问题
  16. Sqlite出现database is locked
  17. 联想 thindBook 13s G2 ITL笔记本开不了机问题
  18. Unity【DoTween】- 如何使Transform Tween动画序列可编辑
  19. 计蒜客python刷题笔记
  20. .NET Core发送HTTP Post和Get

热门文章

  1. 滴滴否认柳青计划卸任:目前正积极全面配合网络安全审查
  2. 知名投资机构董事总经理在培训中晕倒后去世,这个培训究竟是什么?
  3. 小米向集团3904名员工授予7023万股票,最小入选员工仅24岁
  4. 开盘暴涨193.9%,市值1.39万亿港元!快手正式上市
  5. 特斯拉股价周五收盘下跌7.38% 此前公布第三季度交付量创新高
  6. 红魔5S将配备320Hz游戏肩键:让小白瞬间成为操控高手
  7. 华为畅享20 Pro测评:5G双模六频段+90Hz刷新率屏幕
  8. 库克:苹果已完全使用可再生能源供电
  9. 亚马逊创始人贝佐斯离婚协议本周生效 前妻分得380亿美金
  10. 苹果有意参与角逐奥斯卡 欲投资6部电影!