その他のトピック
Hive を使用して DynamoDB にアクセスするアプリケーションを調整するための、他の方法を以下に示します。
再試行の期間
デフォルトでは、2 分以内に DynamoDB からの結果が返されない場合、Hive は Hadoop ジョブを再実行します。この間隔は、以下のように dynamodb.retry.duration
パラメータを変更することで調整できます。
SET dynamodb.retry.duration=2;
この値は、再試行間隔 (分) を表す 0 以外の整数である必要があります。dynamodb.retry.duration
のデフォルトは 2 (分) です。
並列データリクエスト
複数のユーザーまたは複数のアプリケーションから、単一のテーブルに複数のデータリクエストが行われると、プロビジョニング済み読み込みスループットの枯渇につながり、パフォーマンス速度を低下させることがあります。
処理間隔
DynamoDB におけるデータの整合性は、各ノードで実行される読み込み/書き込みオペレーションの順序に影響を受けます。Hive クエリの進行中に、別のアプリケーションが DynamoDB テーブルに新しいデータをロードしたり、既存のデータの変更や削除を行ったりする場合があります。この場合、クエリの実行中にデータに対して行われた変更は Hive クエリの結果に反映されないことがあります。
[Request time] (リクエストタイム)
DynamoDB テーブルの需要が低いタイミングでテーブルにアクセスするように、Hive クエリをスケジューリングすると、パフォーマンスを向上させられます。例えば、アプリケーションのほとんどのユーザーがサンフランシスコに在住の場合、大部分のユーザーが就寝して DynamoDB データベースのレコードを更新することがない午前 4 時 (PST) に、毎日のデータエクスポートを行います。