キャッシュの恩恵を受けるワークロードを確認する
ポイント操作とクエリは、実行時に要求ユニット (RU/s) を消費します。 読み取り負荷の高いワークロードのシナリオでは、同じポイント読み取りを実行し、同じフィルターを使用してクエリを何度も発行するアプリケーションが見られる可能性があります。 通常は、各操作の正規化された RU コストを乗算し、実行回数によってクエリを実行します。 読み取り負荷がかなり高いワークロードがあると、すぐに高コストに集約される可能性があります。
開発者は、コードでカスタム キャッシュ クライアントを記述する誘惑にかられる可能性がありますが、複数のことを考慮する必要があります。
- まず、カスタム キャッシュを通じてすべての要求をルーティングする必要があります。 キャッシュ コンピューティングを Azure Cosmos DB のスケールに合ったレベルにスケールアウトする責任があります
- 項目の更新または削除時にキャッシュの無効化を処理する必要があります
- 1 つ以上の新しい項目を作成する操作の複雑さを上げる必要もあります
これらのすべての理由から、Azure Cosmos DB の統合メモリ内キャッシュは実用的なソリューションです。 開発者は、キャッシュを自分で実装する複雑さなしに、キャッシュのメリットを利用できます。
Azure Cosmos DB の一部のワークロードでは、統合キャッシュが大きなメリットをもたらします。 これらのワークロードには次のものが含まれますが、これらに限定されるのではありません。
- 書き込み操作よりも読み取り操作とクエリがはるかに多いワークロード
- 大きな個々の項目を複数回読み取るワークロード
- 大量の RU/s でクエリを複数回実行するワークロード
- 読み取り操作とクエリ用の 1 つ以上のホット パーティション キーを持つワークロード
同じポイント読み取りおよびクエリ操作を一貫して実行するワークロードは、統合キャッシュで使用するのに最適です。 統合キャッシュを使用する場合、最初の操作またはクエリでは要求ユニットのみを消費します。 後続の要求は、項目が古くない限り、データがキャッシュから取得された場合に要求ユニットを消費しません。