icon什么是DTS-DBbridgeicon

数据库应用服务迁移(DTS-DBbridge)是一款支持异构数据库之间、同构数据库之间进行数据同步的企业级产品。通过DTS-DBbridge可以帮助企业实现在线数据库同步,满足企业多样化数据传输、数据汇聚、数据灾备等业务场景,帮助企业建立数据之间的流动,打造数据间的互联互通。

icon应用场景icon

Dbbridge支持将源库数据实时复制到目标端,数据同步期间生产业务不停机。

iconDBbridge支持同步的链路icon
icon架构展示icon

TCS Core:DBbridge2.0.0版本开始,基于Tencent TCS平台部署。 实例管理:将数据库添加到DBbridge的实例管理界面中,便于在后续同步任务中使用。 用户管理:创建用户,维护用户信息等。 操作审计:操作审计中记录了每个账号的操作历史详情,方便管理员在发生误操作后及时定位到涉及人员和原因。 任务管理:建立数据同步任务、在任务启动前参数预校验、修改同步任务配置等。 任务运维管控:负责任务后台的调度、重启、参数修改、状态查询等。

iconDBbridge组件说明 icon
icon高可用说明icon
icon数据迁移/同步——基本功能介绍icon
支持结构、全量、增量数据同步:结构数据:结构初始化;全量数据:结构初始化+全量数据初始化;增量数据:全量完成后,自动同步增量数据。主键冲突(同步场景):检测源库内容同步到目标库,与目标库已存在数据是否有主键冲突,当检测到主键冲突时,按照已设置的策略执行(冲突报错/冲突覆盖/冲突忽略),保持同步任务正常运行。SQL过滤(同步场景):DML过滤:筛选INSERT、UPDATE、DELETE操作。 DDL过滤:拆选具体的DDL,如CREATE TABLE、 CREATE DATABASE。 where条件过滤:自定义过滤规则,满足条件的数据才会同步到目标端。动态增加/删除同步对象(仅限MySQL链路):任务运行中,增加或者删除对象,修改SQL策略、主键冲突策略等。
icon数据同步——双向数据同步icon

建立两个单向同步任务来组成双向同步,正向DB1->DB2,反向DB2->DB1。 正向,反向同步中,最多只能在一个方向中选择DDL同步,不能形成环形链路。 为了避免数据重复,请确保需要同步的表具有主键或者非空唯一。 用户应提前规划好数据,两个源端负责更新(增、删、改)不同主键的数据,避免主键冲突或者相同主键数据互相覆盖等情况。如DB1负责更新主键1-100,DB2负责更新主键101-200。

icon数据订阅——灵活投递topicicon
数据同步到Kafka时,可以选择投递到Kafka中的一个或多个topic。 DML投递 大小写敏感 自定义 Topic 名称:自行设置投递的 Topic 名称,将同步数据经过hash计算,随机投递到该Topic下的不同分区中(用户需要提前定义好Topic)。集中投递到单 Topic:选择一个目标端已有的 Topic,然后按照多种分区策略投递,支持按表名分区、按表名+主键分区,投递到不同分区中。 DDL投递 支持DDL单独投递到指定topic。注意:如果未指定存储DDL的Topic,当DDL涉及多个表时,会解析DDL的关联的所有表对象,按照表名匹配模式,投递到对应Topic中。
icon数据订阅——分区策略icon

DML数据同步到目标kafka,支持策略,多个分区的数据并发消费,提升消费效率。

icon实现原理icon

数据从源库中导出并导入到目标库中,关键步骤包括结构初始化、全量数据初始化及增量数据处理。结构初始化:在目标库中创建与源库相同的库表结构信息。用户可以选择是否同步库表结构,如果目标库中已经创建了与源库相同的结构信息,则不需要同步库表结构信息。全量数据初始化:结构初始化完成后,DBbridge 会将源库中的全部存量数据导出并导入到目标库中。增量数据同步:增量数据处理是通过源库 Binlog 来持续获取增量数据,DBbridge将增量数据经过一系列过滤转换操作后,导入到中间存储。在全量数据同步完成后,开始在目标库上持续回放中间存储上的增量变更数据,从而实现目标库与源库数据保持一致。

icon增量同步传输icon
1、源库数据写入。
2、DBbridge模拟源数据库的备库,实时同步源库数据。
3、备库上的数据更新操作写入Binlog中。
4.1 如果同步到目标数据库,DBbridge将增量binlog解析为SQL语句,再写入目标库中。
4.2 如果同步到目标kafka,DBbridge将增量binlog解析成Kafka message。
icon断点续传icon

源端网络环境不可控,数据同步过程中,因网络错误中断后,如果从头重新导出耗时久。DBbridge支持任务中断后进行重试,接续之前的数据继续传输。

icon主键冲突策略icon

DBbridge通过对INSERT/UPDATE语句的改写,实现主键冲突策略的应用。

icon同步拓扑icon

通过对单向同步进行组合,可以定制各种复杂的拓扑,如一对多单向、多对一单向、双向同步等。 对于事务的表的同步拓扑,通过内部同步破环机制实现。 DDL的同步拓扑,通过校验项检查避免形成DDL环路。 不支持对于非事务表的同步。

