TimeSeries モデルは、時系列データの特徴に基づいて設計されています。このモデルは、IoT デバイスの監視などのシナリオに適しており、デバイスが収集したデータやマシンの監視データを格納するために使用できます。TimeSeries モデルは、時系列メタデータの自動インデックス作成と、複合条件に基づく時系列検索をサポートします。TimeSeries モデルは、時系列テーブルを使用して時系列データを格納します。これにより、アプリケーションはペタバイト規模のデータを同時に書き込みおよび読み取り、ストレージコストを削減できます。SQL 文を実行して、時系列データをクエリおよび分析できます。
概要
TimeSeries モデルは、時系列データの特徴に基づいて設計されています。このモデルは、IoT デバイスの監視などのシナリオに適しており、デバイスが収集したデータやマシンの監視データを格納するために使用できます。
Tablestore の TimeSeries モデルでは、2 次元の時系列テーブルを使用して時系列データを格納します。各行は、時系列のある時点のデータを表します。時系列識別子とタイムスタンプが行のプライマリキー列であり、タイムスタンプに対応する時系列のデータポイントが行のデータ列です。1 つの行に複数のデータ列を含めることができます。プライマリキー列とデータ列のスキーマを事前に定義する必要はありません。時系列テーブルにデータを書き込むときに、特定のデータ列の名前を指定するだけで済みます。
時系列テーブルには、さまざまなメトリックタイプの時系列データを格納できます。次の図では、時系列テーブルに温度と湿度の 2 種類のメトリックタイプのデータが格納されています。

