让业务数据流动起来~

本文主要介绍了如何利用Canal从MySQL的Binary Log中获取过程型数据,以实现业务数据的流动。核心业务数据在运营分析和事件驱动型业务中需要过程型数据支持,传统做法如定期扫描或数据双写存在不足。Canal通过模拟MySQL Slave与Master交互,解析Binary Log,提供增量数据订阅和消费,实现了无侵入性的数据捕获。通常,Canal会与Kafka结合,将数据缓冲,供消费者使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

对于一个产品,甚至一个企业而言,基础的数据通常有四部分:用户行为数据、核心业务数据、业务上报数据和运维监控数据。

用户行为数据,主要是用户在前端(APP端、Web网页)的浏览与操作行为数据,用于追踪分析用户的使用方式,从而有针对性的优化产品、挖掘新需求。在某些场景下,后端的Nginx日志也会被用来做这方面的分析,其包含了各个API的调用情况。核心业务数据,顾名思义,就是与业务本身息息相关的数据,通常以三范式的设计方式存储在关系型数据库中。比如电商系统的用户表、商品表、订单表等,工业网络安全系统中的公司表、设备表、策略表等。业务上报数据,是指由业务前端采集后主动上报到后端服务中的数据。比如建筑工地的塔式起重机系统,会实时上报各个传感器采集到的数据;网络安全UTM设备,会实时上报网络扫描的信息。运维监控数据,用于观察服务状态、触发相关告警、触发相关扩展策略等,从而确保整个服务的健康有效运作。这块数据包括两部分:来自基础设施的数据,比如机器的CPU使用率、每秒请求数、请求的响应时间等等;应用服务主动吐出来的数据,比如当前周期处理了多少数据、处理完一批数据花费了多少时间、还有多少报表在排队等等。

前三种数据都是与业务有着强相关性的,大多数企业都会基于这些基础数据做进一步的转换、处理,构建相应的数据仓库,为运营分析、数据挖掘、下一级业务系统等提供数据支撑。本文主要聊一聊与核心业务数据相关的事情,以MySQL存储为例。

核心业务数据,除了支撑核心业务体系,通常还会衍生出两种使用方式:一种是运营数据分析,比如分析昨天新增了多少用户,来自哪些渠道;另一种是事件驱动型业务,比如用户下单成功后,需要根据这个事件触发相关的积分变化、定期提醒等业务。在这里面,核心业务数据是一种静态的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值