Amazon MemoryDB for Redis는 Redis와 호환되고 내구성이 뛰어난 인 메모리 데이터베이스 서비스로, 초고속 성능을 제공합니다. 이 기능은 마이크로서비스 아키텍처를 사용하여 현대적 애플리케이션을 위해 특별히 구축되었습니다.

Amazon MemoryDB는 유명한 오픈 소스 데이터 스토어인 Redis와 호환되므로 고객은 현재 이미 사용하고 있는 것과 동일한 유연성을 가진 익숙한 Redis 데이터 구조, API, 명령을 사용해 빠르게 애플리케이션을 구축할 수 있습니다. Amazon MemoryDB를 사용하면 모든 데이터가 메모리 안에 저장되므로 마이크로초 읽기 및 10밀리초 미만의 쓰기 대기 시간과 높은 처리량을 달성할 수 있습니다. Amazon MemoryDB는 또한 분산 트랜잭션 로그를 사용하여 여러 가용 영역(AZ)에 데이터를 내구성 있게 저장함으로써 빠른 장애 조치, 데이터베이스 복구 및 노드 다시 시작을 지원합니다. 인 메모리 성능과 다중 AZ 내구성을 함께 제공하는 Amazon MemoryDB는 마이크로서비스 애플리케이션에 대한 고성능 프라이머리 데이터베이스로 사용될 수 있으므로 캐시와 내구성 있는 데이터베이스를 별도로 관리할 필요가 없습니다.

Redis 호환성

Redis는 빠른 오픈 소스 인 메모리 키 값 데이터 스토어입니다. 개발자는 Redis를 사용하여 1밀리초 미만의 응답 시간을 제공해 게임, 광고 기술, 금융 서비스, 의료 서비스 및 IoT 분야와 같은 산업에서 실시간 애플리케이션을 위해 초당 수백만 건의 요청을 지원할 수 있습니다. 2021년 Redis는 Stack Overflow의 '가장 사랑 받는 데이터베이스'에 5년 연속 이름을 올렸습니다.

Redis는 유연하고 민첩한 애플리케이션을 구축하도록 API, 명령, 데이터 구조(예: 스트림, 세트, 목록)를 제공합니다. MemoryDB는 오픈 소스 Redis와의 호환성을 유지하고, 친숙한 같은 Redis 데이터 유형, 파라미터 및 명령 세트를 지원합니다. 즉, 현재 Redis에서 이미 사용 중인 코드, 애플리케이션, 드라이버 및 도구를 MemoryDB에서도 사용할 수 있어 애플리케이션을 빠르게 빌드할 수 있습니다.

초고속 성능

MemoryDB는 전체 데이터 집합을 메모리에 저장하여 마이크로초 읽기 지연, 10밀리초 미만의 쓰기 지연과 높은 처리량을 제공합니다. 또한 하루에 13조 개 이상의 요청을 처리할 수 있고, 초당 1억 6,000만 개 이상의 요청 급증을 지원합니다.

마이크로서비스 아키텍처는 사용자 상호 작용당 또는 API 호출당 엄청나게 많은 서비스 구성 요소와 상호 작용할 수 있기 때문에 이러한 아키텍처를 구축하는 개발자에게는 초고속 성능이 필요합니다. MemoryDB를 사용하면 지연 시간을 극도로 낮춰 최종 사용자에게 실시간 성능을 제공할 수 있습니다.

Amazon MemoryDB for Redis에는 향상된 I/O 멀티플렉싱이 포함됩니다. 이 기능은 모든 규모에서 처리량과 지연 시간을 대폭 개선해줍니다. 향상된 I/O 멀티플렉싱은 처리량 제한이 있고 다수의 클라이언트가 연결되어 있는 워크로드에 적합하며 워크로드 동시성 수준에 따라 그 이점이 확대됩니다. 예를 들어 r6g.4xlarge 노드를 사용하여 5,200개의 동시 클라이언트를 실행하는 경우 MemoryDB for Redis 6과 비교할 때 처리량(초당 읽기 및 쓰기 작업 수)을 최대 46% 늘리고 P99 지연 시간을 최대 21% 단축할 수 있습니다. 이러한 유형의 워크로드에서 노드의 네트워크 I/O 처리는 확장 성능을 제한하는 요인이 될 수 있습니다. 향상된 IO 멀티플렉싱을 사용하면 다음 다이어그램에서와 같이 명령을 효율적으로 배치 처리하는 Redis의 기능을 활용하여 각 전용 네트워크 IO 스레드가 여러 클라이언트의 명령을 Redis 엔진으로 파이프라인 방식으로 전달됩니다.

