Domande frequenti

In questa pagina trovi le risposte alle domande frequenti (FAQ) sull'utilizzo di Datastream. Queste domande frequenti sono associate a:

  • Domande generali su Datastream e Change Data Capture (CDC)
  • Comportamento e limitazioni generali delle fonti
  • Comportamento e limitazioni dell'origine MySQL
  • Comportamento e limitazioni dell'origine Oracle
  • Comportamento e limitazioni dell'origine PostgreSQL (incluso AlloyDB per PostgreSQL)
  • Comportamento e limitazioni dell'origine SQL Server
  • Comportamento e limitazioni dell'origine Salesforce
  • Comportamento e limitazioni dell'origine Salesforce Marketing Cloud (anteprima)
  • Comportamento della destinazione BigQuery
  • Comportamento della destinazione Cloud Storage
  • Casi d'uso comuni per l'utilizzo di Datastream
  • In che modo Datastream si integra con i servizi di dati Google Cloud
  • Sicurezza e connettività
  • Monitoraggio di Datastream
  • Prezzi
  • Ulteriori informazioni su Datastream

Domande generali su Datastream e Change Data Capture (CDC)

Domanda Risposta
Cos'è Datastream?

Datastream è un servizio CDC (Change Data Capture) e di replica dei dati serverless e facile da usare. Datastream consente la replica continua dei dati da origini di database relazionali come AlloyDB per PostgreSQL, PostgreSQL, MySQL, SQL Server e Oracle, nonché da Salesforce, Salesforce Marketing Cloud (anteprima), ServiceNow (anteprima) e MongoDB, direttamente in BigQuery. Datastream offre la scalabilità, la velocità, la sicurezza e la semplicità di cui le aziende moderne hanno bisogno. Con un'architettura serverless e a scalabilità automatica, Datastream ti consente di configurare una pipeline ELT (Extract, Load, and Transform) per la replica dei dati a bassa latenza, consentendo insight quasi in tempo reale.

Datastream è anche in grado di sincronizzare i flussi di dati in database e applicazioni eterogenei in modo affidabile e con latenza minima. Puoi integrare il servizio con i modelli Dataflow per replicare i database in Cloud SQL o Spanner per la sincronizzazione dei database oppure sfruttare il flusso di eventi direttamente da Cloud Storage per creare architetture basate su eventi.

Quali sono i metodi con cui Datastream trasmette i dati? Datastream trasmette i dati da un'origine a una destinazione utilizzando uno dei due metodi seguenti:
  • CDC: acquisizione delle modifiche in corso dall'origine in tempo reale.
  • Backfill: fornisce uno snapshot cronologico dei dati presenti in una tabella.
Che cos'è il CDC?

CDC è un approccio all'integrazione dei dati che ti consente di integrarli e analizzarli più rapidamente, utilizzando meno risorse di sistema. È un metodo per estrarre solo le ultime modifiche (aggiornamenti, inserimenti o eliminazioni) da un'origine dati, spesso leggendo il log delle modifiche che l'origine conserva per la propria integrità transazionale interna.

CDC è un meccanismo altamente efficiente per limitare l'impatto sull'origine durante il caricamento di nuovi dati in archivi di dati operativi e data warehouse ed elimina la necessità di aggiornamenti di caricamento collettivo e finestre batch scomode consentendo il caricamento incrementale o lo streaming quasi in tempo reale delle modifiche ai dati in una destinazione dati.

CDC può essere utilizzato in molti casi d'uso che traggono valore dall'accesso costante alle modifiche dei dati man mano che si verificano, ad esempio analisi, sincronizzazione dei dati tra sistemi distribuiti geograficamente e architetture basate su eventi.

Che cos'è il backfill?

Oltre alle modifiche in corso, Datastream utilizza anche il backfill per estrarre tutti i dati esistenti da un'origine e poi trasmetterli in streaming in una destinazione. Di conseguenza, la destinazione viene "riempita" con tutti i dati storici dell'origine. Esistono due tipi di backfill:

  • Incrementale: il tipo predefinito di riempimento per le tabelle. Durante il backfill incrementale, Datastream recupera i dati da intervalli di righe in più batch e li trasmette in streaming a una destinazione batch per batch.
  • Dump completo: durante il backfill del dump completo, Datastream estrae tutti i dati contemporaneamente e li trasmette in streaming a una destinazione.
Esistono limitazioni da considerare quando esegui un backfill?

Per informazioni sui vincoli di backfill, consulta le pagine relative alle limitazioni note per i rispettivi tipi di origine:

Qual è l'ordine consigliato per le operazioni CDC e di backfill? Nella maggior parte dei casi, non è prevista alcuna considerazione speciale. Quando il backfill è abilitato su uno stream, Datastream esegue contemporaneamente il backfill e CDC. In alcuni casi limite, ad esempio quando si replicano tabelle molto grandi che non possono essere sottoposte a backfill utilizzando Datastream, potrebbe essere necessario caricare prima i dati in BigQuery prima di avviare lo stream.
Posso monitorare lo stato delle operazioni di CDC e backfill?

Puoi monitorare lo stato del backfill per oggetto:

  1. Nella console Google Cloud , vai alla pagina Stream.
  2. Fai clic sullo stream che vuoi monitorare.
  3. Fai clic sulla scheda Oggetti.

Lo stato del CDC è effettivamente lo stato dello stream. Se l'operazione CDC non va a buon fine, l'intero flusso non va a buon fine.

