Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hoe werkt data-sharding in Redis Cluster


Hoe werkt data-sharding in Redis Cluster


Zo werkt het delen van gegevens in Redis Cluster:

Redis Cluster Sharding

Redis Cluster maakt gebruik van een ingebouwd sharding-mechanisme om gegevens automatisch te verdelen over meerdere Redis-knooppunten. De belangrijkste aspecten van hoe dit werkt zijn:

1. Keyspace-partitionering: de volledige sleutelruimte in een Redis-cluster is verdeeld in 16.384 hash-slots. Deze hashslots zijn verantwoordelijk voor het distribueren van de gegevens over het cluster.

2. Toewijzing van hashslots: aan elk Redis-knooppunt in het cluster wordt een subset van de 16.384 hashslots toegewezen. De toewijzing van hashslots aan knooppunten gebeurt via een hashfunctie.

3. Gegevensplaatsing: wanneer een klant een sleutel-waardepaar wil opslaan, berekent de klant een hashwaarde van de sleutel met behulp van een vooraf gedefinieerde hashfunctie. Deze hashwaarde wordt vervolgens toegewezen aan een van de 16.384 hashslots. De gegevens worden vervolgens opgeslagen op het Redis-knooppunt dat eigenaar is van dat hash-slot.

4. Replicatie: voor elke hash-slot is er een primair knooppunt dat verantwoordelijk is voor het verwerken van lees-/schrijfverzoeken. Daarnaast zijn er een of meer replicaknooppunten die een kopie van de gegevens bijhouden voor hoge beschikbaarheid.

5. Automatische herharding: Naarmate knooppunten worden toegevoegd aan of verwijderd uit het cluster, worden de hashslot-toewijzingen automatisch opnieuw gebalanceerd 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 schalen om grote hoeveelheden gegevens en een hoge doorvoer te verwerken.

2. Hoge beschikbaarheid: de replicatie van hashslots tussen primaire en replicaknooppunten zorgt voor een hoge beschikbaarheid, omdat clients toegang kunnen blijven houden tot gegevens, zelfs als sommige knooppunten uitvallen.

3. Transparante clienttoegang: De hashslot-toewijzing wordt transparant afgehandeld door het Redis Cluster, zodat clients toegang hebben tot de gegevens zonder de details van de onderliggende sharding te hoeven kennen.

4. Automatisch beheer: Redis Cluster automatiseert het beheer van sharding, inclusief het opnieuw in evenwicht brengen van gegevens naarmate het cluster groeit of krimpt.

Over het geheel genomen zorgt de sharding-architectuur van Redis Cluster ervoor dat het een zeer schaalbare, beschikbare en eenvoudig te beheren gedistribueerde gegevensopslag kan bieden, waardoor het zeer geschikt is voor toepassingen met grote gegevensvolumes of hoge doorvoervereisten.

Citaties:
[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