功能介绍

本文介绍通过Lindorm Streams实现数据订阅功能,数据订阅功能将云数据库HBase增强版(云原生多模数据库Lindorm)表格的增量数据推送至下游消息队列Kafka,您可以根据自身业务需求自由消费增量数据,搭建或实现多种业务场景。

推送流程

数据订阅功能将云数据库HBase增强版(云原生多模数据库Lindorm)表格的增量数据消息主动推送至下游Kafka,推送流程如下。

streamsmessagedeliver

功能特点

实时数据订阅功能的信息投递方式有以下特点:

  • 支持主键级别保序,对于同一个主键的更新操作,会按照其更新的顺序存储和消费。

  • 支持数据处理语义为至少一次(At-least-once)语义,即同一条数据可能因为内部重试而被重复消费。如果您需要设置为精确一次(Exactly Once)语义,请提交工单联系我们。

消息格式

LindormStreams消息支持获取更新后整行的数据以及更新前的值,详细消息内容:

{
  "op" : <opType>             // 操作类型,可选Put、DeleteFamily
  "table" : <tableName>       // 表名
  "ts" : <defaultVersion>     // 默认版本,列数据中如果没有ts值时取该值作为版本
  "keyOnly":<keyOnly>         // 是否只包含主键数据
  "data" : [
    {
      "type" : <type>          // 列数据类型
      "name" : <name>          // 列名
      "ts" : <version>         // 数据版本,如果没有该值,取默认版本(ts)的值作为版本
      "value" : <value>        // 值,如果没有该值,则表中值为null
  },
  {
      "type" : <type>          // 列数据类型
      "name" : <name>          // 列名
      "ts" : <version>         // 数据版本,如果没有该值,取默认版本(ts)的值作为版本
      "value" : <value>        // 值,如果没有该值,则表中值为null
  }
  ]
}

消息内容配置:

参数名

类型

是否必选

示例值

描述

key_only

boolean

false

是否只同步主键, 默认为false。

unique_key

boolean

false

是否同一批次,相同主键只发送一次,默认为false。