大数据仓库之拉链表讲解与举例说明【基础部分】

开门见山,直接切入正题(跟着思路走~~~):

一、.什么是拉链表?

维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录,通过拉链表可以很方便的还原出拉链时点的操作记录。(可能不是很理解,往下走~~)

二、为什么要使用拉链表?

在数据仓库中,由于源系统每日会有数据变动,比如新增、修改、删除,如果对每一条记录数据仓库都进行存储,会出现大量重复冗余数据,这样会增加不必要的存储空间,而且会使系统处理效率变低。那么,我们如果采用拉链表形式存储,对数据进行加工,对数据进行开链(start_date)和闭链(end_date),然后根据主键确定一条记录,这样既节约存储空间,又可以随时根据start_date和end_date的范围查询任何时间段的数据记录,如果数据量太大,通过这种查询方法很快就能找到我们需要查询的数据,进而得到我们想要的数据结果。(比如你想知道自己某天的账户余额是多少,想不起来吧,哈哈~~,接着往下走~~)

三、人狠话不多,实例接着说:

假如数据库中有一个user表(数据仓库表,源表),在此表中插入下列测试数据,表中信息如下(仔细看啊~~):

---12月12号,新增3条数据
 insert into table ods_dev.test_wms_test partition (data_date='20191212') values(1,'test001',1201,'张三','15900000001','同事','2019-12-12 00:00:00','2019-12-12 00:00:00','张三','TEST-01','测试1','备注1','f');
 insert into table ods_dev.test_wms_test partition (data_date='20191212') values(2,'test002',1202,'李四','15900000002','朋友','2019-12-12 00:00:00','2019-12-12 00:00:00','李四','TEST-02','测试2','备注2','f');
 insert into table ods_dev.test_wms_test partition (data_date='20191212') values(3,'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值