Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon In che modo il frammento di dati funziona nel cluster Redis


In che modo il frammento di dati funziona nel cluster Redis


Ecco come funziona il frammento di dati nel cluster Redis:

Redis Cluster Sharding

Redis Cluster utilizza un meccanismo di frammento integrato per partizionare automaticamente i dati su più nodi Redis. Gli aspetti chiave di come funziona sono:

1. Partizionamento dello spazio di keys: l'intero spazio di chiavi in ​​un cluster Redis è diviso in 16.384 slot di hash. Questi slot di hash sono responsabili della distribuzione dei dati attraverso il cluster.

2. Assegnazione di slot hash: a ciascun nodo Redis nel cluster viene assegnato un sottoinsieme degli slot hash 16.384. L'assegnazione di slot hash ai nodi viene eseguita attraverso una funzione hash.

3. Posizionamento dei dati: quando un client desidera archiviare una coppia di valore chiave, il client calcola un valore hash della chiave utilizzando una funzione hash predefinita. Questo valore di hash viene quindi mappato su uno dei 16.384 slot di hash. I dati vengono quindi archiviati sul nodo Redis proprietario di quell'hash slot.

4. Replica: per ogni slot hash, esiste un nodo primario responsabile per servire le richieste di lettura/scrittura. Inoltre, ci sono uno o più nodi replica che mantengono una copia dei dati per l'alta disponibilità.

5. Resharding automatico: poiché i nodi vengono aggiunti o rimossi dal cluster, le assegnazioni di slot hash vengono automaticamente riempite per garantire una distribuzione uniforme dei dati e caricare attraverso il cluster.

Vantaggi del cluster Redis Sharding

1. Scalabilità: distribuendo i dati su più nodi, il cluster Redis può ridimensionare per gestire grandi quantità di dati e throughput elevato.

2. Alta disponibilità: la replica degli slot hash attraverso i nodi primari e replica garantisce un'elevata disponibilità, poiché i clienti possono continuare ad accedere ai dati anche se alcuni nodi non riescono.

3. Accesso al client trasparente: la mappatura dello slot hash viene gestita in modo trasparente dal cluster Redis, in modo che i client possano accedere ai dati senza dover conoscere i dettagli dei frammenti sottostanti.

4. Gestione automatica: il cluster Redis automatizza la gestione dei frammenti, compresi i dati di riequilibrio man mano che il cluster cresce o si riduce.

Nel complesso, l'architettura sharding del cluster Redis gli consente di fornire un archivio di dati distribuito altamente scalabile, disponibile e facile da gestire, rendendolo adatto per applicazioni con volumi di dati di grandi dimensioni o requisiti di throughput elevati.

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