

Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、[こちら](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# クエリ
<a name="queries"></a>

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

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

## データモデル
<a name="datamodel"></a>

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

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

### フラットモデル
<a name="flatmodel"></a>

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

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


| Time | リージョン | az | vpc | instance\$1id | measure\$1name | measure\$1value::double | measure\$1value::bigint | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
|  2019-12-04 19:00:00.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   cpu\$1utilization   |   35.0   |   null   | 
|  2019-12-04 19:00:01.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   cpu\$1utilization   |   38.2   |   null   | 
|  2019-12-04 19:00:02.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   cpu\$1utilization   |   45.3   |   null   | 
|  2019-12-04 19:00:00.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   memory\$1utilization   |   54.9   |   null   | 
|  2019-12-04 19:00:01.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   memory\$1utilization   |   42.6   |   null   | 
|  2019-12-04 19:00:02.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   memory\$1utilization   |   33.3   |   null   | 
|  2019-12-04 19:00:00.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   network\$1bytes   |   34,400   |   null   | 
|  2019-12-04 19:00:01.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   network\$1bytes   |   1,500   |   null   | 
|  2019-12-04 19:00:02.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   network\$1bytes   |   6,000   |   null   | 

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


| Time | リージョン | az | vpc | instance\$1id | measure\$1name | cpu\$1utilization | memory\$1utilization | network\$1bytes | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  2019-12-04 19:00:00.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   metrics   |   35.0   |   54.9   |   34,400   | 
|  2019-12-04 19:00:01.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   metrics   |   38.2   |   42.6   |   1,500   | 
|  2019-12-04 19:00:02.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   metrics   |   45.3   |   33.3   |   6,600   | 

### 時系列モデル
<a name="timeseriesmodel"></a>

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

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


| リージョン | az | vpc | instance\$1id | cpu\$1utilization | 
| --- | --- | --- | --- | --- | 
|   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   [\$1time: 2019-12-04 19:00:00.000000000, value: 35\$1, \$1time: 2019-12-04 19:00:01.000000000, value: 38.2\$1, \$1time: 2019-12-04 19:00:02.000000000, value: 45.3\$1]   | 