■ElastiCache の特徴
- 完全マネジメント型の Redis(レディス)および Memcached を利用したインメモリ DB です。
- キーバリューストアのデータベースです。
- インメモリデータストアまたはキャッシュをデプロイ、操作、およびスケーリングできるようにするサービスです。
- 低速のディスクベースのデータベースに依存せず、高速のメモリ内データストアから情報を取得して Web アプリケーションのパフォーマンスを向上させます。
- アプリケーションの応答時間が最適になるように、最も頻繁にアクセスされるデータをキャッシュとしてインメモリ DB で処理することで、高速な応答性能を実現します。
キーバリューストア(KVS、Key-Value Store)
- キー(Key)とバリュー(Value、値)を組み合わせる単純なデータストアです。
- キー(Key)を指定すると、バリュー(Value)が返ってきくだけなので高速に処理することができます。
Memcached の特徴
データの更新ではなくデータの管理など単純な処理を高速化する際は Redis ではなく、Memcached の方が運用が容易です。
- オープンソースのインメモリデータストアです。
- シンプルなデータ型を利用します。
- 複数のコアまたはスレッドを持つ大きなノードを実行します。
- システムでの需要の増減に応じてノードを追加または削除するスケールアウトおよびスケールイン機能があります。
- データベースなどのオブジェクトをキャッシュします。
- キーストアに永続性がありません。
- スナップショット(バックアップと復元)の機能がありません。
- 複数のデータベースを利用できません。
- マルチスレッドです。
Redis の特徴
リアルタイムでデータを更新するなど複雑な処理が必要な場合は Redis の方がパフォーマンスを発揮します。
- オープンソースのインメモリデータストアです。
- スナップショット機能があります。
- Pub/Sub機能を提供します。
- シングルスレッドで動作します。
- 全てのデータ操作は排他的です。
- 自動復元機能があります。
- キーストアの永続性が必要です。
- 複数のデータベースを利用できます。
- Redisレプリケーションを有効化して、高可用クラスター構成にできます。
どっちを利用する方がいいのか?
Web サーバの読み取りの場合
Webサーバの読み取りはシンプルなので ElastiCache Memcached の方が向いていると言えます。
コメント