Base de données MySQL source

Cette section contient des informations sur les éléments suivants :

  • Comportement de la manière dont Datastream gère les données extraites d'une base de données MySQL source
  • Versions de la base de données MySQL compatibles avec Datastream
  • Limites connues concernant l'utilisation d'une base de données MySQL en tant que source
  • Présentation de la configuration d'une base de données MySQL source afin que les données puissent être diffusées en streaming vers une destination

Comportement

La base de données MySQL source s'appuie sur sa fonctionnalité de journal binaire pour exposer les modifications apportées aux données.

  • Vous pouvez sélectionner toutes les bases de données ou certaines bases de données d'une source MySQL donnée, ainsi que toutes les tables des bases de données ou de tables spécifiques.
  • Toutes les données historiques sont répliquées.
  • Toutes les modifications apportées au langage de manipulation de données (LMD), telles que les insertions, les mises à jour et les suppressions des bases de données et des tables spécifiées, sont répliquées.
  • Seules les modifications validées sont répliquées.

Versions

Datastream est compatible avec les versions suivantes de la base de données MySQL :

  • MySQL 5.6
  • MySQL 5.7
  • MySQL 8.0

Datastream est compatible avec les types de base de données MySQL suivants :

Limitations connues

Les limites connues d'utilisation de la base de données MySQL en tant que source incluent les suivantes :

  • Les flux sont limités à 10 000 tables.
  • Les tables dont la clé primaire est définie sur INVISIBLE ne peuvent pas être remplies.
  • Une table comportant plus de 500 millions de lignes ne peut être remplie que si les conditions suivantes sont remplies :
    1. La table a un index unique.
    2. Aucune des colonnes de l'index ne peut avoir une valeur nulle.
    3. L'index n'est pas décroissant.
    4. Toutes les colonnes de l'index sont incluses dans le flux.
  • Datastream récupère régulièrement le dernier schéma de la source à mesure que les événements sont traités. Si un schéma est modifié, Datastream détecte la modification apportée et déclenche une extraction de schéma. Toutefois, certains événements peuvent être traités de manière incorrecte ou être supprimés entre les extractions de schéma, ce qui peut entraîner des écarts de données.
  • Certaines modifications apportées au schéma source ne peuvent pas être détectées automatiquement, ce qui peut provoquer une corruption des données. Les modifications de schéma suivantes peuvent entraîner une corruption des données ou l'échec du traitement des événements en aval :
    • Supprimer des colonnes
    • Ajout de colonnes au milieu d'une table
    • Changement du type de données d'une colonne
    • Réorganisation des colonnes
    • Suppression de tables (pertinente si la même table est ensuite recréée avec de nouvelles données ajoutées)
    • Troncation de tables
  • Datastream n'est pas compatible avec la réplication des vues.
  • Datastream n'est pas compatible avec les colonnes de types de données spatiales. Les valeurs de ces colonnes sont remplacées par des valeurs NULL.
  • Datastream n'accepte pas la valeur zéro (0000-00-00 00:00:00) dans les colonnes de types de données DATETIME, DATE ou TIMESTAMP. La valeur zéro est remplacée par la valeur NULL.
  • Datastream n'accepte pas la réplication des lignes qui incluent les valeurs suivantes dans les colonnes JSON: DECIMAL, NEWDECIMAL, TIME, TIME2 DATETIME, DATETIME2, DATE, TIMESTAMP ou TIMESTAMP2. Les événements contenant ces valeurs sont supprimés.
  • Datastream n'est pas compatible avec la compression des transactions de journaux binaires.
  • Datastream n'est pas compatible avec les chaînes de certificats SSL dans les profils de connexion MySQL sources. Seuls les certificats uniques encodés au format PEM x509 sont acceptés.
  • Datastream n'est pas compatible avec les suppressions en cascade. Ces événements ne sont pas écrits dans le journal binaire et, par conséquent, ne sont pas propagés vers la destination.
  • Datastream n'est pas compatible avec les basculements vers des instances répliquées. C'est pourquoi nous vous déconseillons d'utiliser Datastream pour la réplication à partir de sources Cloud SQL pour MySQL Enterprise Plus. Les instances de l'édition Cloud SQL Enterprise Plus sont soumises à une maintenance quasiment sans temps d'arrêt et basculent vers une instance répliquée pendant la maintenance. Cela rompt la continuité du binlog et, par conséquent, les flux affectés échouent définitivement.