パフォーマンス最適化比較問題
Amazon ElastiCacheの「Memcached」と「Redis」の違いとして、正しいものはどれですか?
A.Memcachedはマルチスレッドアーキテクチャをサポートし、複数CPUコアを活用できるが、Redisはシングルスレッドで動作するため、マルチコアCPUの恩恵を受けにくい← 正解
✓ 正解です。MemcachedはマルチスレッドでCPUコアを活用でき、Redisはシングルスレッドで動作します。これはスケーラビリティ戦略の主要な違いの一つです。
B.RedisはMemcachedと異なり、データのディスクへの永続化(スナップショット・AOF)をサポートしておらず、再起動後にデータは失われる
✗ Redisはスナップショット(RDB)とAOF(Append Only File)の2種類の永続化方式をサポートしており、再起動後もデータを保持できます。
C.Memcachedはレプリケーションとフェイルオーバーをネイティブにサポートしており、高可用性構成が容易だが、Redisはシングルノード構成のみをサポートする
✗ 逆の説明です。Redisがレプリケーション・フェイルオーバー・クラスタリングをサポートし、Memcachedはシンプルなマルチノードによる水平スケールのみです。
D.RedisはMemcachedと異なり、ソート済みセットやリストなどの複雑なデータ構造を扱えるが、単純な文字列キャッシュにはMemcachedの方が適している場合がある
✗ Redisが複雑なデータ構造を扱える点は正しいですが、Memcachedの比較優位の説明が不正確です。単純なキャッシュ用途ではMemcachedが有効な場面もあります。