엔진 버전 - Amazon MemoryDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

엔진 버전

이 섹션에서는 지원되는 Valkey 및 Redis OSS 엔진 버전을 다룹니다.

MemoryDB 버전 7.2.6

2024년 10월 8일에 Valkey 7.2.6이 릴리스되었습니다. Valkey 7.2.6은 이전 버전의 Redis OSS 7.2.5와 유사한 호환성 차이를 보입니다. 다음은 Valkey와 Redis OSS 7.0 및 7.1의 주요 차이점입니다.

  • ZRANK 및 ZREVRANK 명령에 대한 새 WITHSCORE 옵션

  • CLIENT 아니요 -TOUCH 클라이언트가 키의 LRU/LFU에 영향을 주지 않고 명령을 실행할 수 있습니다.

  • 복제를 기반으로 클러스터 모드에서 노드를 논리적으로 그룹화하도록 노드의 샤드 ID를 반환CLUSTERMYSHARDID하는 새 명령입니다.

  • 다양한 데이터 유형에 대한 성능 및 메모리 최적화.

다음은 Valkey 7.2와 Redis OSS 7.1(또는 7.0) 간의 잠재적 동작 변경 사항입니다.

  • 동일한 채널을 구독하는 RESP3 클라이언트PUBLISH를 호출하면 순서가 변경되고 게시된 메시지보다 먼저 응답이 전송됩니다.

  • 스크립트에 대한 클라이언트 측 추적은 이제 EVAL/ 호출자가 선언한 키 대신 스크립트가 읽은 키를 추적합니다FCALL.

  • 동결 시간 샘플링은 명령 실행 중 및 스크립트에서 발생합니다.

  • 차단된 명령이 차단 해제되면 ACL, OOM및 기타와 같은 검사가 재평가됩니다.

  • ACL 오류 오류 메시지 텍스트와 오류 코드가 통합됩니다.

  • 키가 더 이상 존재하지 않을 때 해제되는 차단된 스트림 명령에는 다른 오류 코드(-NOGROUP 대신 또는 -WRONGTYPE)가 있습니다UNBLOCKED.

  • 명령 통계는 명령이 실제로 실행될 때만 차단된 명령에 대해 업데이트됩니다.

  • ACL 사용자의 내부 스토리지는 더 이상 중복 명령 및 범주 규칙을 제거하지 않습니다. 이렇게 하면 이러한 규칙이 ACL SAVE, ACL GETUSER 및 ACL 의 일부로 표시되는 방식이 변경될 수 있습니다LIST.

  • 가능한 SNI 경우 TLS기반 복제를 위해 생성된 모든 클라이언트 연결입니다.

  • XINFO STREAM: 이제 관측 시간 응답 필드는 마지막으로 성공한 상호 작용 대신 마지막으로 시도한 상호 작용을 나타냅니다. 이제 새 활성 시간 응답 필드는 마지막으로 성공한 상호 작용을 나타냅니다.

  • XREADGROUP 및 X[AUTO]CLAIM는 일부 읽기/청구를 수행할 수 있었는지 여부에 관계없이 소비자를 생성합니다. [TBD - 여기서 'it'은 무엇인가요?]

  • ACL ACLLIST/에서 새로 생성된 기본 사용자 세트 sanitize-payload 플래그입니다GETUSER.

  • HELLO 명령은 성공하지 않는 한 클라이언트 상태에 영향을 미치지 않습니다.

  • NAN 응답은 현재 inf 동작과 유사하게 단일 nan 유형으로 정규화됩니다.

Valkey에 대한 자세한 내용은 Valkey를 참조하세요.

Valkey 7.2 릴리스에 대한 자세한 내용은 의 Redis OSS 7.2.4 릴리스 정보(Valkey 7.2에는 Redis에서 버전 7.2.4OSS까지의 모든 변경 사항이 포함됨) 및 Valkey의 Valkey 7.2 릴리스 정보를 참조하세요 GitHub.