図では、時系列識別子はメトリック名、データソース、タグで構成されます。API を呼び出して、時系列のメタデータ内のプロパティを更新できます。プロパティは、時系列の取得に使用できます。
データが時系列テーブルに書き込まれると、システムは時系列のメタデータを自動的に抽出し、メタデータインデックスを自動的に作成します。メトリック名、データソース、タグの組み合わせに基づいて時系列を取得できます。
TimeSeries モデルの利点は次のとおりです。
-
時系列データに統一された共通のモデリング方法を提供し、テーブルスキーマを事前に定義する必要がありません。
-
時系列のメタデータインデックスを自動的に作成でき、複合条件に基づく時系列検索をサポートします。
-
SQL によるクエリと集計をサポートします。
-
サービス機能の自動スケールアウト、高同時実行性での書き込みとクエリ、ペタバイト規模のデータの低コストストレージをサポートします。
用語
|
用語 |
説明 |
|
時系列データ |
時系列データは複数の時系列で構成されます。各時系列は、時系列順に並べられたデータポイントのセットです。時系列を識別するにはメタデータが必要なため、時系列データはメタデータとデータで構成されます。
|
|
時系列メタデータ |
時系列メタデータには、時系列の識別子とプロパティが含まれます。識別子は、時系列を一意に識別するために使用されます。プロパティは変更可能で、時系列の取得に使用できます。 |
|
時系列識別子 |
時系列識別子は、時系列を一意に識別するために使用されます。Tablestore の TimeSeries モデルでは、時系列識別子はメトリック名、データソース、タグの 3 つの部分で構成されます。 |
|
メトリック名 |
|
|
データソース |
時系列のデータソースの識別子です。このパラメーターは空のままにすることができます。 |
|
タグ |
時系列のタグです。文字列型のキーと値のペアを複数指定できます。 |
|
プロパティ |
プロパティは時系列メタデータの一部であり、時系列の変更可能なプロパティ情報を記録するために使用できます。ただし、プロパティは時系列の識別子として使用できず、時系列を一意に識別するために使用することもできません。時系列のプロパティは、文字列型の複数のキーと値のペアであり、形式はタグに似ています。時系列のプロパティを指定または更新することで、そのプロパティを使用して時系列を取得できます。 |
|
時系列のデータ |
時系列のデータポイントは、データが生成された時刻と対応するデータ値で構成されます。時系列の各瞬間に 1 つの値しか生成されない場合は、単一値モデルが使用されます。時系列の各瞬間に複数の値が生成される場合は、複数値モデルが使用されます。 Tablestore の TimeSeries モデルは、複数値モデルを使用します。ある時点で複数のデータ値を指定できます。各値は、列名と列値を含む時系列テーブルの列に対応します。列値は、ブール、整数、浮動小数点、文字列、バイナリのデータ型をサポートしています。 |
機能
-
時系列テーブルの作成と管理
Tablestore コンソール、SDK、または CLI を使用して、インスタンス内のすべての時系列テーブルのクエリ、時系列テーブルの作成、時系列テーブルの設定のクエリ、時系列テーブルの設定の更新、時系列テーブルの削除を行うことができます。
時系列テーブルを作成したり、時系列テーブルの設定を更新したりするときに、時系列テーブル内のデータの有効期限 (TTL) を指定できます。TTL 値を指定すると、システムは現在の時刻と時系列データが書き込まれたときのタイムスタンプとの差を自動的にチェックします。差が TTL 値を超えると、システムは期限切れのデータを自動的に削除します。
-
時系列データの読み書き
Tablestore コンソール、SDK、または CLI を使用して、複数の行の時系列データを同時に時系列テーブルに書き込むことができます。データが時系列テーブルに書き込まれた後、時系列識別子を指定して、指定された時間範囲内の時系列データをクエリできます。
-
時系列の取得
Tablestore コンソール、SDK、または CLI を使用して、時系列テーブル内の時系列を取得できます。複数の条件で構成される複合条件を使用して、時系列を取得できます。たとえば、メトリック名が
cpuで、タグにregion: hangzhouが含まれ、プロパティにstatus: onlineが含まれるすべての時系列を取得できます。時系列が取得された後、API を呼び出して、時系列データをさらにクエリできます。 -
SQL によるクエリと分析
時系列テーブルは、SQL を使用したクエリをサポートします。SQL では、メタデータ条件を指定して時系列をフィルタリングし、さまざまなディメンションの集計操作に基づいてデータを集計できます。たとえば、デバイスのバッチから収集したサンプルデータの平均値をクエリしたり、秒レベルのデータを分レベルのデータに集計したりできます。
さらに、SQL では時系列のメタデータのみをクエリできます。これにより、SQL を使用して時系列のメタデータを管理できます。
制限事項
詳細については、「TimeSeriesモデルの制限」をご参照ください。
注意事項
TimeSeries モデルは、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深圳)、中国 (成都)、中国 (香港)、日本 (東京)、マレーシア (クアラルンプール)、ドイツ (フランクフルト)、インドネシア (ジャカルタ)、英国 (ロンドン)、米国 (シリコンバレー)、米国 (バージニア)、SAU (リヤド - パートナーリージョン)、シンガポールの各リージョンでサポートされています。
API
|
カテゴリ |
操作 |
説明 |
|
時系列テーブルの API |
時系列テーブルを作成します。 |
|
|
インスタンス内の時系列テーブルの名前をクエリします。 |
||
|
時系列テーブルの情報をクエリします。 |
||
|
時系列テーブルの設定を更新します。 |
||
|
時系列テーブルを削除します。 |
||
|
時系列の API |
時系列テーブルに時系列データを書き込みます。 |
|
|
時系列データをクエリします。 |
||
|
時系列メタデータを取得します。 |
||
|
時系列メタデータを更新します。 |
||
|
時系列のメタデータを削除します。 |
||
|
時系列分析ストアの API |
時系列分析ストアを作成します。 |
|
|
時系列分析ストアの設定情報を更新します。 |
||
|
時系列分析ストアの情報をクエリします。 |
||
|
時系列分析ストアを削除します。 |
||
|
Lastpoint インデックスの API |
Lastpoint インデックスを作成します。 |
|
|
Lastpoint インデックスを削除します。 |
操作手順
|
手順 |
操作 |
説明 |
|
1 |
RAM ユーザーを作成した後、システムポリシーまたはカスタムポリシーを RAM ユーザーにアタッチして、Tablestore リソースにアクセスするための最小権限を RAM ユーザーに付与します。 Alibaba Cloud アカウント、または Tablestore リソースにアクセスするために必要な権限が付与されている RAM ユーザーを使用する場合は、この手順をスキップしてください。 重要
デフォルトでは、Alibaba Cloud アカウントは、アカウント内のすべてのクラウドリソースの操作を実行する権限を持っています。セキュリティ上の理由から、RAM ユーザーを作成し、RAM ユーザーに権限を付与することを推奨します。これにより、RAM ユーザーごとにアクセスできるリソースを制御できます。 |
|
|
2 |
Tablestore を使用する前に、有効化する必要があります。 Tablestore の有効化は一度だけで済み、料金は発生しません。Tablestore がすでに有効化されている場合は、この手順をスキップしてください。 |
|
|
3 |
選択したリージョンに、インスタンスに作成するテーブルのモデルとインスタンスタイプに基づいて Tablestore インスタンスを作成します。 既存の Tablestore インスタンスがビジネス要件を満たしている場合は、この手順をスキップしてください。 |
|
|
4 |
時系列テーブルを作成して、時系列データを格納します。時系列テーブルを作成するときに、履歴データをクリアする必要があるかどうかに応じて、時系列テーブルの TTL を設定できます。 |
|
|
5 |
時系列データを一括で時系列に書き込みます。時系列データは、メタデータとデータで構成されます。時系列データを書き込む前にメタデータを作成しない場合、システムは書き込まれたデータからメタデータを自動的に抽出します。 説明
kafka-connect-tablestore パッケージを使用して、Apache Kafka から時系列テーブルにデータを同期することもできます。詳細については、「Kafkaデータを時系列テーブルにストリーミングする」をご参照ください。 |
|
|
6 |
重要
クエリしたいデータの時系列情報 (メトリック名やデータソースなど) が不明な場合は、複数の条件を指定して時系列を取得できます。詳細については、「時系列の管理」をご参照ください。 取得した時系列から、時間範囲などの指定された条件を満たすデータをクエリできます。 |
|
|
7 |
SQL で時系列テーブルに対して 3 種類のマッピングテーブルを作成し、データをクエリできます。
|
TimeSeries モデルの使用
Tablestore コンソール、SDK、または CLI を使用して、TimeSeries モデルをすぐに試すことができます。
課金ルール
TimeSeries モデルの課金項目には、時系列データと時系列メタデータの読み取りスループット、書き込みスループット、ストレージ使用量、インターネット経由のアウトバウンドトラフィックが含まれます。詳細については、「TimeSeriesモデルの課金項目」をご参照ください。
よくある質問 (FAQ)
関連ドキュメント
-
時系列テーブル内の履歴時系列データを削除するには、時系列テーブルの TTL を設定できます。詳細については、「時系列データのライフサイクル」をご参照ください。
-
Tablestore の時系列データをコスト効率の高い方法でバックアップしたり、時系列データをファイルとしてローカルデバイスにエクスポートしたりするには、DataWorks のデータ統合機能を使用して、Tablestore から Object Storage Service (OSS) に時系列データを同期することで、保存またはダウンロードができます。詳細については、「TablestoreからOSSへのデータ同期」をご参照ください。
-
時系列データを可視化するには、Tablestore を Grafana に接続できます。詳細については、「Grafanaへの接続」をご参照ください。
-
Realtime Compute for Apache Flink を使用してデータを計算および分析する場合は、Tablestore の時系列テーブルを使用して結果を格納できます。詳細については、「チュートリアル (TimeSeries モデル)」をご参照ください。
-
時系列データを低コストで格納し、時系列データを迅速にクエリおよび分析する場合は、時系列分析ストアを使用できます。詳細については、「時系列分析ストア」をご参照ください。
-
時系列テーブル内の時系列の最新時点のデータをクエリする場合は、時系列テーブルの Lastpoint インデックスを作成できます。詳細については、「Lastpointインデックス」をご参照ください。