

# その他のトピック
<a name="EMRforDynamoDB.PerformanceTuning.Misc"></a>

Hive を使用して DynamoDB にアクセスするアプリケーションを調整するための、他の方法を以下に示します。

## 再試行の期間
<a name="EMRforDynamoDB.PerformanceTuning.Misc.RetryDuration"></a>

デフォルトでは、2 分以内に DynamoDB からの結果が返されない場合、Hive は Hadoop ジョブを再実行します。この間隔は、以下のように `dynamodb.retry.duration` パラメータを変更することで調整できます。

```
1. SET dynamodb.retry.duration=2;
```

この値は、再試行間隔 (分) を表す 0 以外の整数である必要があります。`dynamodb.retry.duration` のデフォルトは 2 (分) です。

## 並列データリクエスト
<a name="EMRforDynamoDB.PerformanceTuning.Misc.ParallelDataRequests"></a>

複数のユーザーまたは複数のアプリケーションから、単一のテーブルに複数のデータリクエストが行われると、プロビジョニング済み読み込みスループットの枯渇につながり、パフォーマンス速度を低下させることがあります。

## 処理間隔
<a name="EMRforDynamoDB.PerformanceTuning.Misc.ProcessDuration"></a>

DynamoDB におけるデータの整合性は、各ノードで実行される読み込み/書き込みオペレーションの順序に影響を受けます。Hive クエリの進行中に、別のアプリケーションが DynamoDB テーブルに新しいデータをロードしたり、既存のデータの変更や削除を行ったりする場合があります。この場合、クエリの実行中にデータに対して行われた変更は Hive クエリの結果に反映されないことがあります。

## [Request time] (リクエストタイム)
<a name="EMRforDynamoDB.PerformanceTuning.Misc.RequestTime"></a>

DynamoDB テーブルの需要が低いタイミングでテーブルにアクセスするように、Hive クエリをスケジューリングすると、パフォーマンスを向上させられます。例えば、アプリケーションのほとんどのユーザーがサンフランシスコに在住の場合、大部分のユーザーが就寝して DynamoDB データベースのレコードを更新することがない午前 4 時 (PST) に、毎日のデータエクスポートを行います。