icon环境要求icon
icon部署方式icon
icon访问管理icon

访问管理用于DBbridge的用户及权限管理,实现租户隔离。

icon运营端和租户端区别icon

运营端和租户端都会集成在Dbbridge产品中,但是两者各有侧重,具体差异如下:

icon运营端概述icon

运营端是DBbridge的运维控制台,提供完整的数据任务运维操作,给拥有全部权限的“管理员”使用,覆盖DTS的运维操作,功能包含迁移任务高级操作、全部的监控指标、告警规则管理。 - 当任务状态异常时,租户端无法自动重试时,可以通过运营端查看异常信息,并扭转任务状态或者重启任务。 - 当任务运行过程中,对源库资源占用过高时,可以通过调整导出线程数,动态调整速率。

icon租户端概述icon

租户端是DBbridge的管理控制台,提供完整的数据迁移操作,提供给拥有普通权限的“普通用户”使用,功能包含控制台概览、数据库实例管理、数据迁移任务管理、审计功能。 普通用户可以基于租户端构建数据迁移/同步/订阅的任务,搭建满足业务需要的数据链路。

icon租户端操作流程icon
icon实例管理icon

第一步:接入实例 实例管理用于连接数据库实例,在连接测试通过后,方便在任务管理中选择已连接的实例进行数据迁移。

icon任务管理icon

第二步:配置任务 任务管理是数据迁移的重要操作,实现迁移任务的新建、操作、一致性校验等,查看任务管理操作。

icon任务管理icon

第三步:结束迁移,数据割接 确认源库和目标库数据一致后,【结束】数据迁移,割接数据

icon任务管理典型应用——数据迁移icon

在数据迁移的场景下,主要是完成全量数据的一比一搬迁。在完成数据的迁移之后,需要启动数据一致性校验,确认源和目标数据的一致性。

icon任务管理典型应用——双向同步icon

在灾备同步或者双活的场景下,需要完成全量+增量数据的同步。根据用户业务情况,可能需要进行数据高级操作,比如DML的过滤操作。

icon任务管理典型应用——数据订阅icon

当用户需要获取数据库中关键业务的数据变化信息时,Dbbridge支持建立源库到kafka的任务,支持下游业务订阅、获取和消费数据。

icon运营端重要操作icon

点击进入任务详情页面 【信息视图】内,是任务的高级操作,可以扭转任务状态、设置导入导出线程数、重启任务。 【任务视图】内,查看任务状态扭转记录,在任务中断后,可以重新拉起任务。 【进度详情】内,统计当前任务运行情况,查看全量及增量阶段的数据迁移进展和状态。

icon审计icon

审计用以支持记录每个账号的控制台操作详情,方便用户业务异常时进行排查和定位。 进入审计页面,可查看用户在控制台的所有操作记录,并对审计内容进行筛选,选择审计内容、执行用户、审计时间,单击搜索,查看筛选后的结果。

icon监控告警icon

DBbridge监控告警基于 Prometheus + Grafana + alert manager 实现监控指标的采集及展示,告警规则的设置,告警历史展示,告警推送等功能。监控指标展示:Dbbridge 租户端告警指标,包含任务增量阶段延迟数据量、延迟时间、导入导出数据行数信息。支持查看Grafana监控大盘,支持指定Kafka topic接收监控指标信息,实现与自建监控大盘打通。

icon监控告警icon

告警规则为预置策略,包括任务运行情况、系统资源使用情况等,针对客户现场情况,可以自定义告警阈值。告警推送支持配置回调URL或者指定Kafka topic接收,在触发告警规则后,只会推送一次。

icon常见运维操作—巡检icon

执行如下巡检脚本,查看各组件的返回状态,如果STATUS显示为Running,表示状态正常。

icon常见运维操作—查询日志icon
icon常见运维操作—Kafka/MariaDB日常操作icon
icon常见运维操作—Kafka/MariaDB日常操作icon
icon常见任务状态处理 连通性测试不通过icon
产品推荐 查看更多>>
    阿里云数据库RDS版

    MySQL 是全球最受欢迎的开源数据库之一,作为开源软件组合 LAMP(Linux + Apache + MySQL + Perl/PHP/Python) 中的重要一环,广泛应用于各类应用场景。

    高安全等级,保证数据库安全性

    多种部署架构,满足多类可用性要求

    灵活的产品形态,满足系统可扩展性

    腾讯云企业级分布式数据库TDSQL for MySQL

    TDSQL for MySQL 是腾讯云自主研发的分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特 性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。

    TDSQL MySQL版兼容大多数常用的MySQL语法

    领先的分布式架构

    不停机弹性扩展

    支持数据库智能管家

    分布式事务数据库HotDB Server

    HotDB Server兼容主流数据库协议和 SQL92/SQL99标准语法,支持自动水平拆分和垂直拆分,能在数据存储分布式化环境下为应用提供集中式数据库的操作体验。

    高效稳定

    功能完备