翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アーキテクチャ
Amazon Timestream for Live Analytics は、時系列データを大規模に収集、保存、処理するためにゼロから設計されています。サーバーレスアーキテクチャは、個別にスケールできる完全に分離されたデータインジェスト、ストレージ、クエリ処理システムをサポートします。この設計により、各サブシステムが簡素化され、信頼性の不変の達成、スケーリングのボトルネックの排除、システム障害の相関の可能性の軽減が容易になります。これらの各要因は、システムがスケールするにつれてより重要になります。

書き込みアーキテクチャ
時系列データを書き込む場合、Amazon Timestream for Live Analytics は、テーブル、パーティションの書き込みを、高スループットのデータ書き込みを処理する耐障害性メモリストアインスタンスにルーティングします。メモリストアは、3 つのアベイラビリティーゾーン (AZs) にデータをレプリケートする別のストレージシステムで耐久性を実現します。レプリケーションはクォーラムベースであるため、ノードまたは AZ 全体の損失によって書き込みの可用性が損なわれることはありません。ほぼリアルタイムで、他のインメモリストレージノードはクエリを処理するためにデータに同期します。リーダーレプリカノードも AZs にまたがり、高い読み取り可用性を確保します。
Timestream for Live Analytics は、スループットの低い遅延着信データを生成するアプリケーション向けに、マグネティックストアへのデータの直接書き込みをサポートします。遅延受信データは、タイムスタンプが現在の時刻より前のデータです。メモリストアの高スループット書き込みと同様に、マグネティックストアに書き込まれたデータは 3 つの AZsされ、レプリケーションはクォーラムベースです。
データがメモリに書き込まれるかマグネティックストアに書き込まれるかにかかわらず、Timestream for Live Analytics は、ストレージに書き込む前にデータを自動的にインデックス化してパーティション化します。ライブ分析の 1 つの Timestream テーブルには、数百、数千、さらには数百万のパーティションがある場合があります。個々のパーティションは直接相互に通信せず、データを共有しません (共有なしアーキテクチャ)。代わりに、テーブルのパーティション化は、可用性の高いパーティション追跡およびインデックス作成サービスを通じて追跡されます。これにより、システム内の障害の影響を最小限に抑え、相関する障害の可能性を大幅に抑えるために特別に設計された懸念が別の分離されます。
ストレージアーキテクチャ
データがライブ分析の Timestream に保存されると、データはデータで書き込まれたコンテキスト属性に基づいて、時間順および時間間で整理されます。時系列システムを大幅にスケーリングするには、時間に加えて「スペース」を分割するパーティショニングスキームを持つことが重要です。これは、ほとんどの時系列データが現在の時刻またはその前後に書き込まれるためです。その結果、時間だけでパーティション分割しても、書き込みトラフィックを分散したり、クエリ時にデータを効率的にプルーニングしたりすることは適切ではありません。これは、極端なスケールの時系列処理にとって重要であり、Timestream for Live Analytics が現在、サーバーレス方式で他の主要なシステムよりも桁違いにスケールできるようになりました。結果のパーティションは、2 次元空間の分割 (類似したサイズになるように設計) を表すため、「タイル」と呼ばれます。Live Analytics テーブルの Timestream は、1 つのパーティション (タイル) として始まり、スループットに応じて空間ディメンションに分割されます。タイルが特定のサイズに達すると、時間ディメンションに分割され、データサイズが大きくなるにつれて読み取り並列性が向上します。
Timestream for Live Analytics は、時系列データのライフサイクルを自動的に管理するように設計されています。Timestream for Live Analytics には、インメモリストアと費用対効果の高いマグネティックストアの 2 つのデータストアがあります。また、ストア間でデータを自動的に転送するようにテーブルレベルのポリシーを設定することもできます。受信高スループットデータの書き込みは、書き込み用に最適化されたメモリストアと、ダッシュボードとアラートタイプのクエリに電力を供給するために現在時刻前後に実行される読み取りに設定されます。書き込み、アラート、ダッシュボードのメインタイムフレームが経過すると、データがメモリストアからマグネティックストアに自動的に流れてコストが最適化されます。Timestream for Live Analytics では、この目的のためにメモリストアにデータ保持ポリシーを設定できます。遅延受信データのデータ書き込みは、マグネティックストアに直接書き込まれます。
データがマグネティックストアで利用可能になると (メモリストアの保持期間の有効期限が切れるため、またはマグネティックストアへの直接書き込みのため)、大量のデータ読み取り用に高度に最適化された形式に再編成されます。マグネティックストアにはデータ保持ポリシーもあり、データがその有用性を上回っている時間しきい値がある場合に設定できます。データがマグネティックストア保持ポリシーに定義された時間範囲を超えると、自動的に削除されます。したがって、Timestream for Live Analytics では、一部の設定を除き、データライフサイクル管理はバックグラウンドでシームレスに行われます。
クエリアーキテクチャ
ライブ分析クエリの Timestream は、時系列固有のサポート (時系列固有のデータ型と関数) を拡張した SQL 文法で表現されるため、SQL にすでに精通している開発者にとって学習曲線は簡単です。その後、クエリは、タイル追跡およびインデックス作成サービスのメタデータを使用して、クエリの発行時にデータストア間でシームレスにデータにアクセスして結合する、適応型の分散クエリエンジンによって処理されます。これにより、Rube Goldenberg の複雑な要素の多くをシンプルで使い慣れたデータベース抽象化にまとめる際に、顧客とうまく共鳴するエクスペリエンスが得られます。
クエリは専用のワーカーフリートによって実行され、特定のクエリを実行するために登録されたワーカーの数は、クエリの複雑さとデータサイズによって決まります。大規模なデータセットに対する複雑なクエリのパフォーマンスは、クエリランタイムフリートとシステムのストレージフリートの両方で、大規模な並列処理によって実現されます。大量のデータを迅速かつ効率的に分析できることは、Timestream for Live Analytics の最大の強みの 1 つです。テラバイト、またはペタバイトを超えるデータを実行する 1 つのクエリでは、数千台のマシンが同時にそのすべてで動作する可能性があります。
セルラーアーキテクチャ
Timestream for Live Analytics がアプリケーションに事実上無限のスケールを提供できるようにすると同時に、99.99% の可用性を確保するために、システムはセルラーアーキテクチャを使用しても設計されています。Timestream for Live Analytics は、システム全体をスケーリングするのではなく、セルと呼ばれる複数の小さなコピーにセグメント化します。これにより、セルをフルスケールでテストでき、1 つのセルのシステム問題が特定のリージョンの他のセルのアクティビティに影響を与えるのを防ぎます。Timestream for Live Analytics はリージョンごとに複数のセルをサポートするように設計されていますが、リージョンに 2 つのセルがある次の架空のシナリオを検討してください。

上記のシナリオでは、データインジェストリクエストとクエリリクエストは、まず検出エンドポイントによってデータインジェストとクエリのために処理されます。次に、検出エンドポイントは顧客データを含むセルを識別し、そのセルの適切な取り込みエンドポイントまたはクエリエンドポイントにリクエストを送信します。SDKs を使用する場合、これらのエンドポイント管理タスクは透過的に処理されます。
注記
Timestream for Live Analytics で VPC エンドポイントを使用する場合、または Timestream for Live Analytics の REST API オペレーションに直接アクセスする場合は、セルラーエンドポイントと直接やり取りする必要があります。これを行う方法のガイダンスについては、VPC エンドポイントの設定方法については「VPC エンドポイントVPC エンドポイントAWS PrivateLink」を参照し、REST API オペレーションの直接呼び出しについては「エンドポイント検出パターン」を参照してください。