Redis 7을 사용하면 추가 비용 없이 향상된 IO 멀티플렉싱이 자동으로 사용됩니다. MemoryDB for Redis의 향상된 I/O 멀티플렉싱을 사용하기 위해 애플리케이션이나 서비스 구성을 변경할 필요가 없습니다.

자세한 내용은 설명서를 참조하세요.

다중 AZ 내구성

전체 데이터 집합을 메모리에 저장하는 것 외에도 MemoryDB는 분산된 트랜잭션 로그를 사용하여 데이터 내구성, 일관성 및 복구 가능성을 제공합니다. MemoryDB는 다중 AZ 전반에 데이터를 저장하므로 빠르게 데이터베이스를 복구하여 다시 시작할 수 있습니다. MemoryDB를 속도를 위한 캐시와 안정성을 위한 추가 관계형 또는 비관계형 데이터베이스를 별도로 관리하는 대신 짧은 지연 시간과 높은 처리량을 필요로 하는 워크로드에 프라이머리 데이터베이스 서비스로 MemoryDB를 사용할 수 있습니다.

확장성

노드를 수평으로 추가 또는 제거하거나 더 크거나 작은 노드 유형으로 수직으로 이동하는 등 변하는 애플리케이션 필요를 충족하기 위해 MemoryDB 클러스터를 확장할 수 있습니다. MemoryDB는 샤딩을 사용하여 쓰기 확장을 지원하고, 복제본을 추가하여 읽기 확장을 지원합니다. 클러스터는 계속해서 온라인 상태를 유지하고 크기 조장 작업 중 읽기 및 쓰기 작업을 지원합니다.

완전관리형

편리한 사용

MemoryDB를 시작하는 방법은 간단합니다. AWS Management Console을 사용하여 새 MemoryDB 클러스터를 시작하거나 AWS CLI 또는 SDK를 사용할 수 있습니다. MemoryDB 데이터베이스 인스턴스는 선택한 노드 유형에 적합한 파라미터 및 설정 세트로 사전에 구성됩니다. 클러스터를 시작하고 애플리케이션을 연결하기만 하면 됩니다. 이 작업은 몇 분밖에 걸리지 않으며 추가 구성이 필요하지 않습니다.

모니터링 및 지표

MemoryDB는 데이터베이스 인스턴스에 대한 Amazon CloudWatch 지표를 제공합니다. AWS Management Console을 사용하여 컴퓨팅, 메모리, 스토리지, 처리량(throughput) 및 활성 연결 등을 비롯하여 클러스터와 관련된 35개 이상의 주요 운영 지표를 볼 수 있습니다.

자동 소프트웨어 패치

MemoryDB는 새로운 업데이트를 통해 클러스터를 최신 상태로 자동으로 유지하므로 클러스터를 최신 Redis 버전으로 손쉽게 업그레이드할 수 있습니다.

보안

네트워킹

Amazon VPC내에서 실행되는 MemoryDB는 자체 가상 네트워크 내에 데이터베이스를 격리하고 산업 표준 암호화 IPsec VPN을 사용하여 온프레미스 IT 인프라에 연결합니다. 또한, MemoryDB의 VPC 구성을 사용해 방화벽 설정을 구성하고 DB 인스턴스에 대한 네트워크 액세스를 제어할 수 있습니다.

암호화

