深度解密阿里巴巴技术利器:数据订阅

如何获取RDS实时增量数据

数据传输DTS提供数据订阅功能,数据订阅可以实时获取并分发RDS增量日志。通过数据订阅提供的SDK 您可以从数据订阅通道中实时获取并消费RDS增量日志。通过数据订阅功能,您可以实现业务消息通知、OLTP->OLAP数据实时同步、定制化ETL的数据实时同步、构建本地灾备等多种应用场景。数据订阅让您的实时数据流动起来,最大程度发挥数据资产的潜在价值。

为了帮助您更好得理解这个功能,本小节详细介绍数据订阅的基础技术原理、使用方式及典型应用场景。

如何开始使用数据订阅

要订阅并消费某一个RDS实例的增量数据,需要分两个步骤建立整个流程:

(1) 创建一个订阅通道,开始拉取RDS的增量数据

首先需要到数据传输控制台创建一个订阅通道,这个订阅通道的作用,主要是从RDS拉取增量日志,并解析封装成数据传输自己的消息格式,存储在数据传输服务器上,供用户订阅消费。

配置订阅通道的具体流程详见使用手册数据传输使用手册

(2) 启动 SDK,订阅并消费增量数据

SDK的具体定义及使用详见数据传输使用手册

基础技术原理

本小节介绍数据订阅功能如何实现RDS增量数据的实时分发。数据订阅是通过拉取解析并分发RDS实例的增量日志来实现增量数据实时分发的能力,这种实现机制对RDS实例的性能毫无影响,所以您可以放心使用。

深度解密阿里巴巴技术利器:数据订阅

这里面SDK会通过http协议,向订阅通道请求增量数据。用户需要定义notify函数,当SDK收到增量数据时,会通知notify函数开始进行数据消费。通过通知消费的机制,可实现RDS增量数据实时消费

实时消息通知,让业务更简单可靠

数据订阅一个非常重要的应用场景,就是通过数据库增量数据实现实时消息通知。这个应用场景在阿里巴巴内部得到了广泛的应用,目前线上每天有上万个下游业务,通过数据订阅获取核心业务的实时数据更新,并触发自身的变更逻辑。

下面举两个简单的例子,简单说明业务场景:

(1) 对于电商行业,有买家、卖家两个维度,当买家购买一个商品时,卖家商品需要减少库存

(2) 又例如对于新闻APP来说,有新闻录入和新闻检索两个纬度,由于新闻的时效性,一旦有新的新闻录入,检索服务就必须能够立即检索到这条新闻

上面的场景需要在两个业务之间实现实时的消息通知消费机制,这种应用场景可以通过数据实时订阅功能实现。通过数据订阅功能,可以在不影响业务A (例如买家订单、新闻录入系统)的情况下,实时触发业务 B(例如卖家库存、新闻检索系统)的变更逻辑。

深度解密阿里巴巴技术利器:数据订阅

业务数据实时分析,快速抢占商务先机

数据分析在提高企业洞察力和用户体验方面发挥着举足轻重的作用,且实时数据分析能够让企业更快速、更灵活得调整策略,适应快速变化的市场方向及消费者体验。为了在不影响线上业务的情况下实现实时数据分析,需要将业务数据实时同步到分析系统中,由此可见,实时获取业务数据必不可少。数据传输提供的数据订阅功能,可以在不影响线上业务的情况下,帮助您获取业务的实时增量数据,通过SDK可将其同步至分析系统中进行实时数据分析。

深度解密阿里巴巴技术利器:数据订阅

其中RDS到ADS数据实时同步的更多内容详见使用阿里云数据传输实时同步RDS的数据

灵活数据转换,实现定制化数据实时同步

数据传输提供了数据源之间的数据实时同步功能,但目前实时同步功能不能支持在同步过程中进行ETL处理,所以如果您的业务在传输过程中,需要进行数据转换(例如数据过滤,字段增减,对象映射等),那么可以通过数据订阅功能,实现定制化数据实时同步。

深度解密阿里巴巴技术利器:数据订阅

例如上图所示,用户需要将源实例的table1,同步到目标实例的table1_1,且只需要col1、col2两个列,需要过滤掉col1=data4的记录。对于这种包含ETL的数据实时同步场景,可以使用数据订阅功能快速满足。

构建本地灾备,让数据更安全

数据作为企业的重要资产,其完整安全性显得尤为重要。今天,阿里云上的很多企业用户为提高数据安全性,都会希望在本地IDC构建数据实时灾备,这样即使阿里云发生任何意外,也不会出现业务数据丢失。 利用数据传输提供的数据实时订阅功能,可以帮助您在本地IDC快速构建阿里云的数据灾备中心,提高业务数据安全性。

深度解密阿里巴巴技术利器:数据订阅

小结

数据传输提供实时、高可用、高可靠的RDS增量数据数据实时分发能力。通过这个功能您可以在不影响RDS实例性能的情况下,订阅并消费RDS实时增量数据,实现实时消息通知、OLTP->OLAP数据实时同步,含ETL的数据实时同步及本地灾备等多种典型应用场景。

数据订阅只是数据传输提供的一种传输方式,除数据订阅之外,数据传输还提供了数据实时同步,不停服迁移等多种传输能力,如需了解数据传输更多详情,请猛击数据传输

上一篇:执行 Selenium WebDriver脚本抛出 StaleElementReferenceException错误的原因


下一篇:AgileEAS.NET平台开发案例-药店系统-项目说明