关闭

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

标签: 数据技术
242人阅读 评论(0) 收藏 举报
分类:

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

方案的基本思路是:
以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)系统重新启动,完成千万级别数据的数据更改。

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8287次
    • 积分:263
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    最新评论