浅谈数据仓库 (三) 数据漂移处理"/>
浅谈数据仓库 (三) 数据漂移处理
前言
我们是一个做传统会员管理CRM的团队,应用数据的级别比较高,过去会存在这样一种现象,T+1 财务报表,运营统计各类报表 的指标偶尔会和商户的自己记录用户消费储值记录会有出入,后来了解到,我们系统中存在很严重的数据漂移问题,这也是dw系统或者ods来说普遍存在的问题,今天我们好好聊下该如何解决数据漂移问题
数据漂移产生的原因
通常我们把从源系统同步进入数据仓库的第一层数据成为ODS层数据,我们公司目前只有ODS一层,虽说只有一层,但是仍然有有一个顽疾:数据漂移,简单来说就是ODS表的同一个业务日期数据中包含前一天或者后一天凌晨附近的数据或者丢失当天的变更数据。更新表来说会丢失变更数据,流水表一般会丢失上一天数据,或者说上一天数据漂移到下一天。
由于ODS需要承接面向历史的细节数据查询需求,这就是需要物理落地到数据仓库的ODS表按时间段来进行分区存储,通常的做法是按某些时间戳字段来切分,二实际上往往由于时间戳字段的准确性问题导致发生数据漂移。当然我们目前切分的字段是datetime类型的updatetime字段。
通常时间戳字段分为四类:
(1)数据库表中用来表示数据记录更新时间的时间戳字段(假设这类字段叫modified_time);
(2)数据库日志中用来表示数据记录更新时间的时间戳字段(假设这类字段叫log_time);
(3)数据库表中用于记录具体业务过程发生时间的时间戳字段(假设这类字段叫proc_time
更多推荐
浅谈数据仓库 (三) 数据漂移处理
发布评论