其他分享
首页 > 其他分享> > 云数据迁移(Cloud Data Migration,CDM)

云数据迁移(Cloud Data Migration,CDM)

作者:互联网

云数据迁移(Cloud Data Migration,CDM)

云数据迁移(Cloud Data Migration,CDM)提供同构/异构数据源之间批量数据迁移服务,帮助客户实现数据自由流动。支持客户自建和公有云上的文件系统,关系数据库,数据仓库,NoSQL,大数据云服务,对象存储等数据源。

CDM服务基于分布式计算框架,利用并行化处理技术,支持用户稳定高效地对海量数据进行移动,实现不停服数据迁移,快速构建所需的数据架构。

 图1   CDM定位   
1561103721993622.png

产品功能



产品优势


用户在云上进行数据集成、数据备份、新应用开发时,经常会涉及到数据迁移。通常情况下用户要进行数据迁移,会开发一些数据迁移脚本,从源端读取数据再写入目的端,相对这样传统的做法,CDM的优势如  表1  所示。

         

表1   CDM优势

优势项

用户自行开发

CDM

易使用

自行准备服务器资源,安装配置必要的软件并进行配置,等待时间长。

程序在读写两端会根据数据源类型,使用不同的访问接口,一般是数据源提供的对外接口,例如JDBC、原生API等,因此在开发脚本时需要依赖大量的库、SDK等,开发管理成本较高。

CDM提供了Web化的管理控制台,通过Web页实时开通服务。

用户只需要通过可视化界面对数据源和迁移任务进行配置,服务会对数据源和任务进行全面的管理和维护,用户只需关注数据迁移的具体逻辑,而不用关心环境等问题,极大降低了开发维护成本。

CDM还提供了REST API,支持第三方系统调用和集成。

实时监控

需要自行选型开发。

您可以使用云监控服务监控您的CDM集群,执行自动实时监控、告警和通知操作,帮助您更好地了解CDM集群的各项性能指标。

免运维

需要自行开发完善运维功能,自行保证系统可用性,尤其是告警及通知功能,否则只能人工值守。

使用CDM服务,用户不需要维护服务器、虚拟机等资源。CDM的日志,监控和告警功能,有异常可以及时通知相关人员,避免7*24小时人工值守。

高效率

在迁移过程中,数据读写过程都是由一个单一任务完成的,受限于资源,整体性能较低,对于海量数据场景往往不能满足要求。

CDM任务基于分布式计算框架,自动将任务切分为独立的子任务并行执行,能够极大提高数据迁移的效率。针对Hive、HBase、MySQL、DWS(数据仓库服务)数据源,使用高效的数据导入接口导入数据。

多种数据源支持

数据源类型繁杂,针对不同数据源开发不同的任务,脚本数量成千上万。

支持数据库、Hadoop、NoSQL、数据仓库、文件等多种类型的数据源,具体数据类型请参见  CDM支持的数据源  。

多种网络环境支持

随着云计算技术的发展,用户数据可能存在于各种环境中,例如公有云、自建/托管IDC、混合场景等。在异构环境中进行数据迁移需要考虑网络连通性等因素,给开发和维护都带来较大难度。

无论数据是在用户本地自建的IDC中(Internet Data Center,互联网数据中心)、云服务中、第三方云中,或者使用ECS自建的数据库或文件系统中,CDM均可帮助用户轻松应对各种数据迁移场景,包括数据上云,云上数据交换,以及云上数据回流本地业务系统。


CDM支持的数据源


CDM有两种迁移方式,支持的数据源不相同:

         

表/文件迁移支持的数据类型

表/文件迁移时支持的数据源如        表1  所示。

             

表1   表/文件迁移支持的数据源

数据源分类

数据源

作为源端

作为目的端

数据仓库

数据仓库服务(DWS)

支持

支持

数据湖探索(DLI)

不支持

支持

FusionInsight LibrA

支持

支持

Hadoop

MRS HDFS

支持

支持

MRS HBase

支持

支持

MRS Hive

支持

支持

FusionInsight HDFS

支持

支持

Apache HDFS

支持

支持

Hadoop HBase

支持

支持

FusionInsight HBase

支持

支持

对象存储

对象存储服务(OBS)

支持

支持

阿里云对象存储(OSS)

支持

不支持

七牛云对象存储(KODO)

支持

不支持

亚马逊对象存储S3

支持

不支持

文件系统

FTP

支持

支持

SFTP

支持

支持

HTTP

支持

不支持

网络附加存储(NAS)

支持

支持

弹性文件服务(SFS Turbo)

支持

支持

关系数据库

云数据库 MySQL

支持

支持

云数据库 PostgreSQL

支持

支持

云数据库 SQL Server

支持

支持

分布式数据库中间件(DDM)

支持

支持

MySQL

支持

支持

PostgreSQL

支持

不支持

Microsoft SQL Server

支持

不支持

Oracle

支持

不支持

IBM Db2

支持

不支持

Derecho(GaussDB)

支持

不支持

NoSQL

分布式缓存服务(DCS)

不支持

支持

文档数据库服务(DDS)

支持

支持

表格存储服务(CloudTable)

支持

支持

OpenTSDB

支持

支持

Redis

支持

