这是我参与「第四届青训营」笔记创作活动的的第18天,以下是我的课堂笔记。 本次课程主要分为四个大板块:
1.企业数据架构
2.数据中心案例
3.实时数据生产
4.数据服务
1.企业数据架构
1.1数据集成-业务数据收集
CDC
数据流向:业务数据库->数据系统
Log
数据流向: client/server log->数据系统
系统间同步传输
1.2数据生产-离线&实时
1.3数据服务
数据流向:数据系统->业务系统
2. 数据中心案例
房产业务介绍
2.1房产数据中心-核心数据指标
·供需(房子全不全?客户多不多? )
·房源
·房增(新增房子的录入量)
·客源
·客增(新增客户的录入量)
·过程(工作做的怎么样?)
·通话次数(经纪人和客户电话次数)
·带看次数(经纪人带客户看房次数)
·结果(结果好不好? )
·成交量(成交合同量)
2.2房产数据中心-数据查询要求
数据中心看板查询条件:
·时间范围:今天前的任意日期范围。
·业务类型:租赁/买卖/全部
数据展示:
·查询条件下的每个经纪人的汇总数据
·支持下钻明细数据
技术要求:
. 300ms内返回结果
· 数据是实时秒级
3.实时数据生产
3.1数据分析
数据产出目标
用户要什么数据?
根据日期、业务类型(买卖、租赁)查询经纪人汇总数据
目标数据产出粒度:经纪人+业务日期+业务类型
数据产出可行性
生产逻辑:select
Dk.date,//日期
Dk.staff_id,//经纪人
House.house_type,//业务类型
Count(id) as dk_cnt//指标,带看量
from dk left join house On dk.house_id = house.house_id
Where audit_status = 1(可变更)
Group by dk.date,Dkstaff_id, house.house_type
3.2计算分析
√开发效率:较快满足用户的需要
√资源成本:计算效率高
√数据质量:准确无误、数据实时
3.3数仓建设
数仓建设:数据复用,减少重复开发
4.数据服务
数据服务架构
4.1查询快-怎么做?
查询逻辑模型(简化)
select
Field1, field2,field3...(目标信息)
From
(
select count,sum,max,avg (计算处理)
from
table1 (left/right/inner join table2...)(原始信息关联)
where field1 > xxx and field2 > xxx(原始信息筛选)
group by group_fields
)
查询优化分析:
·关注目标:不需要的信息不关注,比如只查询带看量
·计算处理:能不能足够快,比如count/sum/avg等聚合函数
·原始信息:单表筛选够不够快、信息关联够不够快
引擎选择
4.2稳定-解决的问题
异常节点导致服务雪崩
如何解决:
熔断触发策略:
·比如错误率每秒超过10%
·响应时间>5s
动作:
·直接返回失败
限流、降级
·限流:根据查询客户端、接口等配置查询限额
·降级:主备存储/服务集群,降级预案
Source Hystrix
4.3 查询-数据管理
维度:
·天(date)
·经纪人(staff_id)
·业务类型(biz_type)\
指标
·带看量(dk_cnt): count(dk_id)
.通话时长(call duratition): sum(duration)
模型表
·经纪人指标表:dwm_staff_biz_day_rt
查询:
Select count(dk_id),sum(duration) from
dwm_staff_biz_day_rt
Where date between {endDate}
And biz_type = xxx and staff_id in (1,2,3)