訊息(Timeline)模型是針對訊息資料情境所設計的,能夠滿足訊息資料情境對訊息保序、海量訊息儲存、即時同步的業務需求,同時支援全文檢索索引與多維度組合查詢。適用於IM、Feed流等訊息情境。

模型結構

訊息模型以簡單為設計目標,核心模組構成比較清晰明了。訊息模型盡量提升使用的自由度,讓您能夠根據自身情境需求選擇更為合適的實現。訊息模型的架構主要包括:
  • Store:Timeline存放庫,類似資料庫的表的概念。
  • Identifier:用於區分Timeline的唯一標識。
  • Meta:用於描述Timeline的中繼資料,中繼資料描述採用free-schema結構,可自由包含任意列。
  • Queue:一個Timeline內所有Message儲存在Queue內。
  • SequenceId:Queue中訊息體的序號,需保證遞增、唯一。模型支援自增列、自訂兩種實現模式。
  • Message:Timeline內傳遞的訊息體,是一個free-schema的結構,可自由包含任意列。
  • Index:包含Meta Index和Message Index,可對Meta或Message內的任意列自訂索引,提供靈活的多條件組合查詢和搜尋。

功能介紹

訊息模型支援以下功能。
  • 支援Meta、訊息的基本管理(資料的CRUD)。
  • 支援Meta、訊息的多維組合查詢、全文檢索索引。
  • 支援SequenceId的兩種設定:自增列、手動設定。
  • 支援多列的Timeline Identifier。
  • 相容Timeline 1.X模型,提供的TimelineMessageForV1範例可直接讀寫V1版本訊息。

Tablestore Java SDK(訊息模型已經合入到SDK中)

<dependency>
    <groupId>com.aliyun.openservices</groupId>
    <artifactId>tablestore</artifactId>
    <version>4.12.1</version>
</dependency>
如果使用了4.12.1之前SDK,則需要單獨引用以下依賴。
<dependency>
    <groupId>com.aliyun.openservices.tablestore</groupId>
    <artifactId>Timeline</artifactId>
    <version>2.0.0</version>
</dependency>