Partitioning
10 min
Niveau 10
Le partitionnement est le processus qui consiste à diviser vos données en plusieurs instances Redis, de sorte que chaque instance ne contienne qu'un sous-ensemble de vos clés.
Avantages du Partitioning
- Il permet de créer des bases de données beaucoup plus importantes, en utilisant la somme de la mémoire de plusieurs ordinateurs. Sans partitionnement, vous êtes limité à la quantité de mémoire qu'un seul ordinateur peut supporter.
- Il permet de faire évoluer la puissance de calcul vers plusieurs cœurs et plusieurs ordinateurs, et la bande passante du réseau vers plusieurs ordinateurs et adaptateurs de réseau.
Inconvénients du Partitioning
- Les opérations impliquant plusieurs clés ne sont généralement pas prises en charge. Par exemple, vous ne pouvez pas effectuer l'intersection entre deux ensembles s'ils sont stockés dans les clés qui sont mappées à des instances Redis différentes.
- Les transactions Redis impliquant des clés multiples ne peuvent pas être utilisées.
- Le granulat de partitionnement est la clé, il n'est donc pas possible de partager un ensemble de données avec une seule clé énorme comme un très grand ensemble trié.
- Lorsque le partitionnement est utilisé, la manipulation des données est plus complexe. Par exemple, vous devez gérer plusieurs fichiers RDB/AOF, et pour obtenir une sauvegarde de vos données, vous devez agréger les fichiers de persistance de plusieurs instances et hôtes.
- L'ajout et la suppression de la capacité peuvent être complexes. Par exemple, Redis Cluster prend en charge le rééquilibrage le plus souvent transparent des données avec la possibilité d'ajouter et de supprimer des nœuds au moment de l'exécution. Cependant, d'autres systèmes comme le partitionnement côté client et les proxies ne prennent pas en charge cette fonctionnalité. Une technique appelée Presharding aide à cet égard.
Types de Partitioning
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !