【本期推荐专题】在DevOps市场中,华为云DevCloud拔得头筹,看它如何助力企业面对商业环境瞬息万变快速响应。

【摘要】 目前,DRS已支持其他云、本地IDC、ECS自建MySQL、SQL Server、MongoDB(数据库种类)、PostgreSQL等多种数据库引擎,支持通过公网网络、华为VPN、华为云VPC网络环境下等多种网络场景的数据实时迁移和实时同步。同时,DRS还提供了丰富的数据辅助功能,今天,我们就来聊聊在您进行数据同步过程中的“小助手”---数据过滤。

本文分享自华为云社区《【云小课】【第15课】聊一聊DRS的数据过滤特性》,原文作者:数据库的小云妹。

众所周知,数据复制服务(Data Replication Service,简称DRS)是一种易用、稳定、高效、用于数据库在线迁移和数据库实时同步的云服务。

目前,DRS已支持其他云、本地IDC、ECS自建MySQL、SQL Server、MongoDB(数据库种类)、PostgreSQL等多种数据库引擎,支持通过公网网络、华为VPN、华为云VPC网络环境下等多种网络场景的数据实时迁移和实时同步。同时,DRS还提供了丰富的数据辅助功能,今天,我们就来聊聊在您进行数据同步过程中的“小助手”---数据过滤。

首先,我们来了解一下数据过滤特性的业务场景----数据同步。

1数据同步介绍

功能介绍

数据同步是DRS的重要功能之一。即在不同的系统之间,将数据通过同步技术从一个数据源拷贝到其他数据库,并保持一致,实现关键业务的数据实时流动。

常用场景

实时分析,报表系统,数仓环境。

功能特点

数据同步功能聚焦于表和数据,并满足多种灵活性的需求,例如多对一(如下图所示)、一对多,动态增减同步表,不同表名之间同步数据等。

对于数据同步有了初步的了解之后,我们可以知道,数据同步不同于迁移,迁移是以整体数据库搬迁为目的,而数据同步是维持不同业务之间的数据持续性流动

那么,在数据的定期同步、拆分汇总数据表等多种应用场景中,我们时常想要实时获取各个表中的某一部分数据来做汇总分析,这个时候,如果能够设定一些同步的规则,来帮助我们更准确、更高效的同步数据,就变得尤为重要。

DRS的数据过滤特性,就是解决这种场景的必备“良药”,通过对同步的对象进行加工,为选择的对象添加规则,方便您自己设定想要同步的数据条件。下面,我们就来了解一下今天的主角----数据过滤。

2数据过滤

原理

基于以数据一致性为首要目标的原则,我们通过一个例子,来看看数据过滤规则添加后,在源库执行更新操作会遇到的几种场景:

假设,源库中的id为1、2、3、5、6。我们设置数据过滤条件为id between 1 and 5,那么数据同步后目标库的id为1、2、3、5。如下图所示:

首先,我们来看几种常见的更新场景:

■  如果在源库中插入id=1.5,此id符合过滤条件(id between 1 and 5),则目标库会执行相同的更新操作。如下图所示:

■  如果在源库中删除id=2,此id符合过滤条件(id between 1 and 5),则目标库会执行相同的删除动作。如下图所示:

■  如果在源库中将id=3更新为id=3.5,更新后的id仍符合过滤条件(id between 1 and 5),则目标库会执行相同的更新操作。如下图所示:

以上,是我们在进行数据同步时,常常遇到的几种场景。当然,有时我们也会遇到如下几种较为特殊的更新场景:

■  如果我们执行更新操作,将源库中的id=2更新为id=7,即更新前源库中的id=2符合过滤条件(id between 1 and 5),更新后id=7不符合过滤条件,继续同步时,目标库会执行相同的更新操作,同步后目标库的id为1、3、5、7。如下图所示:

■  如果我们执行更新操作,将源库的id=6更新为id=4,即更新前源库中的id=6不符合过滤条件(id between 1 and 5),更新后id=4符合过滤条件,继续同步时,目标库执行相同的更新操作,但是此时目标库并没有id=6,无法匹配数据。

这时,我们会根据当前同步任务选定的冲突处理策略来处理:

●  冲突处理策略为“覆盖”,则id=4变成新数据在目标数据库插入,源库和目标库的结果仍然一致。如下图所示:

●  冲突处理策略为“忽略”,则会忽略该更新动作,即源库有id=4,而目标库没有,这种情况目标库数据将少于源库。如下图所示:

●  冲突处理策略为“报错”,则任务将会失败并立即中止。

操作步骤

1.  登录管理控制台。

2.  单击管理控制台左上角的图标,选择区域和项目。数据复制服务目前也支持通过使用专属计算集群服务购买的物理机资源,创建所需的实例,实现数据迁移和数据同步。您可以选择自己的专属计算集群。

3.  在“所有服务”或“服务列表”中,选择“数据库 > 数据复制服务”,进入数据复制服务信息页面。

4.  在“数据同步管理”页面,单击“创建同步任务”。

