1. 数据迁移DTS产品介绍
数据传输服务(Data Transmission Service,简称DTS)支持关系型数据库、NoSQL、大数据(OLAP)、分布式数据库等数据源,集数据迁移、订阅、实时同步及ETL流式数据处理功能于一体,能够解决公共云、混合云场景下,远距离、秒级异步数据传输难题。其底层基础设施采用阿里双11异地多活架构,为数千下游应用提供实时数据流。
业务方可以自己通过DTS提供的SDK来对接数据来进行消费,实现业务定制化。
2. 整体技术架构介绍
• 全球公有云第一个数据流产品。
• 阿里经济体数据库全球化和异地多活底座。
• 9年打磨,支撑双11大促。
• 支持多达20多种数据源和目标,服务近5万企业客户,已完成近60万个数据库上云。
DTS的架构主要是消费数据源日志,解析成中间格式,针对不同的目标进行转换,最终投递到目标当中。DTS运维平台有很多组件,可以通过用户控制台或者API等组件建立数据传输任务。
3. 数据实时同步链路原理
• 结构迁移:迁移元数据。数据类型准确、PK/UK/索引约束准确。
• 全量迁移:迁移存量数据。对数据库影响低、速度快。
• 增量拉取:捕获迁移过程中的变化数据。数据保真不丢数据。
• 增量写入:迁移增量数据。数据一致、链路无延迟。(幂等、冲突矩阵)。
• 全量数据校验:保障源和目标数据一致性。快速、具备订正能力。
4. 多业务场景数据传输解决方案
DTS致力于在公有云、混合云场景下,解决远距离、毫秒级异步数据传输难题,如不停机迁移上云、异地灾备、异地多活、数据中台实时数据集成、数据实时订阅等问题。
DTS底层的数据流基础设施为阿里双11异地多活基础架构,为数万下游应用提供实时数据流。用户可以使用数据传输轻松构建安全、可扩展、可用的数据架构。
5. 数据实时订阅
• 数据订阅支持实时拉取RDS实例的增量日志,用户可以通过DTS提供的SDK数据订阅服务端或者kafka client来订阅增量日志,同时可以根据业务需求,实现数据定制化消费。
• DTS服务端的日志拉取模块,主要实现从数据源抓取原始数据,通过解析、过滤标准格式化等流程,最终将增量数据在本地持久化。
• 日志抓取模块通过数据库协议连接并实时拉取原实例的增量日志。例如原实例为RDS for MySQL,那么数据抓取模块通过Binlog dump协议连接原实例。
• 日志拉取模块及下游消费SDK的高可用:DTS容灾系统一旦检测到日志拉取模块出现异常,就会在健康服务节点上断点重启日志拉取模块,保证日志拉取模块的高可用。
• DTS支持在服务端实现下游SDK消费进程和client的高可用。用户同时对一个数据订阅链路,启动多个下游SDK消费进程和消费client,服务端同时只向一个下游消费推送增量数据,当这个消费进程异常后,服务端会从其他健康下游中选择一个消费进程,向这个消费进程推送数据,从而实现下游消费的高可用。
6. 业务数据实时分析与计算
• 场景说明:用户需要实时或定期对线上业务数据进行数据分析,以实现营销决策,业务大屏,实时查询等业务场景。
• 解决方案:使用数据同步功能,将线上业务变更数据准实时同步到大数据分析产品中,业务实现准实时数据分析,快速抢占商务先机。
• 实时分析
业务更新数据需要同步到AnalyticDB/Maxcompute中,跟其他数据进行实时交叉查询分析。
• 流式分析
需要借助流计算对线上业务更新数据进行流式分析。