数据漂移:
数据漂移出现在数据同步的过程中,特定场景在读写日志文件时,当读文件时,binglog日志缺失或者orcale的hlog缺失,那么当天的记录就会出现和业务系统不一致的现象这种我们叫做数据漂移
数据架构
层级:ods cdm ads
数据同步
离线数据:
离线数据采用jdbc的方式,就是全量或者增量的把数据弄过来,所有的数据都是有定时任务抽取的,然后离线的加工也是批次处理
实时数据:
实时数据采集:
实时数据采集阿里用的是tt,开源的可以用kafka
kafka的原理,读写topic,这里我们需要搭一个数据交换中心,专门记录业务数据变更的日志,而kafka的作用在于,可以发送个topic,而我们作为接收端可以消费这个topic,将topic上的信息读写好存入结构化的数据中
实时数据处理:
而作为实时数据处理,我们这里需要涉及flink或者storm的概念,其实大同小异,阿里用的是streamcomputer,或者blink,其实都是运用时间窗口的概念,就是选取一定时间窗口内的流数据去做join或者group by运算,这里运算的时候尽量少用宽表且考虑
事实表设计
事实表分为
1.事务型事实表 相对简单,记录所有业务发生的过程
2.快照型事实表,每天记录事务发生的情况
3.周期累计型事实表,记录每一段时间的累计事实
原则:
1.尽量包含同一个业务过程
2.仅包含同一业务过程
3.数据粒度明确
4.null值需要处理
5.退化维度要能使用
6.事实表的单位统一
没有事实指标但有发生事件的也叫事实表
维度表设计
1.缓慢变化维:
1.做成只记录变更的最新记录
2.做成记录变更的所有记录
3.按月存储变更的记录
2.拉链表
3.维度类型:
1.多值维度
2.层级关系维度
3.微型维度
数据倾斜:
map倾斜
join倾斜
reduce倾斜
小文件问题:
小文件是由于map的时候小文件数量过多,这里可以做小文件合并
元数据管理:
元数据:表、任务、字段、血缘关系
质量监控:强弱规则
计算管理
成本管理
网友评论