【学習メモ】AWS Elasti Cache

Elasti Cacheはフルマーネジドのインメモリデータベースサービスである。
ストレージにメモリを使用することで、高速で安定したアクセスが可能で、主にデータベースクエリをキャッシュすることでアプリケーションのパフォーマンスを向上させるために使用される。


Elasti Cacheは2つのデータベースエンジンがある。

Memcached

データの永続保持やレプリケーション機能はないのでシンプルなキャッシュに向いている。
MultiAZ非対応。

Redis

高パフォーマンス、高可用性、機密を提供する。
自動フェイルオーバー機能やバックアップ、リストア、データの暗号化も可能である。
MultiAZ対応。
プライマリノードがダウンした際はレプリカノードがプライマリノードに昇格する。
またデータのバックアップとしてスナップショットをS3へ保存することでリストア、バックアップも可能である。

データの暗号化やSSL/TLSのよる通信の暗号化も可能である。さらにクライアントの認証をパスワード認証にするRedis認証の機能もある。

Elasti Cacheのキャッシュ戦略は以下の2つである。


ライトスルー戦略

データベースへの書き込み、更新が行われるたびにキャッシュにも書き込む。
この戦略はキャッシュの情報が常に最新化されるため、データ整合性が保たれる。
一方で書き込み性能が低下する恐れがあることや、アクセスされないデータが蓄積されるというデメリットがある。

遅延読み込み戦略

データベースへの書き込みを優先し、必要なデータのみキャッシュする。
アプリケーションがデータを要求した際はまずキャッシュを確認し、キャッシュに該当のデータがなければデータベースを参照する。そしてそのデータをキャッシュに書き込む。
要求されたデータのみをキャッシュするためリソースを効率よく活用できる一方で、データの不整合が一時発生する恐れがある。またキャッシュからデータを取得できなかった場合はデータ取得に時間がかかる場合がある。



いいなと思ったら応援しよう!