Database MySQL di origine

Questa sezione contiene informazioni su:

  • Il comportamento di Datastream per la gestione dei dati estratti da un database MySQL di origine
  • Le versioni del database MySQL supportate da Datastream
  • Limitazioni note per l'utilizzo del database MySQL come origine
  • Panoramica di come configurare un database MySQL di origine in modo che i dati possano essere trasmessi in streaming a una destinazione

Comportamento

Questa sezione descrive il comportamento delle origini MySQL quando replichi i dati utilizzando Datastream. Quando importi i dati dai database MySQL, puoi utilizzare la replica basata su binlog o la replica basata sull'ID transazione globale (anteprima). Seleziona il metodo CDC quando crei uno stream.

Replica basata su binlog

Datastream può utilizzare i file di log binario per tenere traccia delle modifiche ai dati nei database MySQL. Le informazioni contenute in questi file di log vengono poi replicate nella destinazione per riprodurre le modifiche apportate all'origine.

Le caratteristiche principali della replica basata su binlog in Datastream sono:

  • È possibile selezionare tutti i database o database specifici di una determinata origine MySQL, nonché tutte le tabelle dei database o tabelle specifiche.
  • Tutti i dati storici vengono replicati.
  • Tutte le modifiche data manipulation language (DML), come inserimenti, aggiornamenti ed eliminazioni dai database e dalle tabelle specificati, vengono replicate.
  • Vengono replicate solo le modifiche committate.

Replica basata sull'ID transazione globale (GTID)

Datastream supporta anche la replica basata su identificatori globali (GTID).

L'ID transazione globale (GTID) è un identificatore univoco creato e associato a ogni transazione confermata in un'origine MySQL. Questo identificatore è unico non solo per l'origine da cui ha avuto origine, ma anche per tutti i server in una determinata topologia di replica, a differenza della replica basata su log binari in cui ogni nodo del cluster di database gestisce i propri file binlog con la propria numerazione. La gestione di file binlog e numerazione separati potrebbe diventare un problema in caso di errore o tempo di riposo pianificato, perché la continuità del binlog viene interrotta e la replica basata su binlog non riesce.

La replica basata su GTID supporta i failover, i cluster di database autogestiti e continua a funzionare indipendentemente dalle modifiche apportate al cluster di database.

Le caratteristiche principali della replica basata su GTID in Datastream sono:

  • È possibile selezionare tutti i database o database specifici di una determinata origine MySQL, nonché tutte le tabelle dei database o tabelle specifiche.
  • Tutti i dati storici vengono replicati.
  • Tutte le modifiche data manipulation language (DML), come inserimenti, aggiornamenti ed eliminazioni dai database e dalle tabelle specificati, vengono replicate.
  • Vengono replicate solo le modifiche committate.
  • Supporto continuo per i failover.

Versioni

Datastream supporta le seguenti versioni del database MySQL:

  • MySQL 5.6
  • MySQL 5.7
  • MySQL 8.0

    La

Datastream supporta i seguenti tipi di database MySQL:

Limitazioni note

Le limitazioni note per l'utilizzo del database MySQL come origine includono:

  • Gli stream sono limitati a 10.000 tabelle.
  • Non è possibile eseguire il backfill delle tabelle con una chiave primaria definita come INVISIBLE.
  • Non è possibile eseguire il backfill di una tabella con più di 500 milioni di righe, a meno che non siano soddisfatte le seguenti condizioni:
    1. La tabella ha un indice univoco.
    2. Nessuna delle colonne dell'indice può ammettere valori nulli.
    3. L'indice non è decrescente.
    4. Tutte le colonne dell'indice sono incluse nello stream.
  • Datastream recupera periodicamente lo schema più recente dall'origine durante l'elaborazione degli eventi. Se uno schema cambia, Datastream lo rileva e attiva un recupero dello schema. Tuttavia, alcuni eventi potrebbero essere elaborati in modo errato o essere eliminati tra i recuperi dello schema, il che può causare discrepanze nei dati.
  • Non tutte le modifiche allo schema di origine possono essere rilevate automaticamente, nel qual caso potrebbe verificarsi la corruzione dei dati. Le seguenti modifiche allo schema potrebbero causare il danneggiamento dei dati o l'errore di elaborazione degli eventi a valle:
    • Eliminazione di colonne
    • Aggiunta di colonne al centro di una tabella
    • Modificare il tipo di dati di una colonna
    • Riordinare le colonne
    • Eliminazione di tabelle (rilevante se la stessa tabella viene poi ricreata con l'aggiunta di nuovi dati)
    • Tabella troncata
  • Datastream non supporta la replica delle visualizzazioni.
  • Datastream non supporta le colonne di tipi di dati spaziali. I valori in queste colonne vengono sostituiti con valori NULL.
  • Datastream non supporta il valore zero (0000-00-00 00:00:00) nelle colonne dei tipi di dati DATETIME, DATE o TIMESTAMP. Il valore zero viene sostituito con il valore NULL.
  • Datastream non supporta la replica delle righe che includono i seguenti valori nelle colonne JSON: DECIMAL, NEWDECIMAL, TIME, TIME2 DATETIME, DATETIME2, DATE, TIMESTAMP o TIMESTAMP2. Gli eventi contenenti questi valori vengono ignorati.
  • Datastream non supporta la compressione delle transazioni dei log binari.
  • Datastream non supporta le catene di certificati SSL nei profili di connessione MySQL di origine. Sono supportati solo certificati singoli x509 con codifica PEM.
  • Datastream non supporta le eliminazioni in cascata. Questi eventi non vengono scritti nel log binario e, di conseguenza, non vengono propagati alla destinazione.
  • Quando utilizzi la replica basata su log binari, Datastream non supporta i failover alle repliche. Per questo motivo, non consigliamo di utilizzare Datastream per la replica dalle origini Cloud SQL per MySQL Enterprise Plus. Le istanze della versione Enterprise Plus di Cloud SQL sono soggette a manutenzione con tempi di inattività quasi azzerati e al failover su una replica durante la manutenzione. Ciò interrompe la continuità del log bin e, di conseguenza, gli stream interessati non riescono definitivamente.

Limitazioni aggiuntive per la replica basata su GTID

  • Il recupero dello stream non è supportato se utilizzi la replica basata su GTID.
  • La creazione di tabelle da altre tabelle utilizzando le istruzioni CREATE TABLE ... SELECT non è supportata.
  • Per le limitazioni di MySQL che si applicano alla replica basata su GTID, consulta la documentazione di MySQL.

Passaggi successivi