Takole deluje razdeljevanje podatkov v gruči Redis:
Redis Cluster Sharding
Redis Cluster uporablja vgrajeni mehanizem drobljenja za samodejno razdelitev podatkov na več vozlišč Redis. Ključni vidiki tega, kako to deluje, so:
1. Particioniranje prostora ključev: Celoten prostor ključev v gruči Redis je razdeljen na 16.384 zgoščenih rež. Te zgoščene reže so odgovorne za distribucijo podatkov po gruči.
2. Dodelitev zgoščenih rež: Vsakemu vozlišču Redis v gruči je dodeljena podnabor 16.384 zgoščenih rež. Dodeljevanje zgoščevalnih rež vozliščem poteka prek zgoščevalne funkcije.
3. Umestitev podatkov: Ko želi odjemalec shraniti par ključ-vrednost, izračuna zgoščevalno vrednost ključa z vnaprej določeno zgoščevalno funkcijo. Ta zgoščena vrednost se nato preslika v eno od 16.384 zgoščenih rež. Podatki se nato shranijo v vozlišču Redis, ki ima v lasti to režo zgoščene vrednosti.
4. Replikacija: Za vsako zgoščeno režo obstaja primarno vozlišče, ki je odgovorno za streženje zahtev za branje/pisanje. Poleg tega obstaja eno ali več replik vozlišč, ki vzdržujejo kopijo podatkov za visoko razpoložljivost.
5. Samodejno ponovno razdeljevanje: Ko so vozlišča dodana ali odstranjena iz gruče, se dodelitve zgoščenih rež samodejno ponovno uravnotežijo, da se zagotovi enakomerna porazdelitev podatkov in obremenitev po gruči.
Prednosti Redis Cluster Sharding
1. Razširljivost: Z distribucijo podatkov v več vozliščih se lahko Redis Cluster prilagaja tako, da obdeluje velike količine podatkov in visoko prepustnost.
2. Visoka razpoložljivost: Replikacija zgoščenih rež v primarnih in repličnih vozliščih zagotavlja visoko razpoložljivost, saj lahko odjemalci še naprej dostopajo do podatkov, tudi če nekatera vozlišča odpovejo.
3. Transparenten dostop odjemalca: Preslikavo zgoščene reže pregledno obravnava gruča Redis, tako da lahko odjemalci dostopajo do podatkov, ne da bi morali poznati podrobnosti o osnovnem razdeljevanju.
4. Samodejno upravljanje: Redis Cluster avtomatizira upravljanje razčlenjevanja, vključno s ponovnim uravnoteženjem podatkov, ko se gruča poveča ali zmanjša.
Na splošno arhitektura razčlenjevanja Redis Cluster omogoča zagotavljanje zelo razširljive, razpoložljive in enostavne za upravljanje porazdeljene podatkovne shrambe, zaradi česar je zelo primerna za aplikacije z velikimi količinami podatkov ali visokimi zahtevami glede prepustnosti.
Citati:[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