这是我参与「第四届青训营 」笔记创作活动的第10天
一.企业数据架构
1.数据集成-业务数据收集-CDC
2.数据集成-业务数据收集-Log
数据流向:client/server log->数据系统
3.数据生产
实时:Flink、Kafaka 离线:Spark、HIVE 存储:reids、clickhouse、Doris、HBASE
4.数据服务
数据流向:数据系统->业务系统
二.数据中心案例
1.房产业务介绍
2.核心数据指标
- 供需
- 房源
- 客源
- 过程:通话次数、带看次数
- 结果:成交量
3.数据查询要求
数据线中心看板查询条件:
- 时间范围:今天前的任意日期范围
- 业务类型:租赁/买卖/全部 数据展示:
- 查询条件下的每个经纪人的汇总数据
- 支持下钻明细数据 技术要求:
- 300ms内返回结果
- 数据是实时秒级
三.实时数据产生
1.数据产出目标
根据日期、业务类型(买卖、租赁)查询经纪人汇总数据 目标数据产出粒度:经纪人+业务日期+业务类型
2.数据生产可行性
3.计算分析目标
- 开发效率:较快满足用户需要
- 资源成本:计算效率高
- 数据质量:准确无误、数据实时
4.计算架构:Lambda
数据产出
5.计算架构:全量计算
方案:用实时引擎计算所有数据
6.架构选择:选择全量计算架构
| 目标 | Lambda架构 |
|---|---|
| 开发运维效率 | 效率低:存在实时离线开发任务和merge逻辑 |
| 资源效率 | 计算资源占有率高:离线全量(例行任务)+实时增量 |
| 数据质量实时、准确 | 符合要求 |
| 全量计算架构 | |
|---|---|
| 效率高:只存在一套实时任务 | |
| 状态存储成本相对较高:全量(首次冷启动)+增量 | |
| 符合要求 |
7.计算难点:全量数据获取:Hybrid Source
8.计算难点-准确-处理去重&更新(Reteact)
解决方法
select* form(select*,row_number() over (partition by id order by time desc) as rn form dk) where rn=1;
9.计算难点-准确-join乱序问题场景
四.数据服务
1.引擎选择
redis:指定key,查询value,类似HashMap ClickHouse、Apache Doris:分析join、Agg