Concetti e funzionalità chiave

Comportamento e casi d'uso

Datastream offre agli utenti la possibilità di importare 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ò fornisce casi d'uso downstream come il caricamento dei dati in BigQuery per data warehousing e analisi o l'esecuzione di job Spark sui dati per casi d'uso di intelligenza artificiale e machine learning.

Concetti

Change Data Capture (CDC)

La Change Data Capture (CDC) è un insieme di pattern di progettazione del software utilizzati per determinare (e monitorare) i dati che sono stati modificati in modo da poter intervenire utilizzando i dati modificati. Il CDC è anche un approccio all'integrazione dei dati che si basa sull'identificazione, l'acquisizione e l'applicazione delle modifiche apportate alle origini dati aziendali.

Sourcing di eventi

Introdotto nel 2005, l'event sourcing è un pattern di progettazione in cui ogni modifica dello stato di un'applicazione viene acquisita in un oggetto evento. Utilizzando l'event sourcing, un'applicazione può ricostruire facilmente il proprio stato, eseguire il recupero in un determinato momento (elaborando l'evento fino a quel momento), ricalcolare lo stato in caso di modifica della logica o abilitare il design CQRS (Command Query Responsibility Segregation). Con l'evoluzione degli strumenti per l'elaborazione degli eventi in tempo reale, molte applicazioni stanno adottando il modello di origine evento. 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 il database eseguirà viene solitamente scritto in un log write-ahead (WAL) prima che qualsiasi operazione venga eseguita sull'engine di archiviazione. Dopo che un'operazione viene eseguita nell'engine di archiviazione e viene eseguita la commit nel log WAL, l'operazione viene considerata riuscita. L'uso di WAL garantisce atomicità e durabilità e consente anche una replica ad alta fedeltà del database. Alcuni database scrivono 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 rifatte) solo nello stesso motore di archiviazione. Altri database registreranno un'istruzione logica (o riga) completa che può essere eseguita di nuovo su un altro motore di archiviazione.

Eventi e flussi di dati

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

Tipi unificati

Le origini dati hanno i propri tipi, alcuni specifici per il database stesso e altre generici e condivisi tra i database. Poiché esistono molte origini diverse che generano stream in 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 coerente. 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 le informazioni di connettività a un database di origine o di destinazione specifico.
  • Gli stream rappresentano una coppia di profili di connessione di origine e destinazione, oltre a impostazioni specifiche dello stream.
  • Gli oggetti rappresentano una sottoporzione di uno stream. Ad esempio, uno stream di database ha un oggetto dati per ogni tabella in streaming.
  • Gli eventi rappresentano ogni modifica del linguaggio di manipolazione dei dati (DML) per un determinato oggetto.

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

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

Dopo aver creato uno stream, Datastream si connette direttamente all'origine, consuma i contenuti e poi elabora e scrive gli eventi nella destinazione in base alla struttura dell'evento.

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

Funzionalità

Le funzionalità di Datastream includono:

  • Serverless: puoi configurare uno stream per iniziare a trasferire i dati. 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 risorse per mantenere i dati in movimento in quasi tempo reale e automaticamente.
  • Schema del tipo unificato basato su Avro: Datastream consente un'elaborazione semplice e indipendente dall'origine convertendo tutti i tipi di dati specifici dell'origine in uno schema di tipo Datastream unificato, basato sui tipi Avro.
  • Flusso di dati storici e CDC: Datastream trasmette in flusso dati storici e di origine CDC quasi in tempo reale, contemporaneamente.
  • CDC Oracle senza licenze aggiuntive: Datastream fornisce lo streaming CDC basato su LogMiner da qualsiasi origine Oracle versione 11.2g e successive, senza dover pagare licenze o installazioni di software aggiuntive.

  • Destinazione BigQuery: le modifiche all'origine vengono replicate continuamente nelle tabelle BigQuery quasi in tempo reale. I dati in BigQuery sono disponibili quasi immediatamente per le 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 un'ulteriore elaborazione, direttamente in situ o caricando i dati in un'altra destinazione, ad esempio Spanner.

Casi d'uso

Esistono tre scenari principali per l'utilizzo di Datastream:

  • Integrazione dei dati: i flussi di dati provenienti da database e servizi cloud Software-as-a-Service (SaaS) possono alimentare una pipeline di integrazione dei dati quasi in tempo reale caricando i dati in BigQuery.
  • Analisi dei flussi di dati: le modifiche ai database vengono importate nelle pipeline di streaming, ad esempio con Dataflow, per il rilevamento delle frodi, l'elaborazione degli eventi di sicurezza e il rilevamento delle anomalie.
  • Disponibilità quasi in tempo reale delle modifiche ai dati: la disponibilità delle modifiche ai dati in tempo quasi reale consente alle applicazioni di intelligenza artificiale e machine learning di prevenire il tasso di abbandono o aumentare il coinvolgimento utilizzando le iniziative di marketing o il feedback nei sistemi di produzione.

Panoramica comportamento

Datastream consente ai clienti di trasmettere modifiche continue da più origini dati direttamente in Google Cloud.

Fonti

  • Per utilizzare un'origine con Datastream, è necessario un lavoro 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 alla destinazione.

Destinazioni

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

Importazione di eventi

  • L'ordine degli eventi non è garantito. I metadati degli eventi includono le informazioni che possono essere utilizzate per ordinare gli eventi.
  • La consegna degli eventi avviene almeno una volta. I metadati degli eventi includono dati che possono essere utilizzati per rimuovere eventuali dati duplicati nella destinazione.
  • Le dimensioni degli eventi sono limitate 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.

  • Disponibilità elevata: Datastream è un servizio regionale che viene eseguito in più zone in ogni regione. Un errore a zona singola in qualsiasi 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 dal punto in cui era stato interrotto e tutti i dati che non sono stati scritti nella destinazione verranno recuperati di nuovo dall'origine. In questo caso, nella destinazione potrebbero essere presenti duplicati dei dati. Per saperne di più sulla rimozione dei dati duplicati, consulta la sezione Invio di eventi.

Dati iniziali e dati CDC

Poiché le origini dati contengono dati esistenti prima del momento in cui l'origine è stata collegata a uno stream (dati storici), Datastream genera eventi sia dai dati storici sia dalle modifiche dei dati 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 dal CDC.

Passaggi successivi