タイムラインモデルは、メッセージデータを格納するように設計されています。 このモデルは、メッセージの順序の保持、大量のメッセージの格納、リアルタイム同期など、メッセージングプロセスの要件を満たすことができます。 このモデルは、全文検索とブールクエリもサポートしています。 このモデルは、インスタントメッセージ (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>