Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kā datu sadalīšana darbojas Redis klasterī


Kā datu sadalīšana darbojas Redis klasterī


Lūk, kā Redis klasterī darbojas datu sadalīšana:

Redis klastera sadalīšana

Redis Cluster izmanto iebūvētu sadalīšanas mehānismu, lai automātiski sadalītu datus vairākos Redis mezglos. Galvenie aspekti, kā tas darbojas, ir:

1. Keyspace sadalīšana: visa Redis klastera atslēgvieta ir sadalīta 16 384 jaucējvietās. Šīs jaucējvietas ir atbildīgas par datu izplatīšanu klasterī.

2. Jaukšanas slotu piešķiršana: katram Redis mezglam klasterī tiek piešķirta 16 384 jaucējvietu apakškopa. Jaucējvietu piešķiršana mezgliem tiek veikta, izmantojot jaucējfunkciju.

3. Datu izvietojums: ja klients vēlas saglabāt atslēgas vērtību pāri, klients aprēķina atslēgas jaucējvērtību, izmantojot iepriekš definētu jaucējfunkciju. Pēc tam šī jaucējvērtība tiek kartēta uz vienu no 16 384 jaucējvietām. Pēc tam dati tiek saglabāti Redis mezglā, kuram pieder šī jaucējvieta.

4. Replicēšana: katrai jaucējvietai ir primārais mezgls, kas ir atbildīgs par lasīšanas/rakstīšanas pieprasījumu apkalpošanu. Turklāt ir viens vai vairāki reprodukcijas mezgli, kas saglabā datu kopiju, lai nodrošinātu augstu pieejamību.

5. Automātiska atkārtota sadalīšana: kad mezgli tiek pievienoti vai noņemti no klastera, jaucējvietu piešķiršana tiek automātiski līdzsvarota, lai nodrošinātu vienmērīgu datu sadalījumu un slodzi visā klasterī.

Redis klasteru sadalīšanas priekšrocības

1. Mērogojamība: sadalot datus vairākos mezglos, Redis Cluster var mērogot, lai apstrādātu lielu datu apjomu un augstu caurlaidspēju.

2. Augsta pieejamība: jaucējvietu replikācija primārajos un reprodukcijas mezglos nodrošina augstu pieejamību, jo klienti var turpināt piekļūt datiem pat tad, ja daži mezgli neizdodas.

3. Caurspīdīga klienta piekļuve: Redis klasteris pārskatāmi apstrādā jaucējvietu kartēšanu, lai klienti varētu piekļūt datiem, nezinot sīkāku informāciju par pamatā esošo sadalīšanu.

4. Automātiskā pārvaldība: Redis Cluster automatizē sadalīšanas pārvaldību, tostarp datu līdzsvarošanu, klasterim augot vai samazinoties.

Kopumā Redis Cluster sadalīšanas arhitektūra ļauj tai nodrošināt ļoti mērogojamu, pieejamu un viegli pārvaldāmu sadalītu datu krātuvi, padarot to labi piemērotu lietojumprogrammām ar lielu datu apjomu vai augstām caurlaidspējas prasībām.

Citāts:
[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