【本期举荐专题】在 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 同步模式
表 1 同步模式和对象
- 在“数据加工”页面,“加工类型”抉择“数据过滤”
图 2 数据加工
- 在“对象抉择”区域抉择须要加工的表对象。
- 在过滤条件区域,填写过滤条件(只需填写 SQL 语句的 WHERE 之后局部,例如 id=1)后,单击“校验”。
阐明:
● 每张表仅反对增加一个校验规定。
● Oracle 为源库的数据过滤每次最多反对 20000 张表,MySQL 为源库的数据过滤每次最多反对 10000 张表。
● 过滤条件不反对应用某种数据库引擎特有的 packege、函数、变量、常量等写法,须应用通用 SQL 规范。
- 校验通过后,单击“生成加工规定”,即可在加工规定表格中看到该规定。
- 查看无误后,单击“下一步”,进入下一步操作。
DRS 提供在线迁徙、备份迁徙、数据同步、数据订阅和多活灾备等多种性能,以各自独有的特点实用不同的数据流通场景,为您提供安心且省心的数据复制体验。欲了解详情请戳这里。
点击关注,第一工夫理解华为云陈腐技术~