MemoryDB 버전 7.1(향상됨)

MemoryDB 버전 7.1은 모든 리전의 벡터 검색 기능과 중요한 버그 수정 및 성능 향상에 대한 지원을 추가합니다.

  • 벡터 검색 기능: 벡터 검색은 기존 MemoryDB 기능과 함께 사용할 수 있습니다. 벡터 검색을 사용하지 않는 애플리케이션은 존재에 영향을 받지 않습니다. 벡터 검색은 모든 리전의 MemoryDB 버전 7.1 이상에서 사용할 수 있습니다. 자세한 내용은 여기의 설명서를 참조하세요.

참고

MemoryDB 버전 7.1은 Redis OSS v7.0과 호환됩니다. Redis OSS 7.0 릴리스에 대한 자세한 내용은 의 Redis에서 Redis OSS 7.0 릴리스 정보를 참조OSS하세요 GitHub.

MemoryDB 버전 7.0(향상됨)

MemoryDB 7.0은 새로운 기능에 대한 다양한 개선 사항과 지원을 추가합니다.

  • 함수 : MemoryDB 7은 함수에 대한 지원을 추가하고 관리형 경험을 제공하여 개발자가 클라이언트가 연결할 때마다 서버에 LUA 스크립트를 다시 보낼 필요 없이 MemoryDB 클러스터에 저장된 애플리케이션 로직으로 스크립트를 실행할 수 있도록 합니다.

  • ACL 개선 사항 : MemoryDB 7은 다음 버전의 액세스 제어 목록()에 대한 지원을 추가합니다ACLs. 이제 MemoryDB OSS Valkey 7 또는 Redis OSS 7을 사용하여 클라이언트는 특정 키 또는 키스페이스에 여러 권한 세트를 지정할 수 있습니다.

  • 샤딩된 Pub/Sub : MemoryDB 7은 실행 Pub/Sub functionality in a sharded way when running MemoryDB in Cluster Mode Enabled (CME). Pub/Sub 기능에 대한 지원을 추가하여 게시자가 채널의 모든 구독자에게 메시지를 발급할 수 있도록 합니다. Amazon MemoryDB Valkey 7 및 Redis OSS 7 채널을 사용하면 MemoryDB 클러스터의 샤드에 바인딩되므로 샤드 간에 채널 정보를 전파할 필요가 없습니다. 그 결과 확장성이 향상됩니다.

  • 향상된 I/O 멀티플렉싱: MemoryDB Valkey 7 및 Redis OSS 버전 7은 향상된 I/O 멀티플렉싱을 도입하여 MemoryDB 클러스터에 대한 많은 동시 클라이언트 연결이 있는 처리량을 늘리고 처리량이 많은 워크로드의 지연 시간을 줄입니다. 예를 들어 r6g.4xlarge 노드 클러스터를 사용하고 5,200개의 동시 클라이언트를 실행하는 경우 MemoryDB 버전 6에 비해 처리량(초당 읽기 및 쓰기 작업)이 최대 46% 증가하고 P99 지연 시간이 최대 21% 감소할 수 있습니다.

Valkey에 대한 자세한 내용은 Valkey를 참조하세요.

Valkey 7.2 릴리스에 대한 자세한 내용은 의 Redis OSS 7.2.4 릴리스 정보(Valkey 7.2에는 Redis에서 버전 7.2.4OSS까지의 모든 변경 사항이 포함됨) 및 Valkey의 Valkey 7.2 릴리스 정보를 참조하세요 GitHub.

MemoryDB와 Redis OSS 버전 6.2(향상됨)

MemoryDB는 , 자동 버전 업그레이드 지원액세스 제어 목록을 사용하여 사용자 인증(ACLs), 클라이언트 측 캐싱 및 상당한 운영 개선 사항을 포함하는 다음 버전의 Redis OSS 엔진을 도입합니다.

