Aperçu des répliques de lecture

Les répliques de lecture sont des copies en lecture seule de l'instance MySQL principale du système de base de données dans la même région. Ils offrent une évolutivité et des performances supérieures pour les charges de travail lourdes en lecture. Ils ajustent les lectures, c'est-à-dire réduisent la latence des interrogations.

Note

La réplique de lecture n'est pas prise en charge dans un système de base de données de type Toujours gratuit.

Les répliques de lecture sont démarrées lorsqu'un système de base de données est démarré, arrêtées lorsque le système de base de données est arrêté et supprimées lorsque le système est supprimé. Chaque réplique de lecture est automatiquement mise à jour à l'aide d'une réplication asynchrone. Vous pouvez créer des répliques de lecture sur un système de base de données autonome ou à haute disponibilité. Les répliques de lecture ne sont pas prises en charge sur les formes qui ont moins de 8 ECPU ou moins de 4 OCPU.

Vous pouvez créer un maximum de 18 répliques de lecture dans un système de base de données. Chaque réplique de lecture a son propre point d'extrémité. Par exemple, si vous disposez de cinq répliques de lecture, vous disposez de cinq points d'extrémité, un point d'extrémité pour chaque réplique de lecture. Si vous voulez exécuter un sous-ensemble d'interrogations sur l'instance principale et reposer sur les répliques de lecture, vous devez configurer l'application de sorte qu'elle utilise les points d'extrémité appropriés.

Vous pouvez vous connecter à une réplique de lecture de la même manière que pour un système de base de données, à l'aide d'une instance de calcul, d'une session d'hôte bastion ou d'un RPV. Voir Connexion à un système de base de données.

Les répliques de lecture peuvent être en retard par rapport à l'instance principale. Cette mesure est mesurée par la mesure read replica lag. Selon la charge de travail de chaque réplique de lecture, les répliques de lecture peuvent présenter un décalage différent. Même si la charge globale est identique, les répliques de lecture peuvent présenter un décalage différent en fonction de leurs ressources telles que l'UC et la mémoire. Vous pouvez créer des alarmes pour surveiller la mesure et vous aviser lorsque les mesures répondent aux déclencheurs spécifiés par l'alarme. Voir Utilisation de mesures pour créer des alarmes.

Le service MySQL HeatWave effectue une récupération automatique sur toute réplique de lecture ayant échoué. Pendant la récupération, la réplique de lecture est réglée à l'état Updating et ne peut pas accepter les connexions de client. Une fois la récupération réussie, la réplique de lecture est réglée à l'état Active et devient opérationnelle. Si une réplique de lecture a échoué au-delà de la récupération et ne peut plus être répliquée à partir du système de base de données, la réplique de lecture est réglée à l'état Needs Attention. Dans ce cas, vous devez supprimer la réplique de lecture et en créer une nouvelle.

Si vous modifiez les définitions de compte et leurs privilèges (tels que le mot de passe) dans le système de base de données associé, les modifications sont propagées vers les répliques de lecture. Vous n'avez pas besoin de modifier le mot de passe sur chaque réplique de lecture.

Vous ne pouvez pas configurer une réplique de lecture en tant que serveur source d'une réplication sortante; vous pouvez uniquement configurer un système de base de données en tant que serveur source.

Une réplique de lecture hérite du certificat de sécurité du système de base de données associé. Vous ne pouvez pas mettre à jour le certificat de sécurité de la réplique de lecture.

Hériter et remplacer

Par défaut, une réplique de lecture hérite de la forme, de la configuration et de la version du système de base de données. Vous pouvez remplacer ces propriétés sur une réplique de lecture pour créer une réplique de lecture avec une forme, une configuration ou une version différentes de celles du système de base de données. Lorsqu'une réplique de lecture hérite d'une propriété du système de base de données, la modification de la propriété sur le système de base de données modifiera également la propriété sur la réplique de lecture à la même valeur. Lorsqu'une réplique de lecture remplace une propriété du système de base de données, la modification de la propriété sur le système de base de données n'affecte pas la propriété de la réplique de lecture.

Équilibreur de charge de la réplique de lecture