MemoryDB를 사용하면 AWS Key Management Service(KMS)를 통해 생성하고 제어하는 키를 사용해 유휴 데이터를 암호화할 수 있습니다. AWS Graviton2 노드 유형을 사용하여 생성한 클러스터에는 상시 256비트 DRAM 암호화가 포함됩니다. MemoryDB는 전송 계층 보안(TLS)을 사용하여 이동 중 암호화를 지원합니다.

API 수준 권한

Amazon MemoryDB에 통합된 AWS Identity and Access Management(IAM) 기능을 사용하면 AWS IAM 사용자 및 그룹이 Amazon MemoryDB 리소스에 수행할 수 있는 작업을 제어할 수 있습니다. 예를 들어 IAM 규칙을 구성하여 관리자는 리소스를 생성, 수정 및 삭제할 수 있지만, 특정 사용자는 읽기 전용 액세스 권한만 보유하도록 할 수 있습니다. API 수준 권한에 대한 자세한 내용은 Amazon MemoryDB에 대한 AWS IAM 정책 사용 섹션을 참조하세요.

인증 및 권한 부여

MemoryDB는 Redis 액세스 제어 목록(ACL)을 사용하여 클러스터에 대한 인증과 권한 부여를 둘 다 제어합니다. ACL을 사용하면 동일한 클러스터 내 여러 사용자에 대해 각기 다른 권한을 정의할 수 있습니다.

Kubernetes와 통합

Amazon MemoryDB를 위한 AWS Controllers for Kubernetes(ACK)를 사용해 Kubernetes 클러스터에서 직접 MemoryDB의 리소스를 정의하고 사용할 수 있습니다. 이렇게 하면 클러스터 외부의 MemoryDB 리소스를 정의하거나 클러스터 내의 인 메모리 데이터베이스 성능을 실행하고 관리할 필요 없이 Kubernetes 애플리케이션을 지원하는 MemoryDB를 이용할 수 있습니다. Amazon ECR에서 MemoryDB ACK 컨테이너 이미지를 다운로드할 수 있습니다. 설치 지침은 설명서를 참조하세요. 블로그에서도 자세한 내용을 확인할 수 있습니다.

참고: 이제 Amazon MemoryDB용 ACK를 정식 버전으로 사용할 수 있습니다. Github 페이지에서 피드백을 보내주세요.

Amazon MemoryDB용 ACK

JSON 지원

Amazon MemoryDB에서는 오픈 소스 Redis에 포함된 데이터 구조 이외에 JavaScript Object Notation(JSON) 문서에 대한 기본 지원을 무료로 제공합니다. JSON 문서를 위해 설계 및 최적화된 기본 제공 명령을 사용하여 애플리케이션을 간단하게 개발할 수 있습니다. MemoryDB는 부분 JSON 문서 업데이트와 JSONPath 쿼리 언어를 사용한 강력한 검색 및 필터링을 지원합니다. JSON 지원은 Redis 6.2 이상을 사용하는 경우 제공됩니다. 자세한 정보는 MemoryDB 설명서를 참조하세요.

Amazon MemoryDB for Redis를 사용하면 데이터를 이동하지 않고도 기계 학습(ML) 및 생성형 인공 지능 모델을 사용하여 Amazon MemoryDB에 저장된 데이터를 실시간으로 사용할 수 있습니다. Amazon MemoryDB를 사용하면 Redis 데이터 구조 내에서 벡터 임베딩을 저장, 검색, 인덱싱, 쿼리할 수 있습니다.

벡터는 기본 데이터의 의미 체계 내 의미를 파악하는 데 도움이 되는 ML 모델에서 생성된 텍스트, 이미지, 비디오와 같은 비정형 데이터를 숫자로 표현한 것입니다. Amazon BedrockAmazon SageMaker의 벡터 임베딩과 같은 ML 및 AI 모델의 벡터 임베딩을 Amazon MemoryDB 데이터베이스에 저장할 수 있습니다. Amazon MemoryDB에서의 벡터 검색에 대해 자세히 알아보려면 설명서를 읽어보세요.

MemoryDB용 벡터 검색 미리 보기를 통해 수백만 개의 벡터 임베딩을 저장하고 10밀리초 미만의 벡터 검색 및 업데이트 지연 시간과 99% 이상의 재현율로 수만 건의 QPS(Query Per Second)를 수행할 수 있습니다.

MemoryDB의 벡터 검색은 최고의 성능과 확장성이 가장 중요한 선택 기준인 사용 사례에 적합합니다. 벡터 검색을 사용하여 챗봇용 검색 증강 생성(RAG), 사기 탐지, 실시간 추천, 문서 검색과 같은 사용 사례에서 실시간 ML 및 생성형 AI 애플리케이션을 지원할 수 있습니다.

비용 최적화

MemoryDB는 데이터 계층화를 통해 클러스터를 최대 수백 테라바이트 용량까지 저렴한 비용으로 확장할 수 있도록 합니다. 데이터 계층화는 MemoryDB에 대한 가성비 옵션으로, 저렴한 Solid State Drive(SSD)를 각 클러스터 노드에서 활용하고 데이터를 메모리에 저장합니다. 전체 데이터 세트의 최대 20%에 정기적으로 액세스하는 워크로드, 그리고 SSD의 데이터에 액세스 시 추가 지연 시간을 허용할 수 있는 애플리케이션에 적합합니다.

클러스터에서 데이터 계층화를 사용하는 경우 MemoryDB는 가용 메모리 용량이 완전히 소모될 때 가장 최근에 사용한 항목을 메모리에서 로컬로 연결된 NVMe SSD로 자동으로, 투명하게 옮기도록 설계되었습니다. SSD에 저장된 항목에 액세스하면 MemoryDB가 요청을 처리하기 전에 이를 메모리로 다시 이동합니다. MemoryDB 데이터 계층화는 Graviton2 기반 R6gd 노드에서 사용할 수 있습니다. R6gd 노드는 R6g 노드(메모리 전용)와 비교 시 총 용량은 약 5배 많으며(메모리 + SSD), 최대 사용률로 실행할 경우 60% 이상의 스토리지 비용을 절감할 수 있습니다. 500바이트 문자열 값을 추정하는 경우 메모리의 데이터 읽기 요청과 비교했을 때 SSD에 저장된 데이터에 대한 읽기 요청은 일반적으로 450마이크로초의 지연 시간이 추가로 소요될 것으로 예상됩니다.

MemoryDB는 예약 노드를 제공합니다. 이 노드를 사용하면 1년 또는 3년 동안의 사용을 약정하고 온디맨드 노드 가격보다 최대 55%를 절약할 수 있습니다. 예약 노드는 MemoryDB 온디맨드 노드를 보완하며 기업은 비용 절감에 도움이 되는 유연한 옵션을 이용할 수 있습니다. MemoryDB는 선결제 없음, 부분 선결제, 전체 선결제와 같은 세 가지 예약 노드를 제공하며, 이를 통해 선결제 금액과 실질적인 시간당 요금의 균형을 맞출 수 있습니다.

MemoryDB 예약 노드는 노드 제품군 및 AWS 리전 내에서 유연한 크기를 지원합니다. 즉, 할인된 예약 노드 요금이 동일한 노드 제품군의 모든 크기 사용량에 자동으로 적용됩니다. 유연한 크기 기능을 사용하면 예약 노드 관리에 소요되는 시간이 줄어들고 더 이상 특정 데이터베이스 노드 크기에 구애받지 않으므로 데이터베이스를 업데이트해야 하는 경우에도 할인 이점을 최대한 활용할 수 있습니다.

요금에 대해 자세히 알아보기
Amazon MemoryDB 요금 확인

MemoryDB에 대한 요금 옵션 살펴보기

자세히 알아보기 
자습서를 사용하여 학습
자습서를 사용하여 학습

MemoryDB 클러스터를 처음 설정하는 방법을 알아보세요.

자세히 알아보기  
 MemoryDB를 사용해 구축 시작
MemoryDB를 사용해 구축 시작

시작하려면 MemoryDB 사용 설명서를 참조하세요.

설명서 보기