또한 Redis 엔진 버전 6.2.6은 Redis OSS 클러스터 내에서 복잡한 데이터 세트를 인코딩하는 간단하고 스키마 없는 방법인 네이티브 JavaScript 객체 표기법(JSON) 형식에 대한 지원을 도입했습니다. JSON 지원을 통해 에서 작동하는 애플리케이션의 성능 및 RedisOSSAPIs를 활용할 수 있습니다JSON. 자세한 내용은 시작하기 JSON 단원을 참조하십시오. 또한 이 데이터 유형의 사용을 모니터링 CloudWatch 하기 위해 에 통합JsonBasedCmds되는 JSON관련 지표도 포함되어 있습니다. 자세한 내용은 MemoryDB에 대한 지표 단원을 참조하십시오.

Redis OSS 6에서는 MemoryDB가 여러 패치 버전을 제공하는 대신 각 Redis OSS 마이너 릴리스에 대해 단일 버전을 제공합니다. 이는 여러 마이너 버전 중에서 선택해야 하는 혼동과 모호성을 최소화하도록 설계되었습니다. 또한 MemoryDB는 실행 중인 클러스터의 마이너 및 패치 버전을 자동으로 관리하여 개선된 성능과 향상된 보안을 보장합니다. 이러한 관리는 서비스 업데이트 캠페인을 사용하는 표준 고객 알림 채널을 통해 처리됩니다. 자세한 내용은 MemoryDB의 서비스 업데이트 단원을 참조하십시오.

생성 중에 엔진 버전을 지정하지 않으면 MemoryDB가 자동으로 선호하는 Redis OSS 버전을 선택합니다. 반면 를 사용하여 엔진 버전을 지정하면 6.2 MemoryDB는 사용 가능한 Redis OSS 6.2의 기본 패치 버전을 자동으로 호출합니다.

예를 들어 캐시 클러스터를 생성할 때 --engine-version 파라미터를 6.2로 설정합니다. 클러스터는 생성 당시 사용 가능한 기본 패치 버전으로 시작됩니다. 전체 버전 값을 사용한 모든 요청이 거부되고 예외가 발생한 후 프로세스가 실패합니다.

를 호출하면 DescribeEngineVersions API EngineVersion 파라미터 값이 6.2로 설정되고 EnginePatchVersion 필드에 실제 전체 엔진 버전이 반환됩니다.

Redis OSS 6.2 릴리스에 대한 자세한 내용은 의 Redis에서 Redis 6.2 릴리스 정보를 참조OSS하세요 GitHub.

엔진 버전 업그레이드

MemoryDB는 기본적으로 서비스 업데이트를 통해 실행 중인 클러스터의 패치 버전을 자동으로 관리합니다. 클러스터의 AutoMinorVersionUpgrade 속성을 거짓으로 설정하는 경우, 자동 마이너 버전 업그레이드를 추가로 거부할 수 있습니다. 그러나 자동 패치 버전 업그레이드는 거부할 수 없습니다.

사용자는 클러스터를 실행하는 프로토콜 표준 소프트웨어를 자동 업그레이드가 시작되기 전에 MemoryDB에서 제공하는 새 버전으로 업그레이드할지 여부와 그 시기를 조정할 수 있습니다. 이 제어 수준을 사용하면 특정 버전과의 호환성을 유지하고, 프로덕션에 배포하기 전에 애플리케이션으로 새 버전을 테스트하고, 원하는 조건과 일정에 맞춰 버전 업그레이드를 수행할 수 있습니다.

Redis OSS 엔진이 있는 기존 MemoryDB에서 Valkey 엔진으로 업그레이드할 수도 있습니다.

다음과 같은 방법으로 클러스터의 엔진 버전 업그레이드를 시작할 수 있습니다.

