見出し画像

AWSソリューションアーキテクト取得に向けて~ElastiCache~

AWS ソリューションアーキテクト アソシエイト取得に向けて学習した内容を備忘的に記載します。

今回はElastiCache。

ElastiCacheとは

分散インメモリキャッシュサービスの構築・管理及びスケーリングを容易に実施することができるサービス

■キャッシュクラスタを数クリックで起動
■フルマネージド型でモニタリング、児童障害検出、復旧、拡張、パッチ適用、バックアップに対応し高可用性を実現
■広く利用されている2種類のエンジンmemcached、redisから選択可能

Redis

■高速に値を読み書きできるインメモリキャッシュ型DB
■シングルスレッドで動作するインメモリキャッシュDBで全てのデータ操作は排他的
■スナップショット機能有り
■データを永続化可能
■複雑なデータ型が必要
■インメモリデータセットをソートまたはランク付けする必要あり
■読み込み処理の負荷に対して、リードレプリカにレプリケートする必要有り
■pub/sub機能が必要
■自動的なフェイルオーバーが必要
■キーストアの永続性が必要
■バックアップと復元の機能が必要
■複数のデータベースをサポートする必要有り

Luaスクリプト
 移植性が高く、高速な実行速度などの特徴をもっているスクリプト言語

位置情報クエリ
 経度、緯度などの位置情報をクエリ処理することが可能
 検索距離や検索範囲の指定可能

pub/subモデルの利用
 イベントを起こす側とイベント処理を行う側を分離するモデル
 メッセージ処理やイベント処理で活用

Memcached

■高速に値を読み書きできるインメモリキャッシュ型DB
■マルチスレッドで動作するインメモリキャッシュDBで全てのデータ操作は排他的
■スナップショット機能無し
■データを永続化不可
■フェイルオーバーや復元ができない
■シンプルなデータ型が必要
■複数のコアまたはスレッドを持つ大きなノードを実行する必要有り
■システムでの需要の増減に応じてノードを追加または削除するスケールアウトおよびスケールイン機能が必要
■キーストアの永続性は不要
■バックアップと復元の機能が必要でない
■複数のデータベースを利用不可

ユースケース

 データアクセスを高速にしたいケースがあればキャッシュの活用を検討する

■セッション管理
■IOT処理とストリーム分析
■メタデータ蓄積
■ソーシャルメディアのデータ処理/分析
■Pub/Sub処理
■DBキャッシュ処理

 アプリケーションでデータの即時反映が必要なケースなどに活用する

■ユーザーのマッチング処理
■レコメンデーションの結果処理
■画像データの高速表示
■ゲームイベント終了時のランキング表示


この記事が気に入ったらサポートをしてみませんか?