In Cloud Monitoring sono disponibili metriche aggiuntive a livello di oggetto. Per saperne di più, consulta la documentazione di Cloud Monitoring.

Che cos'è uno stream di modifiche rispetto alla replica?

Uno stream di modifiche è una sequenza di eventi che Datastream emette in una destinazione per il consumo downstream. Il risultato di un flusso di modifiche scritto in Cloud Storage è un insieme di file che contengono eventi del log delle modifiche di una tabella specifica in un determinato periodo di tempo. Gli eventi rappresentano inserimenti, aggiornamenti ed eliminazioni nella tabella e possono essere utilizzati ed elaborati a valle di Cloud Storage da servizi come Dataflow per casi d'uso come le architetture basate su eventi.

Replica nel contesto di Datastream significa una rappresentazione aggiornata e 1:1 della tabella di origine nella destinazione. Ad esempio, una tabella in Oracle le cui modifiche vengono replicate continuamente in una tabella BigQuery, dove la tabella BigQuery viene aggiornata utilizzando le modifiche trasmesse in streaming dalla tabella Oracle. La replica sfrutta le modifiche in tempo reale consumando ogni evento di modifica e utilizzandolo per aggiornare la destinazione. Datastream consente la replica diretta in BigQuery e supporta destinazioni aggiuntive come Cloud SQL e Spanner tramite l'integrazione con Dataflow, sfruttando modelli che estraggono gli eventi del flusso di modifiche da Cloud Storage e aggiornano le tabelle di destinazione di conseguenza.

Datastream richiede un agente sull'origine? Non è necessario installare un agente sulla sorgente. Datastream utilizza interfacce esistenti (come Oracle LogMiner) per estrarre i dati dall'origine.
Quante tabelle posso includere in un singolo stream? Datastream può gestire fino a 10.000 tabelle in un singolo stream. Non esiste alcun motivo tecnico per dividere un database in più stream, anche se potrebbero esserci alcune considerazioni aziendali per utilizzare stream diversi per flussi logici diversi, ad esempio quando si replicano transazioni di grandi dimensioni da origini PostgreSQL. Tuttavia, ogni flusso aggiunge carico al database di origine. Questo carico è trascurabile per CDC, ma può essere significativo per il backfill.
Qual è l'impatto sulle prestazioni dell'utilizzo di Datastream su un database di produzione?

CDC è un meccanismo molto efficiente per limitare l'impatto sull'origine quando vengono caricati nuovi dati nei datastore e nei data warehouse di destinazione. Inoltre, CDC elimina la necessità di aggiornamenti con caricamento collettivo e finestre batch scomode, consentendo il caricamento incrementale o lo streaming quasi in tempo reale delle modifiche dei dati in una destinazione.

Inoltre, Datastream riduce al minimo l'impatto di un backfill iniziale limitando il numero di attività di backfill simultanee e offrendoti il controllo per decidere quali oggetti eseguire il backfill e quando.

Puoi copiare i file di log dall'origine a Google Cloud? No. Datastream esegue query sui log direttamente sul server di database e nella destinazione vengono scritte solo le modifiche alle tabelle specificate.
Datastream può trasferire anche i dati storici? Sì. Per impostazione predefinita, Datastream recupera tutti i dati storici dalle tabelle del database dell'origine specificata, in parallelo al flusso CDC. Datastream ti offre la flessibilità di ottenere dati storici da alcune o da tutte le tabelle del database nell'origine. Inoltre, quando configuri lo stream, puoi scegliere di disattivare il riempimento storico.
Datastream garantisce la consegna "exactly-once"? No. Datastream garantisce la consegna "at-least-once". I metadati aggiuntivi che Datastream scrive in ogni evento possono essere utilizzati per rimuovere i dati duplicati.
Datastream può gestire i database criptati? Sì.
Datastream può trasmettere in streaming tabelle e colonne specifiche da un'origine? Sì. Con Datastream, puoi specificare elenchi di inclusione ed esclusione per tabelle e schemi, in modo da trasmettere solo i dati che ti interessano da un'origine a una destinazione. Per le tabelle incluse, puoi escludere colonne specifiche delle tabelle per perfezionare ulteriormente i dati che vuoi trasmettere in streaming alla destinazione. Tuttavia, le viste materializzate non possono essere replicate.
Come si sposta un flusso in un altro progetto o in un'altra regione?
  1. Crea uno stream in una nuova regione o in un nuovo progetto con la stessa configurazione dello stream esistente, ma non selezionare la casella di controllo Recupera dati storici.
  2. Avvia lo stream che hai creato.
  3. Dopo che lo stream che hai creato ha lo stato RUNNING, metti in pausa lo stream esistente.
  4. (Facoltativo) Modifica il nuovo stream selezionando la casella di controllo Backfill dati storici. I dati esistenti nelle tabelle aggiunte allo stream in futuro verranno trasmessi dall'origine alla destinazione.
Come gestisce Datastream le transazioni non sottoposte a commit nei file di log del database? Quando i file di log del database contengono transazioni non sottoposte a commit, se vengono eseguite operazioni di rollback, il database lo riflette nei file di log come operazioni di data manipulation language (DML) "inverso". Ad esempio, un'operazione INSERT di rollback avrà un'operazione DELETE corrispondente. Datastream legge queste operazioni dai file di log.
Qual è la disponibilità regionale di Datastream?

Per visualizzare un elenco delle regioni in cui Datastream è disponibile, consulta Liste consentite e regioni IP.

Comportamento e limitazioni generali delle fonti

Domanda Risposta
Quali origini supporta Datastream?