Database MySQL di origine

Questa sezione contiene informazioni su:

  • Il comportamento in cui Datastream gestisce i 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 su come configurare un database MySQL di origine in modo che i dati possano essere trasmessi da questo database a una destinazione

Comportamento

Il database MySQL di origine si basa sulla sua funzionalità di log binario per esporre le modifiche ai dati.

  • Puoi selezionare tutti i database o database specifici di una determinata origine MySQL, nonché tutte le tabelle dei database o di tabelle specifiche.
  • Tutti i dati storici vengono replicati.
  • Tutte le modifiche in Data Manipulation Language (DML), ad esempio inserti, aggiornamenti ed eliminazioni dai database e dalle tabelle specificati, vengono replicate.
  • Solo le modifiche di cui hai eseguito il commit vengono replicate.

Versioni

Datastream supporta le seguenti versioni del database MySQL:

  • MySQL 5.6
  • MySQL 5.7
  • MySQL 8.0

Datastream supporta i seguenti tipi di database MySQL:

Limitazioni note

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

  • I flussi 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 vengano soddisfatte le seguenti condizioni:
    1. La tabella ha un indice univoco.
    2. Nessuna colonna dell'indice presenta valori null.
    3. L'indice non è decrescente.
    4. Tutte le colonne dell'indice sono incluse nel flusso.
  • Datastream recupera periodicamente lo schema più recente dall'origine man mano che gli eventi vengono elaborati. Se uno schema cambia, Datastream rileva la modifica e attiva il recupero dello schema. Tuttavia, alcuni eventi potrebbero essere elaborati in modo errato o essere eliminati tra i recuperi dello schema, causando possibili discrepanze nei dati.
  • Non tutte le modifiche allo schema di origine possono essere rilevate automaticamente, nel qual caso potrebbe verificarsi il danneggiamento dei dati. Le seguenti modifiche allo schema possono causare il danneggiamento dei dati o la mancata elaborazione degli eventi downstream:
    • Eliminazione delle colonne
    • Aggiungere colonne al centro di una tabella
    • Modifica del tipo di dati di una colonna
    • Riordinamento delle colonne
    • Eliminazione delle tabelle (pertinente se la stessa tabella viene poi ricreata con nuovi dati aggiunti)
    • Troncamento delle tabelle
  • Datastream non supporta la replica delle viste.
  • Datastream non supporta le colonne di tipi di dati spaziali. I valori in queste colonne vengono sostituiti con i 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 di 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 x509 con codifica PEM.
  • Datastream non supporta le eliminazioni a cascata. Questi eventi non vengono scritti nel log binario e, di conseguenza, non vengono propagati nella destinazione.
  • Datastream non supporta i failover nelle repliche. Per questo motivo, non è consigliabile utilizzare Datastream per la replica da origini Cloud SQL per MySQL Enterprise Plus. Le istanze della versione Cloud SQL Enterprise Plus sono soggette alla manutenzione con tempi di inattività quasi pari allo zero e failover su una replica durante la manutenzione. In questo modo viene interrotta la continuità del binlog e, di conseguenza, i flussi interessati si arrestano definitivamente.