勉強前イメージ
名前からして、DynamoDBを高速化するようなやつのイメージ
調査
そもそも DynamoDBとは?
フルマネージド型のNoSQLデータベースクラウドサービスで非定型な構造を持つデータを柔軟に管理することができます。
詳細は こちら をご確認ください
Amazon DynamoDB Accelerator(DAX)とは?
DynamoDBと互換性のあるフルマネージド型のインメモリキャッシュサービスになります。
レスポンスをミリ秒単位からマイクロ秒単位まで高速化することが出来ます。
また、既存のDynamoDBのAPIと互換性があるため、すでにDynamoDBを使用していても簡単に移行することが出来ます。
特徴
- パフォーマンス
ミリ秒からマイクロ秒へパフォーマンスをあげ、高速化することが出来ます。
- 移行の負荷の低減
API互換性のあるマネージドサービスなので既存のアプリケーションからの移行には最低限の変更のみで済み
移行によってアプリケーションのパフォーマンスを上げることが出来ます。
- セキュア
DAXはIAMを使用することでアクセス制御を行うことが出来ます。
また、cloudwatchで全体の可視化、cloudtrailで変更の記録を行うことが出来ます。
ユースケース
以下の様なアプリケーションには適しています。
- レスポンス時間を最短にしなければ行けない場合
- 読み込みが多いアプリケーション
- 大規模なデータから何度も読み取りを行うアプリケーション
以下のようなアプリケーションには適していない可能性があります
- 一貫性を保つ必要があるアプリケーション
- キャッシュサービスなので、一貫性のある読み込みをするには不向き
- 書き込みが多く、読み込みが少ないアプリケーション
- キャッシュサービスなので、読み込みのパフォーマンスを上げるために使用することが多い
構成
DAXはVPCの中で動作し、ユーザのアプリケーションと接続を行います。
勉強後イメージ
DynamoDB専用のElastiCacheみたいな感じ?
確かにキャッシュだから一貫性をきちんと保つのは難しいかもだけど、高速化するにはいいと思う