Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 데이터 샤딩은 Redis 클러스터에서 어떻게 작동합니까?


데이터 샤딩은 Redis 클러스터에서 어떻게 작동합니까?


Redis 클러스터에서 데이터 샤드가 작동하는 방법은 다음과 같습니다.

redis 클러스터 샤딩

Redis Cluster는 내장형 샤딩 메커니즘을 사용하여 여러 Redis 노드에서 데이터를 자동으로 분할합니다. 이 작동 방식의 주요 측면은 다음과 같습니다.

1. 키 공간 파티셔닝 : Redis 클러스터의 전체 키 공간은 16,384 해시 슬롯으로 나뉩니다. 이 해시 슬롯은 클러스터 전체에 데이터를 배포하는 데 도움이됩니다.

2. 해시 슬롯 할당 : 클러스터의 각 Redis 노드에는 16,384 해시 슬롯의 하위 집합이 할당됩니다. 해시 슬롯을 노드에 할당하는 것은 해시 함수를 통해 수행됩니다.

3. 데이터 배치 : 클라이언트가 키 값 쌍을 저장하려는 경우 클라이언트는 사전 정의 된 해시 함수를 사용하여 키의 해시 값을 계산합니다. 이 해시 값은 16,384 해시 슬롯 중 하나에 매핑됩니다. 그런 다음 해시 슬롯을 소유 한 Redis 노드에 데이터가 저장됩니다.

4. 복제 : 각 해시 슬롯마다 읽기/쓰기 요청을 제공하는 기본 노드가 있습니다. 또한 고 가용성을 위해 데이터의 사본을 유지하는 하나 이상의 복제 노드가 있습니다.

5. 자동 재 조정 : 클러스터에서 노드가 추가되거나 제거됨에 따라 해시 슬롯 할당은 자동으로 재조정되어 데이터의 균일 한 분포 및 클러스터를 가로 질러로드합니다.

Redis 클러스터 샤딩의 이점

1. 확장 성 : 여러 노드에 데이터를 배포함으로써 Redis 클러스터는 많은 양의 데이터와 높은 처리량을 처리하기 위해 확장 할 수 있습니다.

2. 고 가용성 : 일부 노드가 실패하더라도 클라이언트가 데이터에 계속 액세스 할 수 있으므로 기본 및 복제 노드에 걸쳐 해시 슬롯의 복제는 고 가용성을 보장합니다.

3. 투명한 클라이언트 액세스 : 해시 슬롯 매핑은 Redis 클러스터에 의해 투명하게 처리되므로 클라이언트는 기본 샤딩의 세부 사항을 알 필요없이 데이터에 액세스 할 수 있습니다.

4. 자동 관리 : Redis Cluster는 클러스터가 성장하거나 줄어들면서 재조정 데이터를 포함하여 샤딩 관리를 자동화합니다.

전반적으로 Redis 클러스터의 샤드 아키텍처를 통해 확장 가능하고 사용 가능한 관리하기 쉬운 분산 데이터 저장소를 제공 할 수 있으므로 데이터 볼륨이 많거나 처리량이 높은 응용 프로그램에 적합합니다.

인용 :
[1] https://scalegrid.io/blog/intro-to-redis-sharding/
[2] https://redis.io/redis-enterprise/technology/redis-enterprise-cluster-architecture/
[3] https://yandex.cloud/en/docs/managed-redis/concepts/sharding
[4] https://redisson.org/glossary/sharding.html
[5] https://docs.aws.amazon.com/amazonelasticache/latest/red-ug/cachenodes.nodegroups.html