クエリ - Amazon Timestream

Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、こちらを参照してください。

クエリ

Timestream for LiveAnalytics を使用すると、DevOps のメトリクス、IoT アプリケーションのセンサーデータ、機器メンテナンス用の産業用テレメトリデータ、その他多くのユースケースを簡単に保存および分析できます。Timestream for LiveAnalytics の専用アダプティブクエリエンジンを使用すると、単一の SQL ステートメントを使用してストレージ階層間でデータにアクセスできます。データの場所の指定なしで、ストレージ階層間で透過的にデータにアクセスして組み合わせが行われます。SQL を使用して Timestream for LiveAnalytics でデータをクエリし、1 つ以上のテーブルから時系列データを取得できます。データベースとテーブルのメタデータ情報にアクセスできます。Timestream for LiveAnalytics SQL は、時系列分析用の組み込み関数もサポートしています。詳細については、「クエリ言語リファレンス」を参照してください。

Timestream for LiveAnalytics は、完全にデカップリングされたデータインジェスト、ストレージ、クエリアーキテクチャを持つように設計されています。各コンポーネントは他のコンポーネントとは独立してスケールできます (アプリケーションのニーズに応じて実質的に無限のスケーラビリティを提供できます)。つまり、アプリケーションが 1 日あたり数百テラバイトのデータを送信したり、少量または大量のデータを処理する数百万のクエリを実行したりしても、Timestream for LiveAnalytics は対応できます。データが時間の経過とともに増加しても、Timestream for LiveAnalytics のクエリレイテンシーはほとんど変化しません。これは、Timestream for LiveAnalytics クエリアーキテクチャが大量の並列処理を活用してより大きなデータボリュームを処理し、アプリケーションのクエリスループットニーズに合わせて自動的にスケールできるためです。

データモデル

Timestream は、フラットモデルと時系列モデルの 2 つのデータモデルをクエリでサポートしています。

注記

Timestream のデータはフラットモデルを使用して保存されます。フラットモデルはデータをクエリするためのデフォルトモデルです。時系列モデルはクエリと時間の組み合わせに基づく概念であり、時系列分析に使用されます。

フラットモデル

フラットモデルは、クエリ用の Timestream のデフォルトデータモデルです。時系列データをテーブル形式で表します。ディメンション名、時間、メジャー名、メジャー値は列として表示されます。テーブルの各行は、時系列内の特定の時刻における測定に対応するアトミックデータポイントです。Timestream データベース、テーブル、列には、いくつかの命名に関する制約があります。それらについては、「サービス制限」で説明されています。

以下の表は、データが単一メジャーレコードとして送信されたときに、Timestream が EC2 インスタンスの CPU 使用率、メモリ使用率、ネットワークアクティビティを表すデータを保存するプロセスの例を示しています。この場合、ディメンションは EC2 インスタンスのリージョン、アベイラビリティーゾーン、仮想プライベートクラウド、インスタンス ID です。メジャーは、EC2 インスタンスの CPU 使用率、メモリ使用率、および受信ネットワークデータです。region、az、vpc、instance_id 列にはディメンション値が含まれています。time 列には、各レコードのタイムスタンプが含まれます。measure_name 列には、cpu-utilization、memory_utilization、network_bytes_in で表されるメジャーの名前が含まれます。measure_value::double 列には、倍精度浮動小数点数として出力される測定値 (CPU 使用率やメモリ使用率など) が含まれます。measure_value::bigint 列には、受信ネットワークデータなどの整数として出力される測定値が含まれます。

時間 region az vpc instance_id measure_name measure_value::double measure_value::bigint

2019-12-04 19:00:00.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

cpu_utilization

35.0

null

2019-12-04 19:00:01.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

cpu_utilization

38.2

null

2019-12-04 19:00:02.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

cpu_utilization

45.3

null

2019-12-04 19:00:00.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

memory_utilization

54.9

null

2019-12-04 19:00:01.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

memory_utilization

42.6

null

2019-12-04 19:00:02.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

memory_utilization

33.3

null

2019-12-04 19:00:00.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

network_bytes

34,400

null

2019-12-04 19:00:01.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

network_bytes

1,500

null

2019-12-04 19:00:02.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

network_bytes

6,000

null

以下の表は、データがマルチメジャーレコードとして送信されたときに、Timestream が EC2 インスタンスの CPU 使用率、メモリ使用率、ネットワークアクティビティを表すデータを保存するプロセスの例を示しています。

時間 region az vpc instance_id measure_name cpu_utilization memory_utilization network_bytes

2019-12-04 19:00:00.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

メトリクス

35.0

54.9

34,400

2019-12-04 19:00:01.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

メトリクス

38.2

42.6

1,500

2019-12-04 19:00:02.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

メトリクス

45.3

33.3

6,600

時系列モデル

時系列モデルは、時系列分析に使用されるクエリ時間コンストラクトです。これは、(時間、メジャー値) ペアの順序付けられたシーケンスとしてデータを表します。Timestream は、補間などの時系列関数をサポートしているため、データのギャップを埋めることができます。これらの関数を使用するには、create_time_series などの関数を使用してデータを時系列モデルに変換する必要があります。詳細については、「クエリ言語リファレンス」を参照してください。

EC2 インスタンスの前述の例を使用して、時系列で表される CPU 使用率データを次に示します。

region az vpc instance_id cpu_utilization

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

[{time: 2019-12-04 19:00:00.000000000, value: 35}, {time: 2019-12-04 19:00:01.000000000, value: 38.2}, {time: 2019-12-04 19:00:02.000000000, value: 45.3}]