海量数据迁移之数据加载流程

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


在这个图中,数据的抽取是左边的部分,可以根据需要生成对应的外部表dump文件。
这个时候可以在目标环境中也创建只读用户,外部表用户,只读用户中只存放同义词,外部表用户中存放的是需要加载的外部表,整个外部表的加载过程不会消耗额外的物理空间,而且加载啊速度极快。
这么做有几个好处,最大的一个好处就是可以通过这种方式提前进行数据校验。把一些潜在的数据冲突问题提前发现,提前修复,如果在大半夜的数据加载中发现了问题,再去修复似乎就晚了很多,而且带着疲惫去尝试修复数据真实苦不堪言。
右边的图是数据加载的一个流程图。
我特意把外部表的dump文件用类似u盘的图标代替就是想说明外部表的加载是即插即用,用完直接卸载即可。
而数据在加载之前需要做的一个重要步骤就是数据比较,就是右边图中蓝色的标示部分。
通过比较只读用户(即目标数据)和外部表用户中的外部表数据(源数据),可以灵活的匹配主键列,非唯一性约束列可以很有效的进行数据的冗余比较。
有了这种方式,在多次的数据迁移中,都可以在数据加载前提前进行数据检查。着实让人放心不少,对于提升自信心是很有帮助的。一旦发现了数据问题,就可以及时发现,提前发现,让专门的团队及时修复数据。
至于最关键的数据加载,就是外部表用户和目标数据用户之间的数据关联了。可以通过insert append的方式进行数据的导入。可以根据数据情况进行切分粒度的控制。比如我们有一个表test特别大,有500G,我们就可以把这个大表在收据抽取的时候进行细粒度的切分,比如我们通过启用并行生成了500个dump文件,这样每个dump文件就基本上是1G的标准,每1G的数据加载我们及时提交,会给Undo带来缓解不少的压力。而且这样数据的加载流程可以灵活控制,而不用用漫长的等待来做最终加载是否成功的赌注。
目录
相关文章
|
4月前
|
消息中间件 存储 NoSQL
离线与实时数据开发方案
离线与实时数据开发方案
52 0
|
6月前
|
SQL 数据采集 Oracle
ETL过程原理和数据仓库建设的优化
ETL过程原理和数据仓库建设的优化
|
1月前
|
存储 大数据 数据管理
数据仓库(09)数仓缓慢变化维度数据的处理
数据仓库的重要特点之一是反映历史变化,所以如何处理维度的变化是维度设计的重要工作之一。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化,与数据增长较为快速的事实表相比,维度变化相对缓慢。阴齿这个就叫做缓慢变化维。
210 2
数据仓库(09)数仓缓慢变化维度数据的处理
|
4月前
|
关系型数据库 Serverless OLAP
构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践
构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践
79689 2
|
7月前
|
canal SQL 弹性计算
实时数据及离线数据上云方案
本实验通过使用CANAL、DataHub、DataWorks、MaxCompute服务,实现数据上云,解决了数据孤岛问题,同时把数据迁移到云计算平台,对后续数据的计算和应用提供了第一步开山之路。
142 0
|
10月前
|
存储 SQL 数据处理
同步还是异步?ETL架构的选择,为何关系到数据处理速度和系统性能
同步还是异步?ETL架构的选择,为何关系到数据处理速度和系统性能
94 0
|
存储 XML JSON
如何选择离线数据集成方案-全量&增量
如何选择数据离线集成方式,哪些表适合全量集成,哪些表适合增量集成
615 0
如何选择离线数据集成方案-全量&增量
|
存储 数据处理
|
存储 数据采集 消息中间件
日志数据入湖的设计与实践
SLS 的队列功能及上下游生态可以为日志入湖提供端到端的支持,要修高速公路(PaaS/SaaS 数据源),也要去做“村村通”(端、开源软件)。 SLS 入湖支持包括四个部分: ● 可靠的采集能力覆盖 ● 弹性的写入与存储能力 ● 日志 ETL 与入湖准备工作 ● 围绕湖生态的模板支持与一键入湖
674 0
|
存储 SQL 分布式计算
基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-数据处理ETL篇
前言大数据计算服务 MaxCompute(原名 ODPS)是一种快速、完全托管的EB级数据仓库解决方案。随着数据收集手段不断丰富,行业数据大量积累,数据规模已增长到了传统软件行业无法承载的海量数据(TB、PB、EB)级别。MaxCompute 致力于批量结构化数据的存储和计算,提供海量数据仓库的解决方案及分析建模服务。它具有大规模计算存储、多种计算模型、强数据安全、低成本、免运维、极致弹性扩展的优
497 0
基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-数据处理ETL篇