유의할 사항:

  • 최신 엔진 버전으로 업그레이드할 수 있지만 이전 엔진 버전으로 다운그레이드할 수 없습니다. 이전 엔진 버전을 사용하려면, 기존 클러스터를 삭제하고 이전 엔진 버전을 통해 새로 생성해야 합니다.

  • 대부분의 주요 개선 사항은 이전 버전으로 다시 포팅되지 않으므로 주기적으로 최신 메이저 버전으로 업그레이드하는 것이 좋습니다. MemoryDB가 새 AWS 리전으로 가용성을 확장함에 따라 MemoryDB는 해당 시점에 새 리전에 대한 두 개의 최신 MAJOR.MINOR 버전을 지원합니다. 예를 들어 새 AWS 리전이 시작되고 최신 MAJOR.MINOR MemoryDB 버전이 7.0 및 6.2인 경우 MemoryDB는 새 AWS 리전에서 버전 7.0 및 6.2를 지원합니다. MemoryDB의 최신 MAJOR.MINOR 버전이 릴리스되면 MemoryDB는 새로 릴리스된 MemoryDB 버전에 대한 지원을 계속 추가할 것입니다. MemoryDB의 지역 선택에 대한 자세한 내용은 지원되는 리전 및 엔드포인트을(를) 참조하세요.

  • 엔진 버전 관리는 패치 발생 방법을 최대한 제어할 수 있도록 설계되었습니다. 그러나 MemoryDB는 시스템 또는 소프트웨어에 심각한 보안 취약성이 발견되는 등 발생할 가능성이 거의 없는 이벤트의 경우, 사용자를 대신하여 클러스터에 패치를 적용할 수 있는 권한을 보유합니다.

  • MemoryDB는 여러 패치 버전을 제공하는 대신 각 Valkey 또는 Redis OSS 마이너 릴리스에 대해 단일 버전을 제공합니다. 이는 여러 버전 중에서 선택해야 하는 혼동과 모호성을 최소화하도록 설계되었습니다. 또한 MemoryDB는 실행 중인 클러스터의 마이너 및 패치 버전을 자동으로 관리하여 개선된 성능과 향상된 보안을 보장합니다. 이러한 관리는 서비스 업데이트 캠페인을 사용하는 표준 고객 알림 채널을 통해 처리됩니다. 자세한 내용은 MemoryDB의 서비스 업데이트 단원을 참조하십시오.

  • 가동 중지 시간을 최소화하면서 클러스터 버전을 업그레이드할 수 있습니다. 전체 업그레이드 과정 중에도 클러스터를 읽을 수 있으며, 몇 초 정도 시간이 걸리는 장애 조치 작업 중인 경우를 제외하면 대부분 업그레이드 기간 중에 쓰기도 가능합니다.

  • 들어오는 쓰기 트래픽이 적은 기간에 엔진 업그레이드를 수행하는 것이 좋습니다.

    샤드가 여러 개인 클러스터는 다음과 같이 처리되고 패치가 적용됩니다.

    • 언제든지 하나의 샤드당 오직 하나의 업그레이드 작업이 수행됩니다.

    • 각 샤드에서 기본 복제본이 처리되기 전에 모든 복제본이 처리됩니다. 하나의 샤드에 복제본이 적게 있는 경우에는 다른 샤드의 복제본의 처리가 완료되기 전에 해당 샤드의 기본 복제본이 처리됩니다.

    • 모든 샤드에서 기본 노드가 연속하여 처리됩니다. 한번에 오직 하나의 기본 노드가 업그레이드됩니다.

엔진 버전 업그레이드 방법

MemoryDB 콘솔, 또는 MemoryDBMemoryDB 를 사용하여 수정API하고 최신 엔진 버전을 지정하여 클러스터에 대한 버전 업그레이드를 시작합니다. AWS CLI자세한 내용은 다음 항목을 참조하십시오.

차단된 Redis OSS 엔진 업그레이드 해결

다음 표와 같이 확장 작업이 보류 중인 경우 Redis OSS 엔진 업그레이드 작업이 차단됩니다.

대기 중 작업 차단된 작업
스케일 업 즉시 엔진 업그레이드
엔진 업그레이드 즉시 스케일 업
스케일 업 및 엔진 업그레이드 즉시 스케일 업
즉시 엔진 업그레이드