不支持

MongoDB

支持

不支持

搜索

云搜索服务(CSS)

支持

支持

Elasticsearch

支持

支持

消息系统

数据接入服务(DIS)

支持

支持

Apache Kafka

支持

支持

DMS Kafka

支持

支持

1561103888464117.png          说明:        

         

整库迁移支持的数据类型

整库迁移适用于将本地数据中心或在ECS上自建的数据库,同步到云上的数据库服务或大数据服务中,适用于数据库离线迁移场景,不适用于在线实时迁移。  CDM支持整库迁移的数据源如        图1  所示。

                图1   CDM支持整库迁移的数据源         
1561103888335163.png


应用场景


 

本地数据迁移上云

本地数据是指存储在用户自建或者租用的IDC中的数据,或者第三方云环境中的数据,包括关系型数据库、NoSQL数据库、OLAP数据库、文件系统等。

这个场景是用户希望利用云上的计算和存储资源,需要先将本地数据迁移上云。该场景下,需要保证本地网络与云上网络是连通的。

 图1   本地数据迁移到公有云       
1561103981104547.png

云上服务之间数据迁移

这个场景是面向数据已经存储在云上的用户,支持用户完成以下云服务之间的数据交换:

云上数据迁移到本地环境

本地环境是指用户自建或者租用的IDC(Internet Data Center,互联网数据中心)中的数据存储系统,或者第三方云环境中的数据存储系统,包括关系型数据库以及文件系统。

这个场景是用户在使用云上计算资源对海量数据进行处理后,将结果数据回流到本地业务系统,主要是各种关系型数据库和文件系统。该场景下,需要保证本地环境的网络与云上网络是连通的。

 图2   云端数据迁移到本地       
1561103983916935.png


CDM迁移原理


CDM迁移原理

用户使用CDM服务时,CDM管理系统在用户VPC中发放全托管的CDM实例。此实例仅提供控制台和Rest API访问权限,用户无法通过其他接口(如SSH)访问实例。这种方式保证了CDM用户间的隔离,避免数据泄漏,同时保证VPC内不同华为云服务间数据迁移时的传输安全。用户还可以使用***网络将本地数据中心的数据迁移到华为云服务,具有高度的安全性。

CDM数据迁移以抽取-写入模式进行。CDM首先从源端抽取数据然后将数据写入到目的端,数据访问操作均由CDM主动发起,对于数据源(如RDS数据源)支持SSL时,会使用SSL加密传输。迁移过程要求用户提供源端和目的端数据源的用户名和密码,这些信息将存储在CDM实例的数据库中。保护这些信息对于CDM安全至关重要。

 图1   CDM迁移原理   
1561104083548644.png

安全边界和风险规避

 图2   风险规避   
1561104083170266.png

如  图2  所示,CDM可能存在以下威胁:

  1. 互联网威胁:恶意用户可能通过CDM控制台***CDM。
  2. 数据中心威胁:恶意CDM管理员获取用户的数据源访问信息(用户名和密码)。
  3. 恶意用户威胁:恶意用户窃取其他用户的数据。
  4. 数据暴露公网:从公网迁移数据时暴漏数据的威胁。

对于这些潜在的威胁,CDM提供以下机制来规避终端用户的风险:

  1. 针对互联网威胁:用户不能直接通过公网登录CDM控制台。CDM提供双层安全保障机制。
    1. 华为云控制台框架要求用户访问任何控制台页面都要进行用户认证。
    2. Web应用防火墙(Web Application Firewall,简称WAF)过滤所有控制台的请求内容并停止请求***代码/内容。
  2. 针对数据中心威胁:用户必须向CDM系统提供迁移源端和目的端的访问用户名和密码信息,才能完成数据迁移。避免CDM管理员获取此类信息并***用户的重要数据源对于CDM非常重要,CDM为此类信息提供三级保护机制。
    1. CDM在本地数据库中存储经过AES-256加密的密码,确保用户隔离。本地数据库使用用户Ruby运行,数据库仅侦听127.0.0.1,用户没有远程访问数据库的权限。
    2. 用户实例发放完毕后,CDM将虚拟机的root和Ruby用户密码更改为随机密码且不会保存在任何地方,以阻止CDM管理员访问用户实例和含有密码信息的数据库。
    3. CDM实例迁移以推拉模式进行,因此CDM实例在VPC上没有侦听端口,用户无法从VPC访问本地数据库或操作系统。
  3. 针对恶意用户的威胁:CDM对每个用户,使用单独的虚拟机来运行各自的CDM实例,用户之间的实例是完全隔离和安全的。恶意用户无法访问其他用户的实例。
  4. 针对数据暴漏公网的威胁:CDM的抽取-写入模型下,即使CDM绑定了弹性IP,也不会开放端口到弹性IP,***者无法通过弹性IP来访问和***CDM。不过从公网迁移数据的方式下,由于用户数据源也会暴漏在公网,存在被第三方***的威胁,推荐用户在数据源服务器上通过ACL或防火墙对源端进行防护,例如仅放通来自CDM绑定的弹性IP的访问请求。


标签:数据,CDM,用户,支持,Migration,数据源,迁移,Data
来源: https://blog.51cto.com/lhrbest/2706552