一文读懂Kafka中的“消费”(对标MySQL数据库)

一、通俗理解Kafka的消费

消费 = 读取数据 + 执行业务处理 + 记录读取位置

Kafka存了一堆实时数据,Flink/程序把这些数据拿出来、读一遍、做计算处理,这个全过程就叫消费。

二、对标关系型数据库(MySQL为例)

Kafka消费 ≈ MySQL 执行 SELECT 查询 + 逐行处理数据

1、场景对标

MySQL:写 SELECT * FROM order_table; → 查出表里的数据 → 做统计、过滤、分析

Kafka:Flink任务持续读取Topic数据 → 过滤、开窗、聚合统计 → 这就是消费数据

2、核心组件对标

  • Kafka Topic = MySQL 一张数据表

  • Kafka 消息(每条数据) = MySQL 表里的每一行数据

  • 消费数据 = SELECT 读取表数据 + 业务计算

  • Offset(书签) = MySQL 的「读取游标」,记录读到第几行了

三、Kafka消费和MySQL查询的核心区别

既然都是读数据,为什么Kafka叫消费?因为和普通SQL查询有本质区别,这是实时和离线的核心差异。

1. 执行模式不同

MySQL查询:一次性执行,查完结束,静态读离线数据

Kafka消费:永久运行、持续监听,新数据一来,立刻自动读取处理,永不停止

2. 读取位置不同

MySQL:每次SELECT都是从头查全表数据

Kafka消费:靠Offset书签,只读新数据、从未读的位置继续读,不会重复读历史数据(同消费者组内)

3. 数据属性不同

MySQL:数据是静态的,固定存在表里

Kafka:数据是动态流式的,源源不断新增,属于无界数据

一言以蔽之,Kafka消费就是持续读取流式数据并处理,等价于MySQL的SELECT查询,只是变成了7*24小时不间断、增量读取的实时查询。(博主个人见解,非官方)

相关推荐
w-w0w-w2 小时前
SQL注入
网络·数据库·sql
tianyuanwo2 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼2 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
IvorySQL3 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
幽灵诶4 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河4 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
宇宙无敌暴龙战士6664 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发
猿究院_夏燊5 小时前
MySQL 的四种隔离级别
java·数据库·mysql
say_fall5 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
共享家95276 小时前
408 操作系统第一章
服务器·数据库·windows