Concetti e funzionalità principali

Comportamento e casi d'uso

Datastream offre agli utenti la possibilità di trasferire i dati di origine da un sistema di gestione dei database relazionali (RDBMS) e altre origini in destinazioni come BigQuery e Cloud Storage quasi in tempo reale. Ciò consente casi d'uso a valle, come il caricamento dei dati in BigQuery per il data warehousing e l'analisi o l'esecuzione di job Spark sui dati per i casi d'uso di intelligenza artificiale e machine learning.

Concetti

Change Data Capture (CDC)

Il Change Data Capture (CDC) è un insieme di pattern di progettazione del software che consente di determinare (e monitorare) i dati che sono stati modificati in modo da poter eseguire l'azione utilizzando i dati modificati. CDC è anche un approccio all'integrazione dei dati basato sull'identificazione, l'acquisizione e la distribuzione delle modifiche apportate alle origini dati aziendali.

Origine eventi

Introdotta nel 2005, l'origine degli eventi è un pattern di progettazione in cui ogni modifica allo stato di un'applicazione viene acquisita in un oggetto evento. Utilizzando l'origine degli eventi, un'applicazione può facilmente ricostruire il proprio stato, eseguire il recupero point-in-time (elaborando l'evento fino a quel momento), ricalcolare lo stato in caso di cambiamento nella logica o abilitare la progettazione Command Query Responsibility Segregation (CQRS). Con l'evoluzione degli strumenti per l'elaborazione degli eventi in tempo reale, molte applicazioni stanno passando al modello di origine degli eventi. In passato, i database transazionali erano sempre orientati agli eventi, a causa dei requisiti di atomicità, coerenza, isolamento e durabilità (ACID).

Database transazionali

In un database transazionale, l'insieme di operazioni che dovrà eseguire viene in genere scritto in un log write-ahead (WAL) prima di eseguire qualsiasi operazione sul motore di archiviazione. Dopo l'esecuzione di un'operazione sul motore di archiviazione e il commit nel WAL, l'operazione viene considerata riuscita. L'utilizzo di WAL consente l'atomicità e la durabilità e consente anche la replica ad alta fedeltà del database. Alcuni database scriveranno nel log l'operazione esatta che verrà eseguita a livello di archiviazione (ad esempio write 0x41 on location 20), pertanto queste azioni possono essere replicate (o ripetute) solo sullo stesso motore di archiviazione. Altri database registreranno un'istruzione (o riga) logica completa che può essere eseguita nuovamente su un altro motore di archiviazione.

Eventi e flussi di dati

Datastream importa molti dati quasi in tempo reale da diverse origini e li rende disponibili per il consumo nella destinazione. L'unità di dati archiviati da Datastream è un evento. Un flusso rappresenta l'importazione continua di eventi da un'origine e la relativa scrittura in una destinazione.

Tipi unificati

Le origini dati hanno tipi propri, alcuni specifici per il database stesso e altri generici e condivisi tra database. Poiché esistono molte origini diverse che generano flussi verso una destinazione unificata, deve esistere un modo standard e unificato per rappresentare il tipo di origine originale in tutte le origini. Il tipo unificato è un modo comune e senza perdita di dati per rappresentare i tipi di dati in tutte le origini, in modo che possano essere utilizzati in modo coeso. I tipi unificati supportati da Datastream rappresenteranno il soprainsieme di tutti i tipi normalizzati in tutti i sistemi di origine supportati, in modo che tutti i tipi possano essere supportati senza perdita di dati.

Contesto dell'entità

Datastream ha cinque entità:

  • Le configurazioni di connettività privata consentono a Datastream di comunicare con origini dati tramite una connessione di rete privata e sicura. Questa comunicazione avviene tramite peering Virtual Private Cloud (VPC).
  • I profili di connessione rappresentano informazioni sulla connettività a un database di origine o di destinazione specifico.
  • I stream rappresentano una coppia di profili di connessione di origine e di destinazione, oltre alle impostazioni specifiche per i flussi.
  • Gli oggetti rappresentano una sottoporzione di un flusso. Ad esempio, un flusso di database include un oggetto dati per ogni tabella trasmessa in streaming.
  • Gli eventi rappresentano ogni modifica del Data Manipulation Language (DML) per un determinato oggetto.

Dopo aver creato una configurazione di connettività privata, puoi connetterti a origini ospitate in Google Cloud o altrove tramite un canale di comunicazione privato. La connettività privata è facoltativa e Datastream supporta anche altre modalità di connettività sulle reti pubbliche.

Dopo aver creato un profilo di connessione per un'origine e una destinazione, puoi creare flussi che utilizzano le informazioni archiviate nei profili di connessione per trasferire i dati dall'origine alla destinazione.

Dopo aver creato un flusso, Datastream si connette direttamente all'origine, utilizza i contenuti, quindi elabora e scrive gli eventi nella destinazione in base alla struttura degli eventi.

Le configurazioni di connettività privata e i profili di connessione possono essere gestiti separatamente dai flussi per un facile riutilizzo e poiché spesso, nelle aziende, la persona che può stabilire la connettività a un'origine o a una destinazione non è la stessa persona che crea il flusso.

Funzionalità

Le funzionalità di Datastream includono:

  • Serverless:puoi configurare uno stream e i dati vengono spostati. Non sono previsti costi generali per installazione, allocazione delle risorse o manutenzione. Man mano che i volumi di dati crescono e si riducono, le funzionalità di scalabilità automatica di Datastream allocano le risorse per far sì che i dati si spostino quasi in tempo reale, in modo automatico.
  • Schema dei tipi basato su Avro unificato: Datastream consente un'elaborazione semplice e indipendente dall'origine convertendo tutti i tipi di dati specifici dell'origine in uno schema unificato di tipo Datastream, basato sui tipi Avro.
  • Trasmetti in streaming dati storici e CDC:Datastream trasmette in streaming sia dati storici sia dati di origine CDC quasi in tempo reale, contemporaneamente.
  • Oracle CDC senza licenze aggiuntive: Datastream fornisce flussi di dati CDC basati su LogMiner da qualsiasi origine Oracle versione 11.2g e successive, senza dover pagare licenze o installazioni software aggiuntive.

  • Destinazione BigQuery:le modifiche nell'origine vengono replicate continuamente nelle tabelle BigQuery quasi in tempo reale. I dati in BigQuery sono quasi immediatamente disponibili per l'analisi.

  • Destinazione Cloud Storage: i dati CDC vengono scritti continuamente in file Avro o JSON autodescrittivi in Cloud Storage. Queste informazioni possono essere facilmente utilizzate per l'elaborazione aggiuntiva, direttamente in loco o caricandole a valle in un'altra destinazione, come Spanner.

Casi d'uso

Esistono tre scenari principali per l'utilizzo di Datastream:

  • Integrazione dei dati: i flussi di dati di database e servizi cloud SaaS possono alimentare una pipeline di integrazione dei dati quasi in tempo reale caricando i dati in BigQuery mediante Dataflow o Cloud Data Fusion.
  • Analisi dei flussi di dati: le modifiche nei database vengono importate in pipeline in modalità flusso come Dataflow per il rilevamento di frodi, l'elaborazione di eventi di sicurezza e il rilevamento di anomalie.
  • Disponibilità quasi in tempo reale delle modifiche ai dati: la disponibilità delle modifiche ai dati quasi in tempo reale è alla base delle applicazioni di intelligenza artificiale e machine learning per prevenire il tasso di abbandono o aumentare il coinvolgimento utilizzando le iniziative di marketing o il ricollegamento ai sistemi di produzione.

Panoramica comportamento

Datastream consente ai clienti di trasmettere in streaming le modifiche in corso da più origini dati direttamente a Google Cloud.

Origini

  • Per poter utilizzare un'origine con Datastream, è necessario un intervento di configurazione che include l'autenticazione e opzioni di configurazione aggiuntive.
  • Ogni origine genera eventi che riflettono tutte le modifiche del Data Manipulation Language (DML).
  • Ogni flusso può eseguire il backfill dei dati storici e trasmettere le modifiche in corso nella destinazione.

Destinazioni

Datastream supporta BigQuery e Cloud Storage come destinazioni. Quando viene creato il flusso, vengono definiti i set di dati BigQuery o il bucket Cloud Storage desiderati.

Consegna eventi

  • L'ordine dell'evento non è garantito. I metadati degli eventi includono informazioni che possono essere utilizzate per ordinare gli eventi.
  • La pubblicazione degli eventi avviene almeno una volta. I metadati degli eventi includono dati che possono essere utilizzati per rimuovere dati duplicati nella destinazione.
  • La dimensione dell'evento è limitata a 20 MB per evento per le destinazioni BigQuery e a 30 MB per evento per le destinazioni Cloud Storage.

Per scoprire di più sugli eventi, consulta Eventi e stream.

Alta disponibilità e ripristino di emergenza

Questa sezione contiene informazioni su come Datastream gestisce gli scenari associati all'alta disponibilità e al ripristino di emergenza.

  • Alta disponibilità: Datastream è un servizio a livello di regione in esecuzione su più zone in ogni regione. Un errore in una singola zona in una regione non influirà sulla disponibilità o sulla qualità del servizio nelle altre zone.
  • Ripristino di emergenza:se si verifica un errore in una regione, tutti gli stream in esecuzione in quella regione non saranno disponibili per tutta la durata dell'interruzione. Una volta risolta l'interruzione, Datastream continuerà esattamente da dove si era interrotto e tutti i dati non scritti nella destinazione verranno recuperati di nuovo dall'origine. In questo caso, nella destinazione potrebbero risiedere duplicati di dati. Per saperne di più sulla rimozione dei dati duplicati, consulta Consegna eventi.

Dati iniziali e dati CDC

Poiché le origini dati esistono prima del momento in cui l'origine era connessa a un flusso (dati storici), Datastream genera eventi sia dai dati storici sia dalle modifiche ai dati che avvengono in tempo reale.

Per garantire un accesso rapido ai dati, i dati storici e le modifiche ai dati in tempo reale vengono replicati contemporaneamente nella destinazione. I metadati dell'evento indicano se l'evento proviene dal backfill o dalla CDC.