Utiliser le déchargement de requête unifiée avec des liens cloud

Lorsque vous avez de lourdes charges de travail de lecture à l'aide de liens cloud, vous pouvez configurer un leader ou un membre de pool élastique en tant que fournisseur de liens cloud, où le fournisseur permet au déchargement de requêtes ProxySQL de décharger des requêtes (lectures) vers un nombre quelconque de clones actualisables.

A propos du déchargement de requêtes unifiées avec des liens cloud

Le déchargement unifié des requêtes offre des avantages en termes de configuration et de performances en permettant à un ou plusieurs clones actualisables de gérer les requêtes pour un leader ou un membre de pool élastique qui combine le déchargement des requêtes de la fonctionnalité de pool élastique avec le déchargement des cibles Cloud Links.

Le déchargement unifié des requêtes vous permet d'ajouter des clones actualisables pour répondre à l'augmentation de la demande de requête (lecture) provenant de l'utilisation de Cloud Links sur les consommateurs de Cloud Links. Le déchargement de ces requêtes Cloud Links à partir d'un seul émetteur permet à votre application d'évoluer horizontalement, où vous pouvez ajouter des clones actualisables pour maintenir les performances globales du système. Avec cette configuration, vous pouvez ajuster les ressources selon vos besoins pour satisfaire votre volume de demande de requête.

Cette fonctionnalité vous permet de configurer une seule fois la cible de déchargement des liens cloud et d'acheminer automatiquement les requêtes vers un nombre quelconque de clones actualisables sans modification de la configuration. En activant le déchargement de requête en lecture seule ProxySQL et en la combinant avec le déchargement de cible Cloud Links, vous pouvez ajouter ou enlever des clones actualisables et la liste des clones actualisables auxquels envoyer des requêtes est automatiquement mise à jour, sans nécessiter de configuration manuelle. Lorsque des clones actualisables sont ajoutés, le déchargement des requêtes unifiées s'ajuste dynamiquement pour utiliser les nouvelles ressources au fur et à mesure de leur ajout. En comparaison, lorsque vous utilisez des liens cloud et que vous configurez des cibles de déchargement sans déchargement de requête unifié, vous devez configurer manuellement la liste des clones actualisables auxquels envoyer des requêtes à l'aide du déchargement de cible des liens cloud uniquement. Le déchargement de requête unifié indique une cible de déchargement de liens cloud unique qui est un membre ou un leader de pool élastique, et la cible utilise ProxySQL pour décharger les requêtes vers un nombre quelconque de clones actualisables.

La figure suivante illustre le déchargement d'une requête unifiée avec les éléments suivants :

  • Trois consommateurs de liens cloud : instance 1, instance 2 et instance 3

  • Producteur de liens cloud qui est également un leader de pool élastique (cette instance peut également être un membre de pool élastique). Le déchargement de requête est activé pour cette instance.

  • Trois clones actualisables de pool élastique pour le déchargement des requêtes



Comme c'est le cas pour le déchargement des requêtes, avec le déchargement des requêtes unifiées, les données des clones actualisables sont à jour en fonction de l'heure de la dernière actualisation pour chaque clone actualisable. Cela signifie que lorsque vous utilisez le déchargement d'interrogation unifié, vous devez effectuer toutes les opérations sur les données qui impliquent des instructions LDD, LMD ou PL/SQL sur le leader du pool élastique. Ensuite, une fois qu'un clone actualisable est actualisé, les modifications de l'instance où le déchargement en lecture seule est activé sont répercutées sur le clone actualisable.

Pour plus d'informations, reportez-vous à Utilisation de clones actualisables avec Autonomous Database.

Fonctionnalités de déchargement de requête unifiée

Le déchargement de requête unifié fournit toutes les fonctionnalités du déchargement de requête ProxySQL, notamment :

  • Ajout dynamique : des clones actualisables peuvent être ajoutés en tant que membres du pool élastique à tout moment. Le déchargement des requêtes s'ajuste dynamiquement pour utiliser de nouveaux membres.

  • Suppression dynamique : les clones actualisables peuvent être supprimés en tant que membres du pool élastique à tout moment. Le déchargement des requêtes s'ajuste dynamiquement pour arrêter le déchargement des requêtes vers un clone actualisable qui a été supprimé du pool élastique.

  • Toutes les autres fonctionnalités de ProxySQL. Pour plus d'informations, reportez-vous à A propos du déchargement de requête.

Activer le déchargement de requête unifiée avec des liens cloud

