🚽

[AWS]ElastiCacheとは?

2021/10/11に公開約1,000字

超高速な2つのエンジン(memcachedとRedis)を提供している、マネージド型インメモリキャッシュサービスです
公式サイトには「ミリ秒未満の応答時間が必要な最も要求の厳しいアプリケーション向け」との記載があるのでかなり高速です

インメモリ型とキャッシュ

インメモリ型DB

  • データーをメモリ上で動作させることで、ディスク上で動作させるよりも大幅に高速に処理できる

キャッシュ

  • 1度アクセスしたデータを保存して、アクセス時に高速アクセスできるようにする仕組み
  • 画像データなどを取得するのに時間がかかる場合に使用する


※AWSでは他にcloudfrontなどで使われている

インメモリキャッシュとは

メモリを活用して高速にキャッシュへのアクセスを可能にしたデータベースの仕組み
ElasticCacheは上記で説明したメモリ + キャッシュのデータベースになっている

ElasticCache概要

  • 分散メモリキャッシュサービスの構築・管理及びスケーリングを容易に実施することができるサービス
  • キャッシュクラスタを即時に起動
  • フルマネージド型。モニタリング、復旧、パッチ、バックアップ、拡張
  • 2種類のエンジンから選択可能
      - memcached
      - redis

redis

  • シングルスレッド、データ操作は排他的
  • スナップショット機能がある
  • データを永続化できる
  • 位置情報クエリ
  • pub/subモデルの利用

memcached

  • マルチスレッドで動作する
  • スナップショット機能がない
  • データの永続化できない

シンプルに利用する場合はmemcached、それ以外はredis

ElasticCacheの採用ユースケース

  • ストリーム分析
  • pub/sub処理
  • dbキャッシュ
  • ユーザーのマッチング処理
  • 画像で他の高速表示
  • ゲームイベント終了時のランキング表示

pub/sub機能を利用してチャットアプリの作成もできる

Discussion

ログインするとコメントできます