【数据迁移全量增量迁移方案总结】

数据迁移全量增量迁移方案总结

工具选用

Informatica + datax

全量迁移

优化方式:
1.lookup->joiner(df-h informatica相关磁盘空间需要够大约100g+)
2.视图改表(避免Oracle查不动,infa死进程)
3.大表bulk+后建主键索引+datax(splitPk)
4.复杂源表关系,改成后处理或预处理sql处理
5.Datax目标库索引重建,提升插入速率
6.取模(源上限制mod(n,n)),分表思想
7.Informatica 控制台节点进程数量设置(10~25,过高影响速度)

Ps:
1.虚机16核64G 3字段单跑 3G 20 channel datax速度在17w/s
2.虚机16核64G 多字段(30~40)单跑 3G 20 channel datax速度在12w/s
3.死进程处理, ps-ef|grep datax/ ps-ef|grep sqlplus 然后 kill -9 pid。清数据,重迁。。
4.针对informatica 源数据库,脚本进行批量处理,提升开发效率(批量刷新源,批量刷新命令行等等,批量获取mapping源目标表等等)
5.Informatica控制台超时时间设置,日志监控,或基于储存库元数据脚本监控等的
6.储存库尽量与迁移机器同库,避免由于网络,权限等影响到连接以及掉线
7.需要迁移老系统id到新系统资源从表old_ID,用于双向同步

增量迁移

方案4套
以老系统数据为准的增量2套
1.老系统半小时变化数据同步新系统
与半小时后进行比对新增修改(基于对应所需要字段)删除数据,删除datax同步到 新系统表名+del(例如xxx_del)新增修改到中间库新系统表名+zl 目标库新系统表名+老系统zl,新系统根据其删除在新增(parallel+nologging)
大数据量不建议建表,目前采用Oracle 快照+并行+infa+datax

2.新系统ID抽到老系统与老系统进行id比对新增删除,比对到 老系统add_record_data ,actionId 1 新增 0删除等等

以新系统数据为准的增量2套
1.实时同步,我司Java代码+kafka+存过+线程池实现,缺点无法处理大数据,测试场景工作量较大,优点走公共组件,可以实时同步
2.全天上面补充机制(防止mq消息丢失,挂掉,垃圾数据,等其他业务缺失数据情况),datax抽取老系统id,根据对应业务逻辑比对到新系统zl_data表,对应id,规格,操作方式(add/update)发送mq(surl -X POST -url),删除数据datax同步老系统存过打标删除(接口暂不支持删除)关系数据处理,新系统根据业务比对出两端old_id datax到老系统调存过业务处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值