カスタム複合パーティションキーを使用した Timestream for LiveAnalytics スキーマの検証 - Amazon Timestream

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

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

カスタム複合パーティションキーを使用した Timestream for LiveAnalytics スキーマの検証

Timestream for LiveAnalytics でのスキーマ検証は、データベースに取り込まれたデータが指定されたスキーマに準拠し、取り込みエラーを最小限に抑え、データ品質を向上させるのに役立ちます。特に、スキーマの検証は、クエリのパフォーマンスを最適化する目的でユーザー定義のパーティションキーを採用する場合に役立ちます。

ユーザー定義パーティションキーを使用した Timestream for LiveAnalytics スキーマの検証とは

Timestream for LiveAnalytics スキーマ検証は、事前定義されたスキーマに基づいて、Timestream for LiveAnalytics テーブルに取り込まれるデータを検証する機能です。このスキーマは、パーティションキー、データ型、挿入されるレコードの制約など、データモデルを定義します。

ユーザー定義パーティションキーを使用する場合、スキーマの検証がさらに重要になります。パーティションキーを使用すると、パーティションキーを指定して、データを Timestream for LiveAnalytics に保存する方法を決定できます。カスタムパーティションキーを使用してスキーマに照らして受信データを検証することで、データ整合性を適用し、エラーを早期に検出し、Timestream for LiveAnalytics に保存されているデータの全体的な品質を向上させることができます。

カスタム複合パーティションキーを使用した Timestream for LiveAnalytics スキーマ検証を使用する方法

カスタム複合パーティションキーを使用した Timestream for LiveAnalytics スキーマ検証を使用するには、次の手順に従います。

クエリパターンがどのようになるかを考える: Timestream for LiveAnalytics テーブルのスキーマを適切に選択して定義するには、クエリの要件から始める必要があります。

カスタム複合パーティションキーを指定する: テーブルを作成するときに、カスタムパーティションキーを指定します。このキーは、テーブルデータのパーティショニングに使用される属性を決定します。パーティショニングのディメンションキーとメジャーキーを選択できます。ディメンションキーはディメンション名に基づいてデータをパーティショニングし、メジャーキーはメジャー名に基づいてデータをパーティショニングします。

適用レベルを設定する: 適切なデータパーティショニングとそれに伴う利点を確保するために、Amazon Timestream for LiveAnalytics では、スキーマ内のパーティションキーごとに適用レベルを設定できます。適用レベルは、レコードを取り込むときにパーティションキーディメンションが必要かオプションかを決定します。2 つのオプションから選択できます。REQUIRED は、取り込まれたレコードにパーティションキーが存在する必要があることを意味します。OPTIONAL は、パーティションキーが存在する必要がないことを意味します。ユーザー定義のパーティションを使用する場合は、データが適切にパーティショニングされ、この機能を最大限に活用できるように、REQUIRED 適用レベルを使用することをお勧めします。さらに、スキーマの作成後はいつでも適用レベルの設定を変更して、データインジェスト要件に合わせて調整できます。

データを取り込む: Timestream for LiveAnalytics テーブルにデータを取り込む場合、スキーマ検証プロセスでは、カスタム複合パーティションキーを使用して定義されたスキーマとレコードをチェックします。レコードがスキーマに準拠していない場合、Timestream for LiveAnalytics は検証エラーを返します。

検証エラーを処理する: 検証エラーの場合、Timestream for LiveAnalytics はエラーのタイプに応じて ValidationException または RejectedRecordsException を返します。アプリケーションでこれらの例外を処理し、誤ったレコードの修正や取り込みの再試行など、適切なアクションを実行します。

適用レベルを更新する: 必要に応じて、UpdateTable アクションを使用して、テーブルの作成後にパーティションキーの適用レベルを更新できます。ただし、名前やタイプなど、パーティションキー設定の一部の側面は、テーブル作成後に変更できないことに注意してください。適用レベルを REQUIRED から OPTIONAL に変更すると、ユーザー定義のパーティションキーとして選択された属性の有無にかかわらず、すべてのレコードが受け入れられます。逆に、適用レベルを OPTIONAL から REQUIRED に変更すると、この条件を満たさないレコードに対して 4xx 書き込みエラーが表示されることがあります。したがって、データのパーティショニング要件に基づいてテーブルを作成するときは、ユースケースに適した適用レベルを選択することが重要です。

カスタム複合パーティションキーを使用した Timestream for LiveAnalytics スキーマ検証を使用する状況

データ整合性、品質、および最適化されたパーティショニングが重要なシナリオでは、カスタム複合パーティションキーを使用した Timestream for LiveAnalytics スキーマ検証を使用する必要があります。データインジェスト中にスキーマを適用することで、誤った分析や貴重なインサイトの損失につながる可能性のあるエラーや不整合を防ぐことができます。

バッチロードジョブとのやり取り

ユーザー定義パーティションキーを使用してテーブルにデータをインポートするようにバッチロードジョブを設定する場合、プロセスに影響を与える可能性のあるシナリオがいくつかあります。

  1. 適用レベルが OPTIONAL に設定されている場合、ジョブ設定中にパーティションキーがマッピングされていないと、作成フロー中にコンソールにアラートが表示されます。API または CLI を使用する場合、このアラートは表示されません。

  2. 適用レベルが REQUIRED に設定されている場合、パーティションキーがソースデータ列にマッピングされない限り、ジョブの作成は拒否されます。

  3. ジョブの作成後に適用レベルが REQUIRED に変更された場合、ジョブは引き続き実行されますが、パーティションキーに適切なマッピングがないレコードは 4xx エラーで拒否されます。

スケジュールされたクエリとのやり取り

集計やロールアップといった形式の前処理されたデータを、ユーザー定義パーティションキーを持つテーブルに計算して保存するためのスケジュールされたクエリジョブを設定する場合、プロセスに影響を与える可能性のあるシナリオがいくつかあります。

  1. 適用レベルが OPTIONAL に設定されている場合、ジョブ設定中にパーティションキーがマッピングされていないとアラートが表示されます。API または CLI を使用する場合、このアラートは表示されません。

  2. 適用レベルが REQUIRED に設定されている場合、パーティションキーがソースデータ列にマッピングされない限り、ジョブの作成は拒否されます。

  3. ジョブの作成後に適用レベルが REQUIRED に変更され、スケジュールされたクエリ結果にパーティションキーディメンションが含まれていない場合、ジョブの次の反復はすべて失敗します。