Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jak działa fragmentowanie danych w klastrze Redis


Jak działa fragmentowanie danych w klastrze Redis


Oto jak działa fragmentowanie danych w klastrze Redis:

Fragmentowanie klastra Redis

Redis Cluster wykorzystuje wbudowany mechanizm shardingu do automatycznego dzielenia danych na wiele węzłów Redis. Kluczowe aspekty tego, jak to działa, to:

1. Podział przestrzeni kluczy: Cała przestrzeń kluczy w klastrze Redis jest podzielona na 16 384 przestrzenie mieszające. Te miejsca mieszające są odpowiedzialne za dystrybucję danych w klastrze.

2. Przypisanie miejsc mieszania: Do każdego węzła Redis w klastrze przypisany jest podzbiór 16 384 miejsc mieszania. Przypisanie miejsc skrótu do węzłów odbywa się za pomocą funkcji skrótu.

3. Umieszczanie danych: Gdy klient chce przechowywać parę klucz-wartość, oblicza wartość skrótu klucza za pomocą predefiniowanej funkcji skrótu. Ta wartość skrótu jest następnie odwzorowywana na jedno z 16 384 miejsc mieszania. Dane są następnie przechowywane w węźle Redis, który jest właścicielem tego miejsca mieszania.

4. Replikacja: Dla każdego slotu skrótu istnieje główny węzeł odpowiedzialny za obsługę żądań odczytu/zapisu. Ponadto istnieje co najmniej jeden węzeł repliki, który przechowuje kopię danych w celu zapewnienia wysokiej dostępności.

5. Automatyczne ponowne udostępnianie: w miarę dodawania lub usuwania węzłów z klastra przypisania miejsc mieszania są automatycznie ponownie równoważone, aby zapewnić równomierną dystrybucję danych i obciążenia w klastrze.

Korzyści z fragmentowania klastra Redis

1. Skalowalność: Dystrybuując dane w wielu węzłach, klaster Redis może skalować się w celu obsługi dużych ilości danych i dużej przepustowości.

2. Wysoka dostępność: Replikacja miejsc mieszania pomiędzy węzłami podstawowymi i replikami zapewnia wysoką dostępność, ponieważ klienci mogą nadal uzyskiwać dostęp do danych nawet w przypadku awarii niektórych węzłów.

3. Przezroczysty dostęp klienta: Mapowanie szczelin skrótu jest obsługiwane w sposób przejrzysty przez klaster Redis, dzięki czemu klienci mogą uzyskać dostęp do danych bez konieczności znajomości szczegółów podstawowego fragmentowania.

4. Zarządzanie automatyczne: Redis Cluster automatyzuje zarządzanie fragmentowaniem, w tym przywracanie równowagi danych w miarę wzrostu lub zmniejszania się klastra.

Ogólnie rzecz biorąc, architektura shardingu Redis Cluster pozwala na zapewnienie wysoce skalowalnego, dostępnego i łatwego w zarządzaniu rozproszonego magazynu danych, dzięki czemu dobrze nadaje się do zastosowań z dużymi ilościami danych lub wymaganiami dotyczącymi dużej przepustowości.

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