Memcached와 Redis 비교 - Amazon ElastiCache for Redis

Memcached와 Redis 비교

Amazon ElastiCache는 Memcached 및 Redis 캐시 엔진을 지원합니다. 각 엔진에는 몇 가지 장점이 있습니다. 이 항목의 정보를 활용하면 요구 사항에 가장 잘 맞는 엔진과 버전을 선택하는 데 도움이 됩니다.

중요

캐시 클러스터 또는 복제 그룹을 생성한 후에는 최신 엔진 버전으로 업그레이드할 수 있지만, 이전 엔진 버전으로 다운그레이드할 수는 없습니다. 이전 엔진 버전을 사용하려면 기존 캐시 클러스터 또는 복제 그룹을 삭제하고 이전 엔진 버전을 통해 다시 생성해야 합니다.

표면적으로는 엔진이 유사하게 보입니다. 각 엔진은 인 메모리 키-값 저장소입니다. 그러나 실제로 상당한 차이점이 있습니다.

다음과 같은 경우 Memcached를 선택합니다.
  • 가능한 가장 단순한 모델이 필요한 경우

  • 여러 코어 또는 스레드가 있는 큰 노드를 실행해야 하는 경우

  • 시스템의 요구 사항이 증가하고 감소함에 따라 노드를 추가 및 제거하는 확장 및 축소 기능이 필요한 경우

  • 객체를 캐시에 저장해야 하는 경우

다음과 같은 경우 ElastiCache for Redis 버전이 있는 Redis를 선택합니다.
  • ElastiCache for Redis 버전 6.2(향상된 버전)

    r6gd 노드 유형을 사용하여 메모리와 SSD 간에 데이터를 계층화할 수 있어야 합니다. 자세한 내용은 데이터 암호화를 참조하세요.

  • ElastiCache for Redis 버전 6.0(향상된 버전)

    역할 기반 액세스 제어로 사용자를 인증하려는 경우

    자세한 내용은 Redis 버전 6.0(향상된 버전)을 참조하세요.

  • ElastiCache for Redis 버전 5.0.0(확장)

    생산자가 실시간으로 새 항목을 추가하고 소비자가 차단 또는 비 차단 방식으로 메시지를 사용할 수 있도록 지원하는 로그 데이터 구조인 Redis 스트림을 사용할 수 있습니다.

    자세한 내용은 Redis 버전 5.0.0(확장)을 참조하세요.

  • ElastiCache for Redis 버전 4.0.10(확장)

    암호화 및 Redis(클러스터 모드 활성화됨) 클러스터에서 샤드의 동적인 추가 또는 제거를 지원합니다.

    자세한 내용은 Redis 버전 4.0.10(확장)을 참조하세요.

  • ElastiCache for Redis 버전 3.2.10(확장)

    Redis(클러스터 모드 활성화됨) 클러스터에서 샤드를 동적으로 추가 또는 제거하는 기능을 지원합니다.

    중요

    현재 ElastiCache for Redis 3.2.10에서는 암호화가 지원되지 않습니다.

    자세한 내용은 다음 자료를 참조하세요.

  • ElastiCache for Redis 버전 3.2.6(확장)

    다음 기능 이외에 이전 Redis 버전의 기능이 필요하면 ElastiCache for Redis 3.2.6을 선택합니다.

  • ElastiCache for Redis(클러스터 모드 활성화됨) 버전 3.2.4

    다음 기능 이외에 Redis 2.8.x의 기능이 필요하면 Redis 3.2.4(클러스터 모드)를 선택합니다.

    • 2~500개의 노드 그룹으로 데이터를 분할해야 하는 경우(클러스터 모드에만 해당)

    • 지역 검색 인덱싱이 필요한 경우(클러스터 모드 또는 비클러스터 모드)

    • 여러 데이터베이스를 지원할 필요가 없는 경우

  • ElastiCache for Redis(비클러스터 모드) 2.8.x 및 3.2.4 (확장)

    다음과 같은 경우 Redis 2.8.x 또는 Redis 3.2.4(비클러스터 모드)를 선택합니다.

    • 문자열, 해시, 목록, 세트, 정렬된 세트 및 비트맵과 같은 복잡한 데이터 유형이 필요한 경우

    • 인 메모리 데이터 세트를 정렬하거나 순위를 지정해야 하는 경우

    • 키 저장소의 지속성을 원할 경우

    • 읽기 집약적 애플리케이션을 위해 기본 항목에서 하나 이상의 읽기 전용 복제본으로 데이터를 복제해야 하는 경우

    • 기본 노드가 실패할 때 자동 장애 조치가 필요한 경우

    • 서버에 대한 이벤트를 클라이언트에 알리기 위해 게시 및 구독(게시/구독) 기능이 필요합니다.

    • 백업 및 복원 기능이 필요한 경우

    • 여러 데이터베이스를 지원해야 하는 경우

Memcached, Redis(클러스터 모드 비활성화됨) 및 Redis(클러스터 모드 활성화됨) 비교 요약
Memcached Redis(클러스터 모드 비활성화됨) Redis(클러스터 모드 활성화됨)
Engine versions 1.6.6 2.8.x and later 3.2.x and later
Data types Simple ‡ 2.8.x - Complex * 3.2.x and later - Complex †
Complex †
Data partitioning Yes No Yes
Cluster is modifiable Yes Yes 3.2.10 and later - Limited
Online resharding No No 3.2.10 and later
Encryption in-transit 1.6.12 and later 3.2.6, 4.0.10 and later 3.2.6, 4.0.10 and later
Data tiering No 6.2 and later 6.2 and later
규정 준수 인증
Compliance Certification

    FedRAMP

    HIPAA

    PCI DSS

 

아니요

 

3.2.6, 4.0.10 및 이상

3.2.6, 4.0.10 및 이상

3.2.6, 4.0.10 및 이상

 

3.2.6, 4.0.10 및 이상

3.2.6, 4.0.10 및 이상

3.2.6, 4.0.10 및 이상

Multi-threaded Yes No No
Node type upgrade No Yes Yes
Engine upgrading Yes Yes Yes
High availability (replication) No Yes Yes
Automatic failover No Optional Required
Pub/Sub capabilities No Yes Yes
Sorted sets No Yes Yes
Backup and restore No Yes Yes
Geospatial indexing No 2.8.x - No Yes
3.2.x and later - Yes
참고:
‡ string, objects (like databases)
* string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog
† string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog, geospatial indexes

클러스터에 대한 엔진을 선택한 후 해당 엔진의 최신 버전을 사용하는 것이 좋습니다. 자세한 내용은 지원되는 ElastiCache for Memcached 버전 또는 지원되는 ElastiCache for Redis 버전을 참조하세요.