すべてのプロダクト
Search
ドキュメントセンター

Tablestore:タイムラインモデル

最終更新日:Mar 11, 2025

タイムラインモデルは、メッセージデータを格納するように設計されています。 このモデルは、メッセージの順序の保持、大量のメッセージの格納、リアルタイム同期など、メッセージングプロセスの要件を満たすことができます。 このモデルは、全文検索とブールクエリもサポートしています。 このモデルは、インスタントメッセージ (IM) アプリケーションおよびフィードストリームから生成されるメッセージデータを格納するのに適しています。

アーキテクチャ

タイムラインモデルは、シンプルな設計で明確なコアモジュールを提供します。 必要に応じて、タイムラインモデルを使用して、さまざまなメソッドでサービスを簡単に実装できます。 モデルのアーキテクチャには、次のコンポーネントが含まれます。

  • ストア: タイムラインデータを格納するために使用されるユニット。 ストアは、データベースサービスのテーブルに似ています。

  • 識別子: タイムラインデータを識別するために使用される識別子。

  • メタ: タイムラインデータを記述するために使用されるメタデータ。 メタデータはフリースキーマ構造で格納され、任意の列を含めることができます。

  • キュー: タイムライン内のすべてのメッセージを格納します。

  • SequenceId: キュー内のメッセージ本文のシリアル番号。 SequenceId 値は、増分値で一意である必要があります。 タイムラインモデルは、自動インクリメント列を使用して SequenceId 値を生成します。 SequenceId 値を手動で指定することもできます。

  • メッセージ: タイムライン内のメッセージ本文。 メッセージはフリースキーマ構造で格納され、任意の列を含めることができます。

  • インデックス: メタインデックスとメッセージインデックスが含まれます。 メタまたはメッセージの任意の列のインデックスをカスタマイズして、ブールクエリを提供できます。

特徴

タイムラインモデルは、次の機能をサポートしています。

  • メタデータとメッセージの管理 (作成、読取、更新、削除操作などの基本的なデータ操作を含む)。

  • メタデータとメッセージのブールクエリと全文検索。

  • SequenceId 値の 2 つの構成方法: 自動インクリメント列と手動設定。

  • 複数の列を含むタイムライン識別子。

  • タイムラインモデル V1.x との互換性。 タイムラインモデルの TimelineMessageForV1 の例を使用して、タイムラインモデル V1.x からメッセージを読み取り、メッセージを書き込むことができます。

使用方法

Tablestore SDK for Java の依存関係を Maven プロジェクトにインポートするには、Tablestore SDK for Java のバージョンに基づいて次の操作を実行します。

  • タイムラインモデルが組み込まれている Tablestore SDK for Java V4.12.1 以降の場合は、Tablestore の依存関係をインポートします。

    <dependency>
        <groupId>com.aliyun.openservices</groupId>
        <artifactId>tablestore</artifactId>
        <version>4.12.1</version>
    </dependency>
  • V4.12.1 より前の Tablestore SDK for Java の場合は、Tablestore の依存関係とタイムラインモデルの依存関係をインポートします。

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