Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jak funguje sdílení dat v Redis Cluster


Jak funguje sdílení dat v Redis Cluster


Jak funguje sdílení dat v Redis Cluster:

Redis Cluster Sharding

Redis Cluster používá vestavěný mechanismus sdílení k automatickému rozdělení dat mezi více uzlů Redis. Klíčové aspekty toho, jak to funguje, jsou:

1. Keyspace Partitioning: Celý klíčový prostor v Redis Cluster je rozdělen do 16 384 hash slotů. Tyto hashovací sloty jsou zodpovědné za distribuci dat napříč clusterem.

2. Přiřazení hashovacích slotů: Každému uzlu Redis v clusteru je přiřazena podmnožina 16 384 hashovacích slotů. Přiřazení hashovacích slotů uzlům se provádí pomocí hashovací funkce.

3. Umístění dat: Když chce klient uložit pár klíč–hodnota, vypočítá hodnotu hash klíče pomocí předdefinované hashovací funkce. Tato hašovací hodnota je pak mapována na jeden z 16 384 hašovacích slotů. Data jsou poté uložena v uzlu Redis, který vlastní daný hash slot.

4. Replikace: Pro každý hash slot existuje primární uzel, který je zodpovědný za obsluhu požadavků na čtení/zápis. Navíc existuje jeden nebo více replikovaných uzlů, které udržují kopii dat pro vysokou dostupnost.

5. Automatické resharding: Jak jsou uzly přidávány nebo odebírány z clusteru, přiřazení hash slotů jsou automaticky znovu vyvážena, aby bylo zajištěno rovnoměrné rozložení dat a zatížení v rámci clusteru.

Výhody Redis Cluster Sharding

1. Škálovatelnost: Distribucí dat mezi více uzlů může Redis Cluster škálovat tak, aby zvládl velké množství dat a vysokou propustnost.

2. Vysoká dostupnost: Replikace hash slotů mezi primárními a replikovanými uzly zajišťuje vysokou dostupnost, protože klienti mohou nadále přistupovat k datům, i když některé uzly selžou.

3. Transparentní klientský přístup: Mapování hash slotů je řešeno transparentně Redis Clusterem, takže klienti mají přístup k datům, aniž by potřebovali znát podrobnosti o základním shardingu.

4. Automatická správa: Redis Cluster automatizuje správu shardingu, včetně opětovného vyvažování dat, jak se cluster rozrůstá nebo zmenšuje.

Celkově architektura shardingu Redis Cluster umožňuje poskytovat vysoce škálovatelné, dostupné a snadno spravovatelné distribuované úložiště dat, takže se dobře hodí pro aplikace s velkými objemy dat nebo vysokými požadavky na propustnost.

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