全部產品
Search
文件中心

Tablestore:訊息模型介紹

更新時間:Aug 14, 2024

訊息(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版本訊息。

注意事項

當您在Maven專案中引用Tablestore Java SDK的依賴時,需根據版本號碼進行如下設定。

  • 4.12.1(含)之後的SDK(已合入訊息模型到SDK中),只需要引用Tablestore依賴。

    <dependency>
        <groupId>com.aliyun.openservices</groupId>
        <artifactId>tablestore</artifactId>
        <version>4.12.1</version>
    </dependency>
  • 4.12.1之前的SDK,引用Tablestore依賴後,還需要單獨引用Timeline依賴。

    <dependency>
        <groupId>com.aliyun.openservices.tablestore</groupId>
        <artifactId>Timeline</artifactId>
        <version>2.0.0</version>
    </dependency>