本文介紹通過Lindorm Streams實現資料訂閱功能,資料訂閱功能將ApsaraDB for HBase增強版(雲原生多模資料庫Lindorm)表格的增量資料推送至下遊訊息佇列Kafka,您可以根據自身業務需求自由消費增量資料,搭建或實現多種業務情境。
推送流程
資料訂閱功能將ApsaraDB for HBase增強版(雲原生多模資料庫Lindorm)表格的增量資料訊息主動推送至下遊Kafka,推送流程如下。
功能特點
即時資料訂閱功能的資訊投遞方式有以下特點:
支援主鍵層級保序,對於同一個主鍵的更新操作,會按照其更新的順序儲存和消費。
支援資料處理語義為至少一次(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。 |