Dit is hoe data sharding werkt in Redis Cluster:
Redis Cluster Sharding
Redis Cluster maakt gebruik van een ingebouwd sharding-mechanisme om automatisch gegevens over meerdere Redis-knooppunten te verdelen. De belangrijkste aspecten van hoe dit werkt zijn:
1. Keysspace Partitionering: de hele sleutelruimte in een Redis -cluster is verdeeld in 16.384 hash -slots. Deze hash -slots zijn verantwoordelijk voor het verspreiden van de gegevens over het cluster.
2. Hash Slots Toewijzing: aan elke Redis -knooppunt in het cluster is een subset toegewezen van de 16.384 hash -slots. De toewijzing van hash -slots aan knooppunten wordt gedaan via een hash -functie.
3. Gegevensplaatsing: wanneer een client een sleutelwaardepaar wil opslaan, berekent de client een hash-waarde van de sleutel met behulp van een vooraf gedefinieerde hash-functie. Deze hash -waarde wordt vervolgens toegewezen aan een van de 16.384 hash -slots. De gegevens worden vervolgens opgeslagen op het Redis -knooppunt dat eigenaar is van die hash slot.
4. Replicatie: voor elke hash -slot is er een primair knooppunt dat verantwoordelijk is voor het indienen van lees-/schrijfverzoeken. Bovendien zijn er een of meer replica -knooppunten die een kopie van de gegevens bijhouden voor een hoge beschikbaarheid.
5. Automatische herharding: Aangezien knooppunten worden toegevoegd of uit het cluster worden verwijderd, worden de hash -slotopdrachten automatisch opnieuw in evenwicht gebracht om een gelijkmatige verdeling van gegevens en belasting over het cluster te garanderen.
Voordelen van redis cluster sharding
1. Schaalbaarheid: door gegevens over meerdere knooppunten te distribueren, kan Redis Cluster worden geschaald om grote hoeveelheden gegevens en hoge doorvoer af te handelen.
2. Hoge beschikbaarheid: de replicatie van hash -slots in primaire en replica -knooppunten zorgt voor een hoge beschikbaarheid, omdat klanten toegang kunnen krijgen tot gegevens, zelfs als sommige knooppunten falen.
3. Transparante clienttoegang: de hash -sleufmapping wordt transparant behandeld door de Redis -cluster, zodat clients toegang hebben tot de gegevens zonder dat ze de details van het onderliggende sharding moeten weten.
4. Automatisch beheer: Redis Cluster automatiseert het beheer van sharding, inclusief opnieuw in evenwicht brengende gegevens naarmate het cluster groeit of krimpt.
Over het algemeen stelt de Sharding-architectuur van Redis Cluster in staat om een zeer schaalbare, beschikbare en gemakkelijk te beheren gedistribueerde gegevensopslag te bieden, waardoor het goed geschikt is voor toepassingen met grote datavolumes of hoge doorvoervereisten.
Citaten:[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/sharding
[4] https://redisson.org/glossary/sharding.html
[5] https://docs.aws.amazon.com/amazonelasticache/latest/red-ug/cachenodes.nodegroups.html