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

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

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

图1  CDM定位  

产品功能

  • 表/文件/整库迁移

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

  • 增量数据迁移

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

  • 事务模式迁移

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

  • 字段转换

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

  • 文件加密

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

  • MD5校验一致性

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

  • 脏数据归档

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

产品优势

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

支持

支持

  说明:

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

整库迁移支持的数据类型

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

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

应用场景

本地数据迁移上云

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

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

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

云上服务之间数据迁移

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

  • 对象存储服务(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  云端数据迁移到本地  

CDM迁移原理

CDM迁移原理

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

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

图1  CDM迁移原理  

安全边界和风险规避

图2  风险规避  

如 图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的访问请求。


About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 (满) 、618766405

● weixin群:可加我weixin,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由

● 于 2019-06-01 06:00 ~ 2019-06-30 24:00 在西安完成

● 最新修改时间:2019-06-01 06:00 ~ 2019-06-30 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/

● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/

● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/

........................................................................................................................

使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

........................................................................................................................

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2648362/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26736162/viewspace-2648362/

云数据迁移(Cloud Data Migration,CDM)相关推荐

  1. 从云数据迁移服务看MySQL大表抽取模式

    摘要:MySQL JDBC抽取到底应该采用什么样的方式,且听小编给你娓娓道来. 小编最近在云上的一个迁移项目中被MySQL抽取模式折磨的很惨.一开始爆内存被客户怼,再后来迁移效率低下再被怼.MySQL ...

  2. mysql大表数据抽取_从云数据迁移服务看MySQL大表抽取模式

    摘要:MySQL JDBC抽取到底应该采用什么样的方式,且听小编给你娓娓道来. 小编最近在云上的一个迁移项目中被MySQL抽取模式折磨的很惨.一开始爆内存被客户怼,再后来迁移效率低下再被怼.MySQL ...

  3. 云小课|云小课带你快速掌握云数据迁移CDM

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到云数据迁移 ...

  4. 如何通过cdm连接mysql_CDM云数据迁移服务入门教程

    一.场景介绍 对于新上手的用户,可能还不太清楚如何使用CDM服务,今天就为大家科普下使用CDM服务的具体过程. 使用CDM服务的基本使用流程如下所示: 第一步:创建CDM集群 第二步:创建连接 第三步 ...

  5. 轻松上云系列之二:其他云数据迁移至阿里云

    2019独角兽企业重金招聘Python工程师标准>>> 本文档围绕如何将您其他云厂商上的数据迁移到阿里云,提供了多个场景的实践方案. 文档合集 AWS 数据迁移至阿里云 Amazon ...

  6. aws mysql迁移_AWS Data Migration Service-AWS数据库迁移服务-AWS中国区域

    AWS Database Migration Service 可帮助您快速并安全地将数据库迁移至 AWS.源数据库在迁移过程中可继续正常运行,从而最大程度地减少依赖该数据库的应用程序的停机时间.AWS ...

  7. 在线数据迁移,数字化时代的必修课——京东云数据迁移实践

    打破数据边界,是数字化时代常挂在嘴边的一句话,数据的价值是在流动中体现的,数据应用也是如此.以往为了满足开发.测试.数据保护容灾和数据分析的需要,我们不断对数据进行复制.备份.迁移,因此数据迁移非常重 ...

  8. 参与腾讯云数据迁移与视频转码,就有机会赢1000元京东卡!

    迁移转码还能拿奖? 这是什么神仙操作? 赶紧跟随脚步了解一下! 腾讯云音视频媒资智能降冷方案,为用户快速打造成本更优的存储方式.即时起到7月31日,只要参与数据迁移与视频转码既有机会赢得价值1000元 ...

  9. [mysql]数据迁移之data目录复制方法

    mysql数据迁移有多种方式,最常见的就是先把数据库导出,然后导入新的数据库.拷贝数据目录data是另外一种方式. 尤其是当数据库启动不了,或者大型数据库迁移的时候,可以考虑这个方式. 场景:从老的m ...

最新文章

  1. 10万人的1000万张图像,微软悄然删除最大公开人脸数据集
  2. Python+Selenium练习篇之11-浏览器上前进和后退操作
  3. 采集文件到kafka
  4. 21、 TRUNCATE:清空表记录
  5. rest laravel_如何通过测试驱动开发来构建Laravel REST API
  6. mysql sql语句 入门_mysql(3)mysql的sql语句入门
  7. 院士新作赠送——调查问卷活动感谢信
  8. 讲解Java中的String几种类型
  9. Matlab中矩阵编号方式以及一维二维三维数据间的相互转换
  10. 软件工程网络15个人阅读作业1(201521123062 杨钧宇)
  11. VC++中多线程学习(MFC多线程)三(线程同步包含:原子互锁、关键代码段、互斥器Mutex、Semaphores(信号量)、Event Objects(事件))
  12. LIO-SAM探秘第三章之代码解析(四) --- mapOptmization.cpp (2)
  13. 利用css实现返回顶部按钮
  14. matlab调和均值滤波_matlab-均值滤波
  15. android九游sdk,九游单机SDK接入常见问题
  16. 一个Layered Window从支持多屏到高DPI开始,遭遇的性能雪崩及其优化历程
  17. cyclone4驱动LM75A温湿度传感器学习
  18. 给 QuickTime 播放器添加方向键快进/快退功能
  19. Ceph分布式存储系统优化分析
  20. 跨境电商卖家应该知道的3个社交媒体营销策略

热门文章

  1. android 电池测试软件,AccuBattery电池测试软件
  2. 常见的压力测试方式总结
  3. 服务器 用一个独立的硬盘存储文件夹,一、块存储、文件存储、对象存储,三者的本质差别是什么?...
  4. Mysql妙用CONVERT函数类型转换
  5. 11.jQuery选择器和事件
  6. 基于android图书交易系统研究情况,基于Android的证券交易管理系统设计与实现
  7. 圆明园文物现身国内拍卖 专家:起码有机会买回来
  8. 【北邮国院大二下】产品开发与营销知识点整理 Topic2
  9. D-OJ刷题日记:输出直接插入排序每趟比较的过程 题目编号:196
  10. Seam的好帮手 - Seam Gen 生成工具