导图社区 阿里云数据传输服务DTS
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,支持关系型数据库(RDBMS)、非关系型的数据库(NoSQL)、数据多维分析(OLAP)等数据源间的数据交互,集数据同步、迁移、订阅、集成、加工于一体,助您构建安全、可扩展、高可用的数据架构。
编辑于2024-01-25 20:22:31这是一篇关于DPIA流程和模板的思维导图,主要内容包括:DPIA模版,DPIA概述和范围,如何执行DPIA,可接受的DPIA标准,DPIA解决什么问题,DPIA执行标准。
本文翻译了GDPR并且添加了解析,深入剖析GDPR的各个方面,可以更好地理解这一法规的重要性,并为企业和个人在数据保护方面提供有益的指导和建议。非常有价值。
这是一篇关于信息安全技术 、数据安全能力成熟度模型Informatio的思维导图,主要内容包括:附 录 C (资料性附录) 能力成熟度等级评估流程和模型使用方法,附 录 B (资料性附录) 能力成熟度等级评估参考方法,DSMM架构,附 录 A(资料性附录) 能力成熟度等级描述与 GP,DSMM-数据安全过程维度,DSMM-安全能力维度。
社区模板帮助中心,点此进入>>
这是一篇关于DPIA流程和模板的思维导图,主要内容包括:DPIA模版,DPIA概述和范围,如何执行DPIA,可接受的DPIA标准,DPIA解决什么问题,DPIA执行标准。
本文翻译了GDPR并且添加了解析,深入剖析GDPR的各个方面,可以更好地理解这一法规的重要性,并为企业和个人在数据保护方面提供有益的指导和建议。非常有价值。
这是一篇关于信息安全技术 、数据安全能力成熟度模型Informatio的思维导图,主要内容包括:附 录 C (资料性附录) 能力成熟度等级评估流程和模型使用方法,附 录 B (资料性附录) 能力成熟度等级评估参考方法,DSMM架构,附 录 A(资料性附录) 能力成熟度等级描述与 GP,DSMM-数据安全过程维度,DSMM-安全能力维度。
阿里云数据传输服务DTS
产品简介
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,支持关系型数据库(RDBMS)、非关系型的数据库(NoSQL)、数据多维分析(OLAP)等数据源间的数据交互,集数据同步、迁移、订阅、集成、加工于一体,助您构建安全、可扩展、高可用的数据架构。
功能特性
功能 介绍 相关文档 数据同步 实现数据源之间的数据实时同步,适用于数据异地多活、数据异地灾备、本地数据灾备、跨境数据同步、查询与报表分流、云BI及实时数据仓库等多种业务场景。 同步方案概览 数据同步功能特性 数据迁移 实现同构和异构数据源之间的数据迁移,适用于数据上云迁移、阿里云内部跨任务数据迁移、数据库拆分或扩容等业务场景。 说明 数据迁移在某些场景下可实现部分数据同步的功能,但是两者的适用场景、功能和收费上存在一定区别,详情请参见数据迁移和数据同步的区别是什么?。 迁移方案概览 数据迁移功能特性 通过DTS实现数据库的垂直拆分 数据集成 作为数据迁移功能的延伸,数据集成功能可以根据调度策略的配置,定期地将源库中的结构和存量数据迁移至目标库中,帮助您构建更加灵活的数据仓库(例如构建T+1的周期性数仓)。 配置RDS MySQL间的数据集成任务 数据集成调度策略说明 数据订阅 获取自建MySQL、RDS MySQL、PolarDB MySQL、PolarDB-X、Oracle的实时增量数据,您可以根据业务需求自由消费增量数据,适用于缓存更新策略、业务异步解耦、异构数据源的数据实时同步和复杂ETL的数据实时同步等多种业务场景。 数据订阅功能特性 数据加工 实现流式数据的抽取、数据转换和加工、数据装载。丰富企业实时数据处理和计算场景,赋能企业数字化转型。 什么是ETL 数据校验 为数据迁移或同步任务配置数据校验功能,监控源库与目标库数据的差异,以便及时发现数据不一致的问题。 配置数据校验
产品架构
系统架构
DTS系统架构特性说明
系统高可用
数据传输服务内部每个模块都有主备架构,保证系统高可用。容灾系统实时检测每个节点的健康状况,一旦发现某个节点异常,会将链路快速切换到其他节点。
数据源地址动态适配
对于数据订阅及同步链路,容灾系统还会监测数据源的连接地址切换等变更操作,一旦发现数据源发生连接地址变更,它会动态适配数据源新的连接方式,在数据源变更的情况下,保证链路的稳定性。
数据迁移工作原理
数据迁移过程包括三个阶段,即结构迁移、全量数据迁移和增量数据迁移。 如果需要在迁移期间保持源数据库的正常运行,当您在配置迁移任务时,必须将结构迁移、全量数据迁移和增量数据迁移都选为所需的迁移类型。
结构迁移
:在迁移数据之前,DTS需要在目标数据库中重新创建数据结构。对于异构数据库之间的迁移,DTS会解析源数据库的DDL代码,将代码转换成目标数据库的语法,然后在目标数据库中重新创建结构对象。
全量数据迁移
:在全量数据迁移阶段,DTS会将源数据库的存量数据全部迁移到目标数据库。 源数据库保持运行状态,在迁移过程中仍不断进行数据更新。 DTS使用增量数据读取模块来获取全量数据迁移过程中发生的数据更新。 当全量数据迁移开始时,增量数据读取模块将被激活。在全量数据迁移阶段,增量数据会被解析、重新格式化并存储在本地DTS服务器上。
增量数据迁移
:当全量数据迁移完成后,DTS会检索本地存储的增量数据,重新格式化,并将数据更新应用到目标数据库中。 此过程将持续下去,直到所有正在进行的数据变更都复制到目标数据库,并且源数据库和目标数据库完全同步。
数据同步的工作原理
DTS可以在两个数据源之间同步正在进行的数据变更。数据同步通常用于OLTP到OLAP的数据传输。数据同步包括以下两个阶段:
同步初始化
:DTS先开始收集增量数据,然后将源数据库的结构和存量数据加载到目标数据库。
数据实时同步
:DTS同步正在进行的数据变更,并保持源数据库和目标数据库的同步。
为了同步正在进行的数据变更,DTS使用两个处理事务日志的模块:
事务日志读取模块
:日志读取模块从源实例读取原始数据,经过解析、过滤及标准格式化,最终将数据在本地持久化。日志读取模块通过数据库协议连接并读取源实例的增量日志。如果源数据库为RDS MySQL,那么数据抓取模块通过Binlog dump协议连接源库。
日志回放模块
:日志回放模块从日志读取模块中请求增量数据,并根据用户配置的同步对象进行数据过滤,然后在保证事务时序性及事务一致性的前提下,将日志记录同步到目标实例。
数据订阅的工作原理
数据订阅支持实时拉取RDS实例的增量日志,用户可以通过DTS提供的SDK数据订阅服务端来订阅增量日志,同时可以根据业务需求,实现数据定制化消费。
DTS服务端的日志拉取模块主要实现从数据源抓取原始数据,通过解析、过滤、标准格式化等流程,最终将增量数据在本地持久化。
日志抓取模块通过数据库协议连接并实时拉取源实例的增量日志。例如源实例为RDS MySQL,那么数据抓取模块通过Binlog dump协议连接源实例。
日志拉取模块及下游消费SDK的高可用:
DTS容灾系统一旦检测到日志拉取模块出现异常,就会在健康服务节点上断点重启日志拉取模块,保证日志拉取模块的高可用。
DTS支持在服务端实现下游SDK消费进程的高可用。用户同时对一个数据订阅链路,启动多个下游SDK消费进程,服务端同时只向一个下游消费推送增量数据,当这个消费进程异常后,服务端会从其他健康下游中选择一个消费进程,向这个消费进程推送数据,从而实现下游消费的高可用。
应用场景
不停机迁移数据库
传输方式
:数据迁移
为了保证数据的一致性,传统的迁移过程需要您在迁移数据时停止向源数据库写入数据。 根据数据量和网络条件,迁移过程可能需要几个小时甚至几天的时间。 这个漫长的过程可能会对您的业务产生很大的影响。
DTS则可以帮助您以最小化的停机时间迁移您的数据。 在数据迁移期间,您的应用程序仍可以保持运行状态。 唯一的停机时间是当您将应用程序切换到目标数据库时。 通常,您可以将此切换窗口降低到分钟级别。 数据迁移的流程如下图所示。
数据迁移过程包括三个阶段,即结构迁移、全量数据迁移和增量数据迁移。 在增量数据迁移期间,源数据库中正在进行的数据变更会实时同步到目标数据库。 迁移完成后,您可以验证迁移到目标数据库的数据和结构是否与您的应用程序完全兼容。 当验证通过后,即可将应用程序切换到目标数据库,从而实现平滑迁移。
数据异地灾备
传输方式
:数据同步
如果您的应用程序部署在单个地域中,可能会因为断电、网络中断等不可抗因素而导致服务中断。
针对这种情况,您可以在另一个地域构建灾备中心,以提高服务可用性。 DTS会在业务中心和灾备中心之间持续同步数据更新,并保持地域间副本同步。 如果主地域发生故障,您可以将用户请求切换到灾备地域。
异地多活
随着业务的快速发展和用户数量的增长,如果业务部署在单个地域中,可能会面临如下问题:
用户在地理位置上分布较广,地理位置较远的用户访问延迟较高,影响用户体验。
单个地域底层基础设施的能力限制了业务扩展,例如供电能力,网络带宽建设能力等。
为解决上述问题,您可以在同城/异地构建多个业务单元。各个业务单元之间通过DTS实现数据的双向实时同步,保障全局数据的一致性。当任何一个单元出现故障时,您只需将该单元的流量切换至其他单元即可,可实现业务的秒级恢复,有效地保障了服务的高可用性。
您还可以根据业务的某个维度将业务流量分流至各个业务单元。例如,按照用户所属区域划分各单元的流量,实现用户就近访问,降低网络延迟,提升用户体验。同时,各个业务单元分布在不同的地域,可以有效解决单地域的基础设施限制业务扩展的问题。
加速全球化业务访问速度
对于全球化业务,如果按照传统架构只在单个地区部署业务,那么跨境访问的用户访问服务时,访问延迟非常大,用户体验较差。为加速全球化业务访问速度,优化访问体验,您可以将架构调整如下。
本方案中,所有地区用户的写请求全部路由回主业务中心。通过DTS将主业务中心的数据实时同步至次业务中心,各个地区的用户的读请求,则路由至就近的次业务中心,从而避免远距离访问,加速了全球化业务的访问速度。
助力快速搭建定制化BI系统
传输方式
:数据同步
由于自建BI系统的复杂性,自建BI不能满足越来越高的实时性要求。阿里云提供了非常完善的BI体系,DTS可以帮助您将自建数据库实时同步至阿里云的BI存储系统(例如MaxCompute、分析型数据库或流计算等 ),助力您在阿里云上快速搭建满足自身业务的定制化BI系统。
数据实时分析
传输方式
:数据订阅
数据分析在提高企业洞察力和用户体验方面发挥着举足轻重的作用,且实时数据分析能够让企业更快速、灵活地调整市场策略,适应快速变化的市场方向和消费者体验。
DTS提供的数据订阅功能,可以在不影响线上业务的情况下,帮助您获取实时增量数据。通过DTS提供的SDK,您可以将订阅到的增量数据同步至分析系统中进行实时分析。
轻量级缓存更新策略
传输方式
:数据订阅
为提高业务访问速度,提升业务读并发,通常的做法是在业务架构中引入缓存层,让业务所有读请求全部路由到缓存层,通过缓存的内存读取机制来提升业务读取性能。由于缓存中的数据不能持久化 ,一旦缓存异常退出,那么内存中的数据将会丢失。
DTS提供的数据订阅功能,可以帮助您异步订阅数据库的增量数据,并更新缓存的数据,实现轻量级的缓存更新策略。
该架构具有以下优势:
更新路径短,延迟低
业务完成更新数据库后直接返回,不需要关心缓存失效流程,整个更新路径短、延迟低。
应用简单可靠
应用无需实现复杂双写逻辑,只需启动异步线程监听增量数据,更新缓存数据即可。
应用更新无额外性能消耗
数据订阅通过解析数据库的增量日志来获取增量数据,不会对业务和数据库性能造成影响。
业务异步解耦
传输方式
:数据订阅
电商行业涉及下单系统、卖家库存、物流发货等多个业务逻辑。如果将这些逻辑全部在下单流程中,需要全部变更完成后,才能返回下单结果。这种业务逻辑存在如下问题:
下单流程和耗费的时间较长,用户体验差。
系统稳定性差,任何一个下游发生故障,将直接影响整个业务系统的可用性。
为提升核心应用用户体验和稳定性,您可以通过DTS提供的数据订阅,将深耦合业务优化为通过实时消息通知实现的异步耦合,让核心业务逻辑更简单可靠,具体调整为:
该场景中,买家下单系统只要完成下单操作,就直接返回,底层通过DTS的数据订阅实时获取订单系统的变更数据,业务通过SDK订阅这些变更数据,并触发库存、物流等下游业务逻辑,实现了整个业务系统的简单可靠。
该应用场景在阿里巴巴内部得到了广泛的应用,例如淘宝订单系统每天有上万个下游业务,通过数据订阅获取订单系统的实时数据更新,触发自身的变更逻辑。
横向扩展读能力
传输方式
:数据同步
对于有大量读请求的应用场景,单个数据库实例可能无法承担全部的读取压力。您可以借助DTS的实时同步功能构建只读实例,将读请求分流至这些只读实例中,实现读能力的弹性扩展,分担主数据库实例的压力。
用于数据仓库的任务调度
传输方式
:数据迁移
对于每天处理大量事务数据的大型在线应用程序,您可能需要采用“次日仓库策略”,定期将数据传输到数据仓库。 例如,您希望将迁移安排在业务低峰期,以便将当天的事务数据传输到数据仓库。 通过该部署,您的分析系统可以处理一天前的数据。