Destination BigQuery

Cette page vous offre une présentation de la destination BigQuery. Elle décrit le comportement d'écriture et les limites connues de Datastream lorsque vous répliquez des données dans BigQuery.

Comportement d'écriture

  • La taille maximale des événements lorsque vous diffusez des données en streaming dans BigQuery est de 20 Mo.

  • Lorsque vous configurez votre flux, vous pouvez sélectionner la manière dont Datastream écrit vos données modifiées dans BigQuery. Pour en savoir plus, consultez Configurer le mode d'écriture.

Métadonnées de table

Datastream ajoute une colonne STRUCT nommée datastream_metadata à chaque table écrite dans la destination BigQuery.

Mode d'écriture de fusion

Si une table comporte une clé primaire dans la source, la colonne contient les champs suivants :

  • UUID : ce champ est de type STRING.
  • SOURCE_TIMESTAMP : ce champ est de type INTEGER.

Si une table ne comporte pas de clé primaire, la colonne contient un champ supplémentaire : IS_DELETED. Ce champ est de type BOOLEAN et indique si les données que Datastream diffuse en streaming vers la destination sont associées à une opération DELETE dans la source. Les tables sans clé primaire sont en mode ajout uniquement.

Mode d'écriture en ajout uniquement

La colonne datastream_metadata contient les mêmes champs pour les tables avec et sans clé primaire :

  • UUID : ce champ est de type STRING.
  • SOURCE_TIMESTAMP : ce champ est de type INTEGER.
  • CHANGE_SEQUENCE_NUMBER : ce champ est de type STRING. Il s'agit d'un numéro de séquence interne utilisé par Datastream pour chaque événement de modification.
  • CHANGE_TYPE : ce champ est de type STRING. Il indique le type d'événement de modification : INSERT, UPDATE-INSERT, UPDATE-DELETE ou DELETE.
  • SORT_KEYS : ce champ contient un tableau de valeurs STRING. Vous pouvez utiliser ces valeurs pour trier les événements de modification.

Contrôler les coûts BigQuery

Les coûts BigQuery sont facturés séparément de Datastream. Pour savoir comment contrôler vos coûts BigQuery, consultez Tarifs de la CDC BigQuery.

Bonnes pratiques de gestion des coûts

Lorsque vous utilisez Datastream avec BigQuery comme destination, tenez compte des bonnes pratiques de gestion des coûts suivantes :

  • Comprendre les coûts de la CDC BigQuery : lorsque vous utilisez Datastream avec BigQuery comme destination, la capture des données modifiées (CDC) implique des opérations de fusion en arrière-plan. Par défaut, les jobs en arrière-plan d'ingestion de la CDC BigQuery effectués sans attribution de réservation BigQuery BACKGROUND ou BACKGROUND_CHANGE_DATA_CAPTURE utilisent la tarification à la demande.
  • Utiliser des réservations BigQuery : pour gérer et limiter les coûts associés aux jobs de fusion de la CDC, nous vous recommandons d'acheter une BigQuery. Cela fournit une capacité fixe à un prix fixe, ce qui rend vos coûts plus prévisibles. Pour en savoir plus, consultez Configurer une réservation BigQuery à utiliser avec l'ingestion de la CDC.
  • Ajuster max_staleness : le param101ètre max_staleness dans BigQuery est un compromis direct entre la fraîcheur des données et le coût. Une valeur inférieure signifie des opérations de fusion plus fréquentes et des coûts plus élevés, mais des données plus récentes. Ajustez ce paramètre à un niveau qui répond aux exigences de votre entreprise en matière de fraîcheur des données sans dépasser votre budget. Pour en savoir plus, consultez Gérer la fraîcheur des tables.

Limitations connues

Les limites connues d'utilisation de BigQuery comme destination incluent les suivantes :

  • Par défaut, Datastream n'est pas compatible avec l'ajout d'une clé primaire à une table déjà répliquée dans BigQuery sans clé primaire, ni avec la suppression d'une clé primaire d'une table répliquée dans BigQuery avec une clé primaire. Si vous devez effectuer de telles modifications, contactez l'assistance Google. Pour savoir comment modifier la définition de la clé primaire d'une table source qui en possède déjà une, consultez Diagnostiquer les problèmes.
  • Les clés primaires dans BigQuery doivent être des types de données suivants :

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

    Les tables contenant des clés primaires de types de données non compatibles ne sont pas répliquées par Datastream.

  • BigQuery n'accepte pas les noms de tables contenant les caractères suivants : ., $, /, @, ou +. Datastream remplace ces caractères par des traits de soulignement lors de la création de tables de destination.

    Par exemple, table.name dans la base de données source devient table_name dans BigQuery.

    Pour en savoir plus sur les noms de tables dans BigQuery, consultez Nommer les tables.

  • BigQuery n'accepte pas plus de quatre colonnes de clustering. Lors de la réplication d'une table comportant plus de quatre colonnes de clé primaire, Datastream utilise quatre colonnes de clé primaire comme colonnes de clustering.

  • Datastream mappe les littéraux de date et d'heure hors plage, tels que les types de date infinis PostgreSQL, sur les valeurs suivantes :

    • DATE positif sur la valeur 9999-12-31
    • DATE négatif sur la valeur 0001-01-01
    • TIMESTAMP positif sur la valeur 9999-12-31 23:59:59.999000 UTC
    • TIMESTAMP négatif sur la valeur 0001-01-01 00:00:00 UTC
  • BigQuery n'accepte pas les tables de streaming dont les clés primaires sont de type FLOAT ou REAL. Ces tables ne sont pas répliquées. Pour en savoir plus sur les types et les plages de dates BigQuery, consultez Types de données.

  • Si votre source est Salesforce ou Salesforce Marketing Cloud (Preview), l'option de configuration Ensemble de données pour chaque schéma n'est pas acceptée.

Étape suivante