5.  在“场景选择”页面,分别选择“源数据库来源”和“目标数据库来源”后,单击“下一步”进入“同步实例”页面。

6.  在“同步实例”页面,填选任务名称、通知收件人信息、描述、同步实例信息,单击“下一步”。

7.  同步实例创建成功后,在“源库及目标库”页面,填选源库信息和目标库信息后,单击“源库和目标库”处的“测试连接”,分别测试并确定与源库和目标库连通后,勾选协议,单击“下一步”。

8. 在“设置同步”页面,选择数据冲突策略和同步对象,单击“下一步”。

图1 同步模式

表1 同步模式和对象

9.  在“数据加工”页面,“加工类型”选择“数据过滤”

图2 数据加工

10.   在“对象选择”区域选择需要加工的表对象。

11.   在过滤条件区域,填写过滤条件(只需填写SQL语句的WHERE之后部分,例如id=1)后,单击“校验”。

说明:

●   每张表仅支持添加一个校验规则。

●   Oracle为源库的数据过滤每次最多支持20000张表,MySQL为源库的数据过滤每次最多支持10000张表。

●   过滤条件不支持使用某种数据库引擎特有的packege、函数、变量、常量等写法,须使用通用SQL标准。

12.   校验通过后,单击“生成加工规则”,即可在加工规则表格中看到该规则。

13.   检查无误后,单击“下一步”,进入下一步操作。

DRS提供在线迁移、备份迁移、数据同步、数据订阅和多活灾备等多种功能,以各自独有的特点适用不同的数据流通场景,为您提供安心且省心的数据复制体验。欲了解详情请戳这里。

点击关注,第一时间了解华为云新鲜技术~

云小课|聊一聊DRS的数据过滤特性相关推荐

  1. 云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离

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

  2. 云小课|三大灵魂拷问GaussDB(DWS)数据落盘安全问题

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

  3. 云小课|DGC数据开发之基础入门篇

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

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

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

  5. 云小课 | DSC之数据水印,防止数据被盗用

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

  6. 云小课|大数据时代的隐私利器-GaussDB(DWS)数据脱敏

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

  7. 云小课|DSC帮您管数据,保障您的云上数据安全

    摘要:华为数据安全中心,积累华为云多年数据经验,整合云上各类数据源,搭载数据安全黑科技,通过深度行为识别引擎,助您轻松管理云上数据. 本文分享自华为云社区<云小课 | DSC帮您管数据,保障您的 ...

  8. 云小课 | 大数据融合分析:GaussDW(DWS)轻松导入MRS-Hive数据源

    摘要:通过建立GaussDB(DWS)与MRS的连接,支持数据仓库服务SQL on Hadoop,以外表方式实现Hive数据的快捷导入,满足大数据融合分析的应用场景. 本文分享自华为云社区<[云 ...

  9. 云小课 | 守护网络安全不是问题,iptables的四表五链为你开启“八卦阵”

    摘要:担心网络基本安全?iptables八卦阵为您守护!本文带您一起了解iptables的相关知识. 网络世界就和现实世界一样,总是会有些不怀好意的"人"出现,扫扫你的端口啊,探测 ...

最新文章

  1. 事件冒泡之cancelBubble和stoppropagation的区别
  2. AI啊,我这里有些羞羞的东西,你要不要看一眼?
  3. 视频号,张小龙的星辰大海
  4. Oracle入门(五D)之如何设置show parameter显示隐含参数
  5. 活动预告|一个重塑区块链行业生态的新物种即将诞生!
  6. java图书馆库存管理系统_书店图书库存管理系统.doc
  7. python中利用pygame模块输出文字
  8. 谷歌 Daydream VR 开发工具
  9. 【sping揭秘】18、使用spring访问数据
  10. 安卓设计模式のAdapter模式
  11. Hyperledger Fabric Transaction Proposal过程
  12. 路由器连接光猫用桥接模式好还是用路由模式好?路由器桥接模式vs路由模式
  13. LINUX中ECHO命令的使用
  14. 超神,chatexcel快速制作任意excel表格,给出指令即可
  15. 幻数java题_java – 公式中的幻数
  16. 解决uniapp用了textarea标签设置了边框,右边边框溢出手机屏幕问题
  17. php不显示notice,解决PHP显示Warning和Notice等问题
  18. 响应时代号召 中烜速充走进新能源充电桩新时代
  19. TCP/IP之大明内阁
  20. 首场百度大脑开放日来袭 | 全新开放24项AI技术

热门文章

  1. es6 Class 表达式
  2. 视觉SLAM笔记(18) Sophus
  3. linux 下 c++ 实现 netstat_Linux下基于签名技术的软件保护之实现流程
  4. python的文件读取方式_python中文件读取方式
  5. linux下python开发工具_Python开发工具 Wing IDE
  6. Hive记录-Hive on Spark环境部署
  7. 显示数据库的所有表名,字段名,库名
  8. wikioi 1688 求逆序对
  9. 可以学习的国外课件链接地址(自己收集)
  10. Oracle Assets Additions API--Sample Script(Invoices)