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

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

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

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

 图1   CDM定位   
1561103721993622.png安全

产品功能

  • 表/文件/整库迁移

    支持批量迁移表或者文件,还支持同构/异构数据库之间整库迁移,一个做业便可迁移几百张表。服务器

  • 增量数据迁移

    支持文件增量迁移、关系型数据库增量迁移、HBase/CloudTable增量迁移,以及使用Where条件配合时间变量函数实现增量数据迁移。网络

  • 事务模式迁移

    支持当CDM做业执行失败时,将数据回滚到做业开始以前的状态,自动清理目的表中的数据。架构

  • 字段转换

    支持去隐私、字符串操做、日期操做等经常使用字段的数据转换功能。框架

  • 文件加密

    在迁移文件到文件系统时,CDM支持对写入云端的文件进行加密。运维

  • MD5校验一致性

    支持使用MD5校验,检查端到端文件的一致性,并输出校验结果。分布式

  • 脏数据归档

    支持将迁移过程当中处理失败的、被清洗过滤掉的、不符合字段转换或者不符合清洗规则的数据单独归档到脏数据日志中,便于用户查看。并支持设置脏数据比例阈值,来决定任务是否成功。ide



产品优点


用户在云上进行数据集成、数据备份、新应用开发时,常常会涉及到数据迁移。一般状况下用户要进行数据迁移,会开发一些数据迁移脚本,从源端读取数据再写入目的端,相对这样传统的作法,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          说明:        

  • 上表中非云服务的数据源,例如MySQL,既能够支持用户本地数据中心自建的MySQL,也能够是用户在ECS上自建的MySQL,还能够是第三方云的MySQL服务。
  • 消息系统(DIS/Apache Kafka/DMS Kafka)做为源端时,CDM仅支持迁移到如下类型的数据源:
    • 云搜索服务(CSS)
    • 数据接入服务(DIS)
    • Apache Kafka
    • DMS Kafka

         

整库迁移支持的数据类型

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

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


应用场景


 

本地数据迁移上云

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

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

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

云上服务之间数据迁移

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

  • 对象存储服务(Object Storage Service,简称OBS)
  • 关系型数据库服务(Relational Database Service,简称RDS)
  • MapReduce服务(MapReduce Service,简称MRS)
  • 数据仓库服务(Data Warehouse Service,简称DWS)
  • 文档数据库服务(Document Database Service,简称DDS)
  • 分布式缓存服务(Distributed Cache Service,简称DCS)
  • 云搜索服务(Cloud Search Service,简称CSS)
  • 数据接入服务(Data Ingestion Service,简称DIS)
  • 表格存储服务(CloudTable Service,简称CloudTable)
  • 数据湖探索服务(Data Lake Insight,简称DLI)
  • 分布式数据库中间件(Distributed Database Middleware,简称DDM)
  • 弹性文件服务(Scalable File Service,简称SFS)
  • 在弹性云服务器上部署的各类数据库或文件系统。

云上数据迁移到本地环境

本地环境是指用户自建或者租用的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的访问请求。
相关文章
相关标签/搜索