Grappes partitionnées horizontalement dans le cache OCI

Le cache OCI prend en charge deux modes de grappe, les grappes partitionnées et les grappes non partitionnées.

Les grappes non fragmentées sont configurées avec un noeud principal et un ou plusieurs noeuds de réplique, avec les données dupliquées sur chaque noeud. Avec ce mode de cluster, les données que vous pouvez stocker sont limitées par la quantité de mémoire configurée pour le noeud, avec un maximum de 500 Go de mémoire par noeud.

Les clusters partitionnés ont au moins trois partitions horizontales, les données étant réparties entre les partitions horizontales du cluster, de sorte que chaque partition horizontale conserve une partie des données. Chaque partition horizontale est semblable à une grappe, avec un noeud principal et jusqu'à quatre noeuds de réplique. Les grappes partitionnées prennent en charge des scénarios dans lesquels vous devez stocker plus de données que la limite de 500 Go, car si ces grappes sont toujours limitées aux 500 Go de mémoire par noeud, elles sont en réalité de 500 Go par partition.

Les grappes partitionnées horizontalement n'ont pas de points d'extrémité principaux ou de répliques au niveau de la grappe, comme le font les grappes non partitionnées horizontalement. À la place, chaque partition horizontale comporte un point d'extrémité privé auquel vous pouvez vous connecter à la grappe. Pour plus d'informations, voir Obtention des détails de connexion d'une grappe partitionnée horizontalement dans le cache OCI.

Limites et points à considérer pour les clusters partitionnés

Toutes les bibliothèques de clients Valkey et Redis que vous utilisez pour vous connecter à une grappe partitionnée horizontalement doivent prendre en charge Redis CLUSTER MODE avec la prise en charge du nom d'hôte.

  • Le nombre de noeuds configurés par partition horizontale doit être compris entre 1 et 5, avec un maximum de 100 noeuds par grappe.
  • Le nombre de partitions par grappe doit être un nombre inégal de 3 à 99, bien que le nombre maximal de partitions dépende du nombre de noeuds configurés par partition.
  • La quantité de mémoire par noeud doit être comprise entre 2 et 500 Go.
  • Toutes les bibliothèques client Redis que vous utilisez pour vous connecter à une grappe partitionnée doivent prendre en charge Redis CLUSTER MODE avec la prise en charge des noms d'hôte.
  • Les grappes du cache OCI créées en tant que grappes non fragmentées ne peuvent pas être converties en grappes fragmentées et vice versa. Le cache OCI ne fournit pas de moyen automatisé de déplacer des données entre ces types de grappe.

Configurer des clusters partitionnés

Lors de la configuration d'un cluster partitionné, vous devez tenir compte des exigences pour vous aider à déterminer l'équilibre entre le nombre de partitions, le nombre de noeuds par partition et la quantité de mémoire par noeud. L'augmentation du nombre de noeuds par partition horizontale est une bonne stratégie pour augmenter la capacité de lecture d'une grappe, mais elle n'aide pas au stockage d'une grappe, sauf si vous augmentez la quantité de mémoire par noeud. Cela n'aide pas non plus la capacité d'écriture d'un cluster. Pour avoir une incidence sur la capacité d'écriture d'une grappe, augmentez le nombre de partitions horizontales.

Par exemple, comparez les deux scénarios suivants :

  1. Le cluster doit stocker une grande quantité de données, mais ne doit pas gérer une grande quantité d'écritures.
  2. Le cluster doit gérer beaucoup d'écritures, mais ne doit pas stocker une grande quantité de données.

Dans le scénario 1, vous devez configurer le cluster pour qu'il comporte moins de partitions horizontales, avec plus de mémoire par noeud que dans le scénario 2. Pour le scénario 2, vous devez configurer le cluster pour qu'il comporte un plus grand nombre de partitions, avec moins de mémoire par noeud.

Point d'extrémité d'exploration

La fonctionnalité de point d'extrémité de détection est conçue pour les grappes partitionnées horizontalement du cache OCI, fournissant un point d'extrémité unique stable pour les applications client afin de se connecter à la grappe de cache partitionnée. Ce point d'extrémité réduit la complexité de la gestion de plusieurs noeuds de partition, ce qui permet aux applications clients d'interagir avec le cache OCI sans avoir à connaître la topologie de partition sous-jacente.

Chaque instance de grappe comporte un point d'extrémité de détection unique, qui consiste en une combinaison d'une adresse IP et d'un numéro de port. Le point d'extrémité de détection sert de point d'entrée principal pour les connexions client et est essentiel pour permettre une détection transparente des noeuds et gérer la topologie du cluster.

Pour trouver le point d'extrémité de détection de votre grappe, voir Obtention des détails d'une grappe de mémoire cache OCI.
Note

Le cache OCI fournit le point d'extrémité de détection uniquement pour les grappes partitionnées horizontalement nouvellement créées; il ne met pas automatiquement à jour les grappes partitionnées horizontalement existantes pour inclure un point d'extrémité de détection.

Utilisation du point d'extrémité de détection

Pour connecter votre client Redis ou Valkey (tel que Lettuce ou Redisson), configurez-le pour utiliser le nom de domaine complet (FQDN) du point d'extrémité de découverte. Ce point d'extrémité se résout en une adresse IP privée dans votre réseau en nuage virtuel (VCN) et achemine les demandes vers un noeud de grappe.

Après la connexion, le client peut obtenir la topologie de grappe en exécutant des commandes Redis standard, telles que #CLUSTER SLOTS ou #CLUSTER NODES. Ces commandes retournent des informations, notamment les ID de noeud, les rôles, les noms de domaine complets ou les adresses IP, ainsi que les intervalles de créneaux horaires.

Après cela, le client peut effectuer les opérations suivantes :

  • Établissez des connexions directes aux noeuds pertinents à l'aide de leurs noms de domaine complets ou de leurs adresses IP.
  • Exécutez les commandes Redis ou Valkey (par exemple, GET, SET).
  • Tenir à jour l'acheminement en actualisant périodiquement la topologie au moyen du point d'extrémité de détection.

La plupart des procédures d'utilisation des clusters fragmentés sont les mêmes que celles d'utilisation des clusters non fragmentés, mais certaines procédures sont différentes. Pour plus de détails sur les grappes partitionnées, voir :