Datastream vous permet de répliquer les données de modification de vos sources directement dans des tables BigQuery pour des analyses en temps quasi réel. Lorsque vous diffusez des données vers BigQuery, vous pouvez sélectionner le mode d'écriture "fusion" ou "ajout uniquement", et utiliser la colonne datastream_metadata pour suivre les événements de modification. Vous pouvez également appliquer les bonnes pratiques de gestion des coûts, telles que les réservations d'emplacements et l'ajustement de l'obsolescence des tables, et examiner les limites connues.
Comportement d'écriture
La taille maximale des événements lorsque vous diffusez des données dans BigQuery est de 20 Mo.
Lorsque vous configurez votre flux, vous pouvez sélectionner la manière dont Datastream écrit vos données de modification 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 possède une clé primaire au niveau de la source, la colonne contient les champs suivants :
UUID: ce champ est de type de donnéesSTRING.SOURCE_TIMESTAMP: ce champ est de type de donnéesINTEGER.
Si une table ne comporte pas de clé primaire, la colonne contient un champ supplémentaire : IS_DELETED. Ce champ est de type de données BOOLEAN et indique si les données que Datastream diffuse vers la destination sont associées à une opération DELETE au niveau de la source. Les tables sans clé primaire sont en mode ajout uniquement.
Mode d'écriture "Ajout uniquement"
La colonne datastream_metadata contient les mêmes champs pour les tables avec et sans clés primaires :
UUID: ce champ est de type de donnéesSTRING.SOURCE_TIMESTAMP: ce champ est de type de donnéesINTEGER.CHANGE_SEQUENCE_NUMBER: ce champ est de type de donnéesSTRING. 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 de donnéesSTRING. Il indique le type de l'événement de modification :INSERT,UPDATE-INSERT,UPDATE-DELETEouDELETE.SORT_KEYS: ce champ contient un tableau de valeursSTRING. Vous pouvez utiliser les 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 de données modifiées (CDC) implique des opérations de fusion en arrière-plan. Par défaut, les jobs d'ingestion CDC BigQuery en arrière-plan effectués sans attribution de réservation BigQuery
BACKGROUNDouBACKGROUND_CHANGE_DATA_CAPTUREutilisent la tarification à la demande. - Utilisez des réservations BigQuery : pour gérer et limiter les coûts associés aux jobs de fusion CDC, nous vous recommandons d'acheter une réservation d'emplacements BigQuery. Cela vous permet de bénéficier d'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 CDC.
- Régler
max_staleness: le paramètremax_stalenessdans BigQuery est un compromis direct entre la fraîcheur des données et le coût. Une valeur plus faible signifie des opérations de fusion plus fréquentes et des coûts plus élevés, mais des données plus récentes. Réglez ce paramètre à un niveau qui répond aux exigences de votre entreprise en termes de fraîcheur des données, sans dépasser votre budget. Pour en savoir plus, consultez Gérer l'obsolescence des tables.
Limitations connues
Voici les limites connues de l'utilisation de BigQuery comme destination :
- Par défaut, Datastream ne permet pas d'ajouter une clé primaire à une table qui est déjà répliquée dans BigQuery sans clé primaire, ni de supprimer une clé primaire d'une table qui est répliquée dans BigQuery avec une clé primaire. Si vous devez effectuer de telles modifications, contactez l'assistance Google. Pour en savoir plus sur la modification de la définition de la clé primaire d'une table source qui en possède déjà une, consultez Diagnostiquer les problèmes.
Dans BigQuery, les clés primaires doivent être des types de données suivants :
DATEBOOLGEOGRAPHYINT64NUMERICBIGNUMERICSTRINGTIMESTAMPDATETIME
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 table contenant les caractères
.,$,/,@ou+. Datastream remplace ces caractères par des traits de soulignement lors de la création des tables de destination.Par exemple,
table.namedans la base de données source devienttable_namedans 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, aux valeurs suivantes :
DATEpositif à la valeur de9999-12-31DATEnégatif pour la valeur de0001-01-01TIMESTAMPpositif à la valeur de9999-12-31 23:59:59.999000 UTCTIMESTAMPnégatif pour la valeur de0001-01-01 00:00:00 UTC
BigQuery n'est pas compatible avec les tables de flux de données dont les clés primaires sont de type
FLOATouREAL. 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 disponible.