前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >海量数据迁移之数据加载流程(r4笔记第88天)

海量数据迁移之数据加载流程(r4笔记第88天)

作者头像
jeanron100
发布2018-03-15 16:35:41
1.6K0
发布2018-03-15 16:35:41
举报
文章被收录于专栏:杨建荣的学习笔记

在之前的博文中分享了关于数据抽取流程的一些思路,整体来说,数据的抽取是辅助,数据的加载是关键。加载的过程中每一步需要格外关注,稍有偏差就可能造成数据的损坏或者丢失。 为了更加清晰的说明通过外部表来实现数据加载的流程,特意画了如下的流程图。

在这个图中,数据的抽取是左边的部分,可以根据需要生成对应的外部表dump文件。 这个时候可以在目标环境中也创建只读用户,外部表用户,只读用户中只存放同义词,外部表用户中存放的是需要加载的外部表,整个外部表的加载过程不会消耗额外的物理空间,而且加载啊速度极快。 这么做有几个好处,最大的一个好处就是可以通过这种方式提前进行数据校验。把一些潜在的数据冲突问题提前发现,提前修复,如果在大半夜的数据加载中发现了问题,再去修复似乎就晚了很多,而且带着疲惫去尝试修复数据真实苦不堪言。 右边的图是数据加载的一个流程图。 我特意把外部表的dump文件用类似u盘的图标代替就是想说明外部表的加载是即插即用,用完直接卸载即可。 而数据在加载之前需要做的一个重要步骤就是数据比较,就是右边图中蓝色的标示部分。 通过比较只读用户(即目标数据)和外部表用户中的外部表数据(源数据),可以灵活的匹配主键列,非唯一性约束列可以很有效的进行数据的冗余比较。 有了这种方式,在多次的数据迁移中,都可以在数据加载前提前进行数据检查。着实让人放心不少,对于提升自信心是很有帮助的。一旦发现了数据问题,就可以及时发现,提前发现,让专门的团队及时修复数据。 至于最关键的数据加载,就是外部表用户和目标数据用户之间的数据关联了。可以通过insert append的方式进行数据的导入。可以根据数据情况进行切分粒度的控制。比如我们有一个表test特别大,有500G,我们就可以把这个大表在收据抽取的时候进行细粒度的切分,比如我们通过启用并行生成了500个dump文件,这样每个dump文件就基本上是1G的标准,每1G的数据加载我们及时提交,会给Undo带来缓解不少的压力。而且这样数据的加载流程可以灵活控制,而不用用漫长的等待来做最终加载是否成功的赌注。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档