Explique comment activer le déchargement des requêtes unifiées avec des liens cloud pour un leader de pool élastique ou pour un membre de pool élastique.

Les conditions suivantes sont requises pour activer le déchargement des requêtes unifiées et sont les mêmes que pour activer le déchargement des requêtes SQL proxy :

  • Vous pouvez activer le déchargement des requêtes unifiées pour un leader de pool élastique ou pour un membre de pool élastique sans clone actualisable. Une fois que vous avez activé le déchargement des requêtes unifiées, vous pouvez ajouter des clones actualisables et le déchargement des requêtes unifiées s'ajuste dynamiquement pour utiliser les clones actualisables.

  • Un clone actualisable qui peut être utilisé avec un déchargement de requête unifiée doit :

    • Faites en sorte que le leader de pool élastique soit sa base de données source et se trouve dans la même région que le leader de pool élastique.

      ou

      Avoir un membre de pool élastique comme base de données source et être dans la même région que le membre de pool élastique.

    • Soyez un membre de pool élastique.

Pour activer le déchargement des requêtes unifiées, procédez comme suit :

  1. Déterminez le fournisseur de liens cloud et, sur cette instance Autonomous Database, activez le déchargement de requête ProxySQL.

    Le fournisseur Cloud Links doit être un membre de pool élastique ou un leader de pool élastique.

    Pour plus d'informations sur l'activation du déchargement de requête ProxySQL, reportez-vous à Activation du déchargement de requête.

  2. Sur le fournisseur de liens cloud, enregistrez un ou plusieurs jeux de données ou mettez à jour l'inscription pour un ou plusieurs jeux de données.

    Le fournisseur Cloud Links doit être un membre de pool élastique ou un leader de pool élastique.

    Lorsque vous enregistrez ou mettez à jour un ensemble de données, la valeur du paramètre offload_targets doit être l'une des suivantes pour permettre le déchargement d'une requête unifiée :

    • NULL : si vous inscrivez un ensemble de données ou mettez à jour un ensemble de données et que vous indiquez le paramètre offload_targets en tant que NULL, le déchargement de requête unifiée est activé.

    • Aucune valeur : si vous inscrivez un ensemble de données ou mettez à jour un ensemble de données et que vous n'incluez pas le paramètre offload_targets, cela revient à définir la valeur sur NULL et à activer le déchargement de requête unifiée (la valeur par défaut pour offload_targets est NULL).

    • Vous indiquez des valeurs avec offload_targets. Cependant, aucun OCID d'instance Autonomous Database destinataire ne correspond à une demande entrante (et le mot-clé ANY n'est pas indiqué). Dans ce cas, le système dirige la requête vers l'un des clones actualisables du producteur (le déchargement de requête unifiée est activé).

    Dans deux cas, le déchargement de requête unifiée n'est pas utilisé et le déchargement de cible Cloud Links s'applique :

    • Si vous inscrivez ou mettez à jour un ensemble de données et que vous incluez le paramètre offload_targets et qu'un OCID d'instance indiqué pour un destinataire correspond à une demande entrante, le déchargement de la cible Cloud Links est utilisé. Dans ce cas, le système utilise le clone actualisable indiqué avec la correspondance correspondante (ce comportement est le même que celui décrit pour les cibles de déchargement avec des liens cloud).

    • Si le cas précédent s'applique ou si vous inscrivez ou mettez à jour un ensemble de données et incluez le paramètre offload_targets et que vous indiquez le mot-clé ANY, le déchargement de requête unifiée n'est pas utilisé. Dans ce cas, le système utilise le clone actualisable indiqué avec le mapping ANY (ce comportement est le même que celui décrit pour les cibles de déchargement avec des liens cloud).

    Pour plus d'informations, reportez-vous à Inscription d'un ensemble de données avec des cibles de déchargement pour l'accès à un ensemble de données et à Procédure REGISTER.

Une fois que vous avez terminé ces étapes et inscrit un ensemble de données sur le fournisseur de portlets et que ProxySQL est activé, tout clone actualisable de l'instance Autonomous Database du fournisseur de portlets peut être déchargé vers la cible.

Vous pouvez contrôler le statut des liens cloud pour vérifier qu'un ensemble de données est activé par ProxySQL avec les vues Liens cloud. Pour plus d'informations, reportez-vous à Surveillance et affichage des informations sur les liens cloud.

Désactiver le déchargement de requête unifiée

Explique comment désactiver le déchargement des requêtes unifiées.

Il existe plusieurs façons de désactiver le déchargement des requêtes unifiées :