Tu je návod, ako funguje Sharding Data v klastri Redis:
Redis Cluster Sharding
Redis Cluster používa vstavaný mechanizmus shardingu na automatické rozdelenie údajov do viacerých uzlov Redis. Kľúčové aspekty toho, ako to funguje:
1. Keyspace Department: Celé kľúče v klastre Redis je rozdelené na 16 384 hash slotov. Tieto hashové sloty sú zodpovedné za distribúciu údajov v klastri.
2. Priradenie hash slotov: Každému uzlu Redis v klastri je priradená podskupina 16 384 hash slotov. Priradenie hash slotov do uzlov sa vykonáva prostredníctvom funkcie hash.
3. Umiestnenie údajov: Keď klient chce uložiť pár kľúč-hodnota, klient vypočíta hodnotu hash kľúča pomocou preddefinovanej funkcie hash. Táto hodnota hash sa potom zmapuje na jeden zo 16 384 hash slotov. Dáta sa potom uložia do uzla Redis, ktorý vlastní tento hash slot.
4. Replikácia: Pre každý slot hash existuje primárny uzol, ktorý je zodpovedný za doručovanie žiadostí o čítanie/zápis. Okrem toho existuje jeden alebo viac replika, ktoré udržiavajú kópiu údajov pre vysokú dostupnosť.
5. Automatické reshardovanie: Keď sa uzly pridávajú alebo odstránia z klastrov, priradenia hash slotov sa automaticky vyvážia, aby sa zabezpečilo rovnomerné rozdelenie údajov a načítanie v klastri.
Výhody redisového klastra Sharding
1. Škálovateľnosť: Distribúciou údajov do viacerých uzlov môže klastre Redis škálovať, aby zvládli veľké množstvo údajov a vysokú priepustnosť.
2. Vysoká dostupnosť: Replikácia hash slotov naprieč primárnymi a replikaovými uzlami zaisťuje vysokú dostupnosť, pretože klienti môžu naďalej pristupovať k údajom, aj keď niektoré uzly zlyhajú.
3. Transparentný prístup k klientovi: Mapovanie hash slotov je transparentne zvládnuté klastrom Redis, aby klienti mohli pristupovať k údajom bez toho, aby museli poznať podrobnosti o podkladovom trýznutí.
4. Automatické riadenie: Redis Cluster automatizuje správu Sharding, vrátane údajov o vyvážení, keď sa klaster rastie alebo zmenšuje.
Celkovo platí, že architektúra klastra Redis Cluster jej umožňuje poskytovať vysoko škálovateľné, dostupné a ľahko riadené distribuované údaje o údajoch, vďaka čomu je vhodná pre aplikácie s veľkými objemmi údajov alebo vysokých požiadaviek na priepustnosť.
Citácie:[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/maned-redis/concepts/sharding
[4] https://redisson.org/glossary/sharding.html
[5] https://docs.aws.amazon.com/amazonelasticache/latest/red-ug/cachenodes.nodegroups.html