
目次
この記事はElastiCacheについて、ダーシーが知り得た情報をまとめたものです。
ElastiCacheとは?
完全マネージド型の(ディスクを利用しない)インメモリDBです。
インメモリDBとは、ディスクを利用せず、メモリ内でデータの読み書きをすることでDB処理を高速化を実現するDBのことです。
ElastiCacheはどんなとき利用するいいのか(ユースケース)
- ランキングやレコメンデーション(購買履歴表示)の実装をするとき
- RDSのリードレプリカを利用して、読み込み速度は速くしたはいいが、もっとレスポンスを速くしたい場合。
- リードレプリカより速く動作する
- DBの書き込み速度もより速くしたい場合
- オートスケーリング時にクレジットカード課金をセッション維持をしたい場合
- スティッキーセッション以外で管理したい場合
- ユーザー行動データの高速な処理をしたい場合
ElastiCacheのユースケース
ElastiCacheの種類
ElastiCacheには以下のタイプが存在します。それぞれの特徴があり、それに合わせた使い方が必要になってきます。
- Redis
- Memcached
両者の違い(比較)
その種類によって、デプロイ、運用、および拡張を容易することができます。
このサービスは、低速のディスクベースのデータベースに完全に依存するのではなく、
高速の管理されたインメモリデータストアから情報を取得できるようにすることで、WebアプリケーションのDBパフォーマンスを向上させます。
構成図のどの位置に置かれることが多い?
RDSやDynamoDBの前に配置されることが多い。
ElastiCachで何ができる?
ElastiCacheを利用すると、セッションと頻繁なDBクエリを保存して、WEBページの読み取り時間を短縮が可能になります。
どのような仕組みで動くのか(概要)
どのようなデータフローになる?
どのようなデータがどのに読み込まれる?書き込まれる?
ElastiCach特徴
- インメモリDB型のDBである(ディスクを利用しない、メモリ上で動作)
- キーバリューストアの高性能データベースである
- 種類にMemcached、Redis、が存在する
- キャッシュデータにミリ秒以下で高速のデータ処理を可能
- 行動データ記録などに応じたリアルタイムのランキング処理やアイテム出現などを実現することが可能
- NoSQL型のデータベースである
- リレーショナルデータベースとしてSQLを利用することはできない
- コンテンツ配信用のキャッシュ処理には向かない
ElastiCach - ネットワーク構成図
MemcachedとRedisの使い分け
どいういう場合にどちらを利用するのがベストか?なぜか?
ElastiCach - テスト
利用するツール
- クライアントに配置するツール
- Chromeブラウザ
- WEBサーバに配置するツール
ElastiCach - 監視
監視項目はどのようのものがある?
ElastiCach - 料金
参考サイト
Memcachedとは
Redis
MemcachedとRedisの違いとは?
リードレプリカとの違いは?
- ElastiCacheの方が高価である