Zde je způsob, jak sharding dat funguje v Clusteru Redis:
Redis Cluster Sharding
Redis Cluster používá vestavěný mechanismus shardingu k automatickému rozdělení dat napříč několika uzly Redis. Klíčové aspekty toho, jak to funguje, jsou:
1. Oddíl Keyspace: Celý klíčový prostor v klastru redis je rozdělen do 16 384 hashových slotů. Tyto hashové sloty jsou zodpovědné za distribuci dat napříč klastrem.
2. HASH SLOTS Přiřazení: Každému uzlu Redis v klastru je přiřazena podmnožina 16 384 hashových slotů. Přiřazení hashových slotů k uzlům se provádí prostřednictvím funkce hash.
3. Umístění dat: Když klient chce uložit pár klíčových hodnot, vypočítá klient hodnotu hash klíče pomocí předdefinované hashové funkce. Tato hodnota hash je poté mapována na jeden z 16 384 hashových slotů. Data jsou poté uložena v uzlu Redis, který vlastní tento slot hash.
4. Replikace: Pro každý slot hash je primární uzel, který je zodpovědný za podávání požadavků na čtení/zápis. Kromě toho existuje jeden nebo více replikových uzlů, které udržují kopii dat pro vysokou dostupnost.
5. Automatické převzetí: Jakmile jsou uzly přidány nebo odstraněny z klastru, přiřazení slotů Hash se automaticky vyváží, aby se zajistilo rovnoměrné rozdělení dat a zatížení napříč klastrem.
Výhody shardingu redis clusteru
1. Škálovatelnost: Distribucí dat napříč více uzly může klastr redis škálovat tak, aby zvládl velké množství dat a vysokou propustnost.
2. Vysoká dostupnost: Replikace hashových slotů napříč primárními a replikami uzlů zajišťuje vysokou dostupnost, protože klienti mohou pokračovat v přístupu k datům, i když některé uzly selhávají.
3. Transparentní přístup k klientovi: Mapování slotů pro hash je transparentně zpracováno pomocí klastru redis, takže klienti mají přístup k datům, aniž by museli znát podrobnosti o podkladovém sboru.
4. Automatická správa: Redis Cluster automatizuje správu shardingu, včetně převahovacích dat, když klastr roste nebo se zmenšuje.
Celkově má architektura Sharding Redis Cluster poskytnout vysoce škálovatelný, dostupný a snadno spravovatelný distribuovaný úložiště dat, díky čemuž je vhodný pro aplikace s velkými objemy dat nebo požadavky na vysokou propustnost.
Citace:[1] https://scalegrid.io/blog/intro-to-redis-sharding/
[2] https://redis.io/redis-enterprise/technology/redis-enterprise-ctuster-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