今日はなにの日。

気になったこと勉強になったことのメモ。

今日は、DynamoDBのDAXについての日。

目次

とある日

AWS の勉強用の記録。

よく問題集とかで出る項目だけを調べてまとめるだけ。

Amazon DynamoDB Accelerator (DAX) | AWS

Amazon DynamoDB Accelerator (DAX) は、フルマネージド型高可用性インメモリキャッシュで、Amazon DynamoDB 用に特化しています。1 秒あたりのリクエスト数が数百万件になる場合でも、ミリセカンドからマイクロセカンドへの最大 10 倍のパフォーマンス向上を実現します。

DynamoDB Accelerator (DAX) とインメモリアクセラレーション - Amazon DynamoDB

Amazon DynamoDB はスケールとパフォーマンスのために設計されています。ほとんどの場合、DynamoDB の応答時間は 1 桁台のミリ秒単位で測定できます。ただし、マイクロ秒の応答時間を必要とする一部のユースケースがあります。これらのユースケースでは DynamoDB Accelerator (DAX) が整合性データへのアクセス時に素早い対応を実現します。

VPC

Amazon DynamoDB Accelerator (DAX) は、Amazon Virtual Private Cloud (Amazon VPC) 環境内で実行するように設計されています。Amazon VPC サービスは、従来のデータセンターに非常によく似た仮想ネットワークを定義します。VPC を使用すると、IP アドレス範囲、サブネット、ルーティングテーブル、ネットワークゲートウェイ、セキュリティ設定を適切に制御できます。仮想ネットワーク内で DAX クラスターを起動し、Amazon VPC のセキュリティグループを使用して、クラスターへのアクセスを制御できます。

DAXユースケース

DAX は、マイクロ秒のレイテンシーで DynamoDB テーブルからの結果整合性データへのアクセスを提供します。マルチ AZ DAX クラスターは、1 秒間に数百万件のリクエストを処理できます。

最適

  • 可能な限り迅速な読み込み応答時間を必要とするアプリケーション。たとえば、リアルタイム入札、ソーシャルゲーム、トレーディングアプリケーションなどです。DAX はこれらのユースケースに対して、高速なインメモリ読み取りパフォーマンスを提供します。
  • 少数の項目を他のものよりも頻繁に読み込むアプリケーション。たとえば、人気商品の 1 日限りのセールを行う e コマースシステムを考えてみます。セール中は、その商品 (および DynamoDB 内のそのデータ) に対する需要が他の商品全般に比べて急増します。「ホット」キーおよび不均一なトラフィックディストリビューションの影響を緩和するために、1 日限りのセールが終了するまで、読み込みアクティビティを DAX キャッシュにオフロードできます。
  • 読み込み負荷が高いが、コストも重要なアプリケーション。DynamoDB を使用する場合、アプリケーションが要求する読み込み数を 1 秒ごとにプロビジョニングします。読み込みアクティビティが上昇すれば、テーブルにプロビジョニングされた読み込みスループットも増加し (追加コストがかかり) ます。または、アプリケーションからのアクティビティを DAX クラスターにオフロードして、そうしない場合に購入する必要がある読み込みキャパシティーユニットの数を削減できます。
  • 大規模データセットに対して繰り返し読み込みが必要なアプリケーション。このようなアプリケーションは、データベースリソースを他のアプリケーションから引き離してしまう可能性があります。たとえば、リージョンの天気データの長期分析では、DynamoDB テーブルのすべての読み込みキャパシティーが一時的に消費される可能性があります。この状況は、同じデータにアクセスする必要がある他のアプリケーションに悪影響を及ぼします。DAX を使用することで、代わりにキャッシュデータに対して気象分析を実行できます。

最適ではない

  • 強整合性のある読み込みを必要とする (または結果整合性のある読み込みを許容できない) アプリケーション。
  • 読み込みでマイクロ秒の応答時間を要求しない、または基礎となるテーブルから繰り返される読み込みアクティビティをオフロードする必要がないアプリケーション。
  • 書き込み負荷が高い、またはそれほど多くの読み込みアクティビティを実行しないアプリケーション。
  • DynamoDB ですでに別のキャッシングソリューションを使用しており、そのキャッシングソリューションと連携するために独自のクライアント側ロジックを使用しているアプリケーション。

キーワード

  • VPC内に作成
  • インメモリー
  • 結果整合性データ
  • 1 桁台のミリ秒単位のレスポンス

使ったことないのでVPC内に作れられるの知らなかった。