0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【ElastiCache】ElastiCacheとは

Posted at

ElastiCacheとは

インメモリキャッシュデータベースのマネージドサービス

  • KVS型で、キャッシュとしての利用に適する
  • 書き込み・読み込みが高速である
  • トランザクション機能は無く、完全性を求められるデータの保存には適さない
  • 利用可能なデータ容量に制限がある
  • アプリケーションが高速なI/Oを必要とする処理を行う場合、一時的にElastiCacheにデータを格納し処理を行うことでパフォーマンスの向上が可能

ユースケース

  • セッション管理
  • IoT処理とストリーム分析
  • メタデータの蓄積
  • pub/sub処理 ※
  • DBキャッシュ処理
  • ソーシャルメディアのデータ処理・分析   など

pub/sub処理
「イベントを起こす側」と「イベント処理を行う側」を分離するpub/subモデルを活用した処理
(例)メッセージ処理、チャットアプリ

ElastiCacheのエンジン

1. Memcached用ElastiCache:扱うデータ型・暗号化・高可用性構成・コンプライアンスなどへの対応が不要なシンプルな利用に適する

2. Redis用ElastiCache:複雑なデータ型・暗号化・高可用性構成・コンプライアンスへの対応がサポートされているミッションクリティカルな業務用途に適する

Memcached用ElastiCache Redis用ElastiCache
データ型 シンプル 複雑
暗号化 なし あり
保管時・通信時をそれぞれ設定可
コンプライアンス認証
(FesRAMP/HIPAA/PCIDSS)
なし あり
マルチスレッド あり なし
高可用性(レプリケーション) なし あり
自動フェイルオーバー なし 必須
スナップショット機能 なし あり
バックアップと復元 なし あり
バックアップ保持期間はデフォルト1日
pub/sub機能 なし あり

データ書き込み方式

遅延読み込み

データ読み込み時にキャッシュを参照し、ヒットしなかった場合にデータソースから必要なデータを取得してキャッシュに書き込む方式

メリット
・リクエストされたデータのみをキャッシュするため、データ使用量が比較的少ない
・障害発生時にノードが空になった場合、レイテンシーは高くなるがシステムを継続して使用可能

デメリット
・キャッシュミス時のレイテンシーが高い
・キャッシュヒット時にはキャッシュデータを更新しないため、キャッシュデータが古い可能性がある

書き込みスルー

データ書き込み時にキャッシュにも書き込みを行い、データは全てキャッシュから読み込む方式

メリット
・キャッシュのデータが常に最新となっている
・読み込み時のキャッシュミスが発生しない

デメリット
・障害発生時にノードが空になった場合、データの読み込みが行えない
・データソースへの書き込み後、キャッシュへの書き込みに失敗した場合にデータが欠落する
・メモリの使用量が多い

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?