mysql数据归档原则_从MYSQL 数据库归档 到 归档设计

bacdb9be831b8992ab4ded934308d723.png

到数据归档,很多人的第一个概念就是,不就是无用的数据,换个地方放吗,直接拷贝,删除不就得了,有那么麻烦。

我见到过的,听到过的数据库归档的方法有以下几种

1  数据通过人工的手段来进行清理,直接将表换名字,然后在重建一个新的表,承接数据。

首先这样的做法一个字,快,这是这样做法的好处所在,但另一方面要考虑的问题就是,业务要不要停,涉及的人有多少,如果光是IT 的还好说,但恰恰这样做,绝对不会光光牵扯 IT, 业务的人一定是要牵扯进来,然后就是各种流程和通知,要在几点几点,某个业务,甚至整体业务暂时停止。

2  数据通过MYSQL dump 或者其他的备份方式,将数据备份出来,在将数据恢复到数据归档库中,然后将备份的数据直接手动清理掉,这样的做法速度也很快,对业务的影响也比较小,基本上可以算是透明的方式了,但还是避免不了人工的介入,并且也不可能是天天这样做。

3  数据通过工具的方式来进行处理,例如pt-archiver 的方式来进行数据的归档和清理,但这个工具貌似bug不少,pt-1126

a99e98fd3e34b0acfc25a991dde9a56c.png

4  自己设计数据归档

自己设计数据归档的面就广了,有使用程序来做的,例如JAVA ,Python等等,也有使用存储过程来进行的。

下面就是一个MYSQL 针对一个数据库表归档的案例(这个案例也是有缺陷的,但目前是秉承着够用就好,以及时间成本的原则)

首先设计一个归档要考虑的问题如下

1 归档表的大小,以及每日最大,或最小的归档数据量,或者数据过期时间

同时归档表是否必须是全量的数据归档,还是可以抛弃一些数据,例如有一些日志的归档中可能存在一些无用的数据,是否还必须全量的归档等等都是要考虑的问题,归档数据并不一定是原封不动的归档,有的逻辑上,只归档一些数据关键点也是可以的。

2 归档的数据量,数据归档一般根据上面的东西,归档有一次性归档,和规律有固定日期的归档,一次性的归档一般归档的数据量比较大,而有规律的归档则归档的数据量并不大,对比两者的方式,其实定期归档(有规律)的要有优势一些,主要是数据是

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值