浅谈数据仓库 (三) 数据漂移处理

本文探讨数据仓库中的数据漂移问题,源于传统会员管理CRM团队遇到的财务报表与商户记录不一致的情况。数据漂移主要由时间戳不一致引起,包括extract_time、modified_time、log_time和proc_time四种类型。解决方案包括多获取后一天数据以冗余确保完整性和利用多个时间戳字段限制以获取更准确数据,但每种都有其潜在误差风险。
摘要由CSDN通过智能技术生成

前言

我们是一个做传统会员管理CRM的团队,应用数据的级别比较高,过去会存在这样一种现象,T+1 财务报表,运营统计各类报表 的指标偶尔会和商户的自己记录用户消费储值记录会有出入,后来了解到,我们系统中存在很严重的数据漂移问题,这也是dw系统或者ods来说普遍存在的问题,今天我们好好聊下该如何解决数据漂移问题

数据漂移产生的原因

通常我们把从源系统同步进入数据仓库的第一层数据成为ODS层数据,我们公司目前只有ODS一层,虽说只有一层,但是仍然有有一个顽疾:数据漂移,简单来说就是ODS表的同一个业务日期数据中包含前一天或者后一天凌晨附近的数据或者丢失当天的变更数据。更新表来说会丢失变更数据,流水表一般会丢失上一天数据,或者说上一天数据漂移到下一天。

由于ODS需要承接面向历史的细节数据查询需求,这就是需要物理落地到数据仓库的ODS表按时间段来进行分区存储,通常的做法是按某些时间戳字段来切分,二实际上往往由于时间戳字段的准确性问题导致发生数据漂移。当然我们目前切分的字段是datetime类型的updatetime字段。

通常时间戳字段分为四类:

(1)数据库表中用来表示数据记录更新时间的时间戳字段(假设这类字段叫modified_time);

(2)数据库日志中用来表示数据记录更新时间的时间戳字段(假设这类字段叫log_time);

(3)数据库表中用于记录具体业务过程发生时间的时间戳字段(假设这类字段叫proc_time

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值