数据仓库01- 时间拉链的全量备份

mysql中演示

在mysql演示时间拉链的全量备份:

一、演示第一次及第二次全量备份。

1、首先存在业务系统表。

//进入test数据库。
use test
//创建业务表user_data,并赋予最初的业务数据。
create table user_data(
userid int,
ustate varchar(4)
);
insert into user_data values(1,'1');
insert into user_data values(2,'2');
insert into user_data values(3,'3');
insert into user_data values(4,'4');
insert into user_data values(5,'5');

2、第一次的全量备份:用临时表bak抽取业务表中的数据,添加两个字段信息(开始时间和

结束时间),然后由bak直接将所有的数据插入历史表his中。

//开始时间的业务数据的当天,这里我们假设时间为2007-01,并将结束时间取为最大。
//在这里,我们的记录的begin_date和end_date都是varchar类型。
create table bak as select u.*,'200701' begin_date,'299901' end_date from user_data u ;
//将bak表的数据插入历史表中。
create table his as select * from bak;

3、查看第一次全量备份后的数据

在这里插入图片描述

不管是全量备份还是增量备份,第一次备份都是将所有的业务数据添加时间信息后插入历史表,接下来的第二次全量备份才是重点。

4、我们假设在2008-01时,将业务表中的数据修改,修改如下:

update user_data set ustate = 2 where userid = 1;
update user_data set ustate = 4 where userid = 3;
update user_data set ustate = 6 where userid = 5;

修改后的业务表数据如下:

在这里插入图片描述

重点来了,我们的核心步骤之一就是:将“昨天”的数据和“今天”的数据作比较。

5、第一次全量备份的时候,临时表bak就已经存了“昨天”的业务数据和时间信息。所以我们要将bak表中的数据插入o

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值