Lorsque vous créez la première réplique de lecture d'un système de base de données, un équilibreur de charge de réplique de lecture est créé automatiquement, ce qui répartit le trafic de lecture entre les répliques de lecture. Toutes les répliques de lecture des mêmes systèmes de base de données sont ajoutées en tant que dorsale à l'équilibreur de charge. Si la création de l'équilibreur de charge de la réplique de lecture échoue pour quelque raison que ce soit, la réplique de lecture n'est pas créée. Un équilibreur de charge de réplique de lecture n'est supprimé que lorsque vous supprimez le système de base de données associé.

Un équilibreur de charge de réplique de lecture a une adresse IP privée et vous ne pouvez pas y accéder directement à partir d'Internet. Vous pouvez vous connecter à l'équilibreur de charge de réplique de lecture de la même manière que vous vous connecter à un système de base de données à l'aide d'une instance de calcul, d'une session d'hôte bastion ou d'un RPV. Voir Connexion à un système de base de données.
  • Lire la politique d'équilibreur de charge pour les répliques : La politique de distribution d'équilibrage de charge de l'équilibreur de charge est basée sur un code de hachage à 5 tuples des informations sur l'adresse IP, le port et le protocole IP source et de destination. Cette politique de hachage à 5 tuples assure l'affinité de session au sein d'une session TCP ou UDP donnée, où les paquets de la même session sont dirigés vers le même serveur dorsal derrière l'équilibreur de charge de réseau.

    L'équilibreur de charge de réplique de lecture répartit les connexions entre toutes les répliques de lecture actives. Différentes connexions peuvent être distribuées vers différentes répliques de lecture, mais toutes les interrogations émises par la même connexion sont toujours transmises à la même réplique de lecture.

  • Temporisation d'inactivité des connexions : L'équilibreur de charge assure le suivi de l'état de tous les flux TCP le traversant. Une combinaison de protocole IP et d'adresses IP source et de destination définit un flux. Le flux peut être supprimé en l'absence de trafic provenant du client ou du serveur pendant un intervalle dépassant la temporisation d'inactivité. Tous les paquets TCP reçus après la temporisation d'inactivité sont supprimés. La durée d'inactivité des flux TCP est de huit heures. Vous ne pouvez pas la modifier. Si la connexion n'est pas utilisée actuellement et que vous souhaitez garder la connexion active, définissez TCP keep-alive sur le client, qui envoie les paquets TCP keep-alive pour maintenir la connexion active.
    Note

    Tous les équilibreurs de charge de réplique de lecture créés avant le 10 octobre 2023 ont une temporisation d'inactivité par défaut de six minutes. Si vous souhaitez augmenter la temporisation d'inactivité à huit heures, communiquez avec Oracle Support.
Un équilibreur de charge de réplique de lecture gère les différents états de la réplique de lecture de la manière suivante :
  • Échec ou état d'attention requis : Si la réplique de lecture est en échec ou nécessite un état d'attention, l'équilibreur de charge supprime la réplique de lecture du serveur dorsal.
  • État inactif : Si la réplique de lecture est à l'état inactif, l'équilibreur de charge ne lui achemine pas le trafic.
  • État actif : Si la réplique de lecture est à l'état actif, l'équilibreur de charge lui achemine le trafic.

Exigences relatives aux adresses IP

Si un système de base de données autonome comporte 18 répliques de lecture, le sous-réseau dans lequel le système de base de données est présent nécessite le nombre d'adresses IP suivant :
  • Un pour le point d'extrémité du système de base de données. Les connexions effectuées à ce point d'extrémité peuvent effectuer des opérations de lecture et d'écriture. Les opérations de lecture renvoient toujours des données à jour.
  • 18 pour les 18 points d'extrémité de réplique de lecture. Les connexions à l'un de ces points d'extrémité peuvent effectuer des opérations en lecture seule. Les opérations de lecture peuvent renvoyer des données légèrement obsolètes en fonction du décalage de réplication.
  • Une pour le point d'extrémité de la réplique de lecture de l'équilibreur de charge. Les connexions établies à ce point d'extrémité sont réparties entre les répliques de lecture actives.