데이터 계층화 - Amazon MemoryDB

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

데이터 계층화

r6gd 패밀리의 노드 유형을 사용하는 클러스터는 메모리와 로컬SSD(솔리드 스테이트 드라이브) 스토리지 간에 데이터를 계층화합니다. 데이터 계층화는 메모리에 데이터를 저장하는 것 외에도 각 클러스터 노드의 저렴한 솔리드 스테이트 드라이브(SSDs)를 활용하여 Valkey 및 Redis OSS 워크로드에 새로운 가격 대비 성능 옵션을 제공합니다. 다른 노드 유형과 마찬가지로 r6gd 노드에 기록된 데이터는 다중 AZ 트랜잭션 로그에 안정적으로 저장됩니다. 데이터 계층화는 전체 데이터 세트의 최대 20%에 정기적으로 액세스하는 워크로드와에서 데이터에 액세스할 때 추가 지연 시간을 허용할 수 있는 애플리케이션에 적합합니다SSD.

데이터 계층화가 있는 클러스터에서 MemoryDB는 저장하는 모든 항목의 마지막 액세스 시간을 모니터링합니다. 사용 가능한 메모리(DRAM)가 완전히 사용되면 MemoryDB는 최근에 가장 적게 사용된 (LRU) 알고리즘을 사용하여 자주 액세스하지 않는 항목을 메모리에서 로 자동으로 이동합니다SSD. 의 데이터에 나중에 액세스하면 MemoryDBSSD는 요청을 처리하기 전에 자동으로 비동기적으로 데이터를 메모리로 다시 이동합니다. 데이터의 하위 집합에만 정기적으로 액세스하는 워크로드가 있는 경우 데이터 계층화는 용량을 비용 효율적으로 확장할 수 있는 최적의 방법입니다.

데이터 계층화를 사용하는 경우 키 자체는 항상 메모리에 남아 있는 반면는 메모리 대 디스크에 값을 배치하는 것을 LRU 제어합니다. 일반적으로 데이터 계층화를 사용하는 경우 키 크기가 값 크기보다 작은 것이 좋습니다.

데이터 계층화는 애플리케이션 워크로드에 미치는 성능 영향을 최소화하도록 설계되었습니다. 예를 들어, 500바이트 문자열 값을 가정하면 일반적으로 메모리에 저장된 데이터에 대한 읽기 요청과 SSD 비교하여에 저장된 데이터에 대한 읽기 요청에 대해 450마이크로초의 추가 지연 시간을 예상할 수 있습니다.

가장 큰 데이터 계층화 노드 크기(db.r6gd.8xlarge)를 사용하면 단일 500노드 클러스터TBs에 최대 500개를 저장할 수 있습니다(읽기 전용 복제본 1개를 사용하는 경우 250TB). 데이터 계층화의 경우 MemoryDB는 비 데이터 사용을 위해 노드당 (DRAM) 메모리의 19%를 예약합니다. 데이터 계층화는 MemoryDB에서 지원되는 모든 Valkey 및 Redis OSS 명령 및 데이터 구조와 호환됩니다. 이 기능을 사용하려면 클라이언트 측 변경 사항이 필요하지 않습니다.