Destinazione BigQuery

Datastream ti consente di replicare i dati modificati dalle tue origini direttamente nelle tabelle BigQuery per l'analisi quasi in tempo reale. Quando trasmetti dati a BigQuery, puoi selezionare la modalità di scrittura di unione o di sola aggiunta e utilizzare la colonna datastream_metadata per monitorare gli eventi di modifica. Puoi anche applicare le best practice per la gestione dei costi, come le prenotazioni di slot e l'ottimizzazione dell'obsolescenza delle tabelle, ed esaminare le limitazioni note.

Comportamento di scrittura

  • La dimensione massima degli eventi quando trasmetti flussi di dati in BigQuery è 20 MB.

  • Quando configuri lo stream, puoi selezionare il modo in cui Datastream scrive i dati delle modifiche in BigQuery. Per saperne di più, consulta Configura la modalità di scrittura.

Metadati tabelle

Datastream aggiunge una colonna STRUCT denominata datastream_metadata a ogni tabella scritta nella destinazione BigQuery.

Modalità di scrittura di unione

Se una tabella ha una chiave primaria nell'origine, la colonna contiene i seguenti campi:

  • UUID: questo campo ha il tipo di dati STRING.
  • SOURCE_TIMESTAMP: questo campo ha il tipo di dati INTEGER.

Se una tabella non ha una chiave primaria, la colonna contiene un campo aggiuntivo: IS_DELETED. Questo campo ha il tipo di dati BOOLEAN e indica se i dati trasmessi da Datastream alla destinazione sono associati a un'operazione DELETE nell'origine. Le tabelle senza chiavi primarie sono di sola aggiunta.

Modalità di scrittura solo aggiunta

La colonna datastream_metadata contiene gli stessi campi per le tabelle con e senza chiavi primarie:

  • UUID: questo campo ha il tipo di dati STRING.
  • SOURCE_TIMESTAMP: questo campo ha il tipo di dati INTEGER.
  • CHANGE_SEQUENCE_NUMBER: questo campo ha il tipo di dati STRING. Si tratta di un numero di sequenza interno utilizzato da Datastream per ogni evento di modifica.
  • CHANGE_TYPE: questo campo ha il tipo di dati STRING. Indica il tipo di evento di modifica: INSERT, UPDATE-INSERT, UPDATE-DELETE o DELETE.
  • SORT_KEYS: questo campo contiene un array di valori STRING. Puoi utilizzare i valori per ordinare gli eventi di modifica.

Controlla i costi di BigQuery

I costi di BigQuery vengono addebitati separatamente da Datastream. Per scoprire come controllare i costi di BigQuery, consulta la pagina relativa ai prezzi di BigQuery CDC.

Best practice per la gestione dei costi

Quando utilizzi Datastream con BigQuery come destinazione, tieni presente le seguenti best practice per la gestione dei costi:

  • Comprendi i costi di BigQuery CDC: quando utilizzi Datastream con BigQuery come destinazione, Change Data Capture (CDC) prevede operazioni di unione in background. Per impostazione predefinita, i job in background di importazione CDC di BigQuery eseguiti senza un'assegnazione di prenotazione BigQuery BACKGROUND o BACKGROUND_CHANGE_DATA_CAPTURE utilizzano i prezzi on demand.
  • Utilizza le prenotazioni BigQuery: per gestire e limitare i costi associati ai job di unione CDC, ti consigliamo di acquistare una prenotazione di slot BigQuery. In questo modo, viene fornita una capacità fissa a un prezzo fisso, rendendo i costi più prevedibili. Per saperne di più, consulta Configura una prenotazione BigQuery da utilizzare con l'importazione CDC.
  • Ottimizza max_staleness: il parametro max_staleness in BigQuery è un compromesso diretto tra l'aggiornamento dei dati e il costo. Un valore più basso indica operazioni di unione più frequenti e costi più elevati, ma dati più aggiornati. Regola questo parametro in modo che soddisfi i requisiti aziendali per l'aggiornamento dei dati senza superare il budget. Per saperne di più, consulta Gestisci l'obsolescenza delle tabelle.

Limitazioni note

Le limitazioni note per l'utilizzo di BigQuery come destinazione includono:

  • Per impostazione predefinita, Datastream non supporta l'aggiunta di una chiave primaria a una tabella già replicata in BigQuery senza una chiave primaria o la rimozione di una chiave primaria da una tabella replicata in BigQuery con una chiave primaria. Se devi apportare queste modifiche, contatta l'Assistenza Google. Per informazioni sulla modifica della definizione della chiave primaria per una tabella di origine che ne ha già una, consulta Diagnostica i problemi.
  • Le chiavi primarie in BigQuery devono essere dei seguenti tipi di dati:

    • DATE
    • BOOL
    • GEOGRAPHY
    • INT64
    • NUMERIC
    • BIGNUMERIC
    • STRING
    • TIMESTAMP
    • DATETIME

    Le tabelle che contengono chiavi primarie di tipi di dati non supportati non vengono replicate da Datastream.

  • BigQuery non supporta i nomi delle tabelle con i caratteri ., $, /, @ o +. Datastream sostituisce questi caratteri con trattini bassi durante la creazione delle tabelle di destinazione.

    Ad esempio, table.name nel database di origine diventa table_name in BigQuery.

    Per ulteriori informazioni sui nomi delle tabelle in BigQuery, consulta Nomi delle tabelle.

  • BigQuery non supporta più di quattro colonne di clustering. Quando replica una tabella con più di quattro colonne di chiave primaria, Datastream utilizza quattro colonne di chiave primaria come colonne di clustering.

  • Datastream mappa i valori letterali di data e ora non compresi nell'intervallo, come i tipi di data infinity di PostgreSQL, ai seguenti valori:

    • DATE positivo per un valore di 9999-12-31
    • DATE negativo per il valore 0001-01-01
    • TIMESTAMP positivo per un valore di 9999-12-31 23:59:59.999000 UTC
    • TIMESTAMP negativo per il valore 0001-01-01 00:00:00 UTC
  • BigQuery non supporta lo streaming di tabelle con chiavi primarie di tipo di dati FLOAT o REAL. Queste tabelle non vengono replicate. Per scoprire di più sui tipi e sugli intervalli di date di BigQuery, consulta Tipi di dati.

  • Se l'origine è Salesforce o Salesforce Marketing Cloud (anteprima), l'opzione di configurazione Set di dati per ogni schema non è supportata.

Passaggi successivi