【技术员的工具箱】千万数据生产环境更改方案

最近需要给公司的某系统的表进行千万级别数据的加密。但是该系统作为公司的基础系统,外部业务访问频次高,且该系统无法做出长时间的停机挂牌,因此需要提供一套方案,尽量压缩系统的停机时间,在尽可能短的时间内完成千万级别的数据加密任务。

方案的基本思路是:
以8月20日作为分界点,建立临时表,备份8月20日之前的表数据。对该备份表进行加密处理。8月20日以后的数据作为增量数据,进行增量的处理。存量数据和增量数据在处理完成后,任务结束。

(1)DB对需要加密的两张表进行备份为table_a_bak_20160820,table_b_bak_20160820,并进行加密处理。加密完成,验证。(这一部分未明确操作方法,应该是通过dump等方式),无停机,10点半至12点半完成,耗时约2个小时。
(2)系统停机。
(3)创建增量数据备份表,在备份表中进行增量数据加密处理。耗时约0.5小时
create table table_a_bak_20160823 like table_a;
create table table_b_bak_20160823 like table_b;

insert into table_a_20160823 select * from table_a where upt_time >= str_to_date(‘2016-08-20’,’%Y-%M-%d’);
insert into table_b_20160823 select * from table_b where upt_time >= str_to_date(‘2016-08-20’,’%Y-%M-%d’);

(4)将增量数据合并到存量的数据备份表中。
replace into table_a_bak_20160820 select * from table_a_bak_20160823;
replace into table_b_bak_20160820 select * from table_b_bak_20160823;

(5)此时增量数据均以合并到存量备份表当中。耗时约5分钟。

rename table table_a to per table_a_tmp;
rename table table_a_bak_20160820 to table_a;

rename table table_b to per table_b_tmp;
rename table table_b_bak_20160820 to table_b;

(5)系统重新启动,完成千万级别数据的数据更改。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wueryan/article/details/52347259
文章标签: 数据 技术
个人分类: 技术员的工具箱
想对作者说点什么? 我来说一句

Mysql千万级别数据优化方案

2014年04月11日 46KB 下载

CNC绩效考核(KPI)

2008年10月18日 48KB 下载

没有更多推荐了,返回首页

不良信息举报

【技术员的工具箱】千万数据生产环境更改方案

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