「技术直播」分布式数据库订阅功能的原理及实现

数据订阅是一种数据查询方式,其特点为:客户端执行一个查询语句后,可以增量形式,不断收到新到达服务端的、符合查询条件的数据。相比普通查询,订阅能够持续地、低延迟地将新写入的数据返回客户端。

什么时候需要数据订阅?

订阅是一种低成本地、实时获取 TDengine 时序数据库(Time Series DataBase)最新数据的方法。客户端程序与数据库的交互,通常是由客户端发起查询,再由数据库返回数据。假设每当数据库有数据写入时,都需要立即将新的写入结果发送给某客户端,如果用查询的方式实现,则需要由客户端定时发起轮询。而大量的发起查询,会增加客户端与服务器的资源消耗;且根据轮询的频率,获取最新数据会有一定的延迟。我们可以将订阅看作是持续不断的长查询,一旦数据更新(包括新插入),则会立即被推送至客户端,当数据没有更新时,不会有额外的资源消耗。

TDengine 时序数据库的订阅可以在服务端过滤数据,从而降低了资源消耗,并且简化了应用层实现。

很多分布式实时数据库需要集成消息队列产品来实现数据订阅功能。而 TDengine 提供了类似消息队列产品的数据订阅、消费接口,用户无需再集成其他产品,从而简化系统设计的复杂度,降低运维成本。

那么,TDengine 时序数据库TSDB) 是如何实现订阅功能的?如何通过订阅功能获取数据?

TDengine 研发工程师刘继聪为大家分享《分布式数据库订阅功能的原理及实现》。

内容大纲:

  • 订阅功能及其基本使用
  • 分布式订阅、消费者与消费者组
  • 通过订阅获取 TSDB 数据以及 WAL 数据
  • 通过订阅进行 DB 的实时备份