Cette page vous offre un aperçu de la destination BigQuery. Il 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 d'un événement 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 écriture.
Métadonnées de table
Datastream ajoute une colonne STRUCT
nommée datastream_metadata
à chaque table écrite dans la destination BigQuery.
Mode écriture de fusion
Si une table possède une clé primaire à 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
. Il 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 é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 d'événement de modification :INSERT
,UPDATE-INSERT
,UPDATE-DELETE
ouDELETE
.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 ceux de Datastream. Pour savoir comment contrôler vos coûts BigQuery, consultez Tarifs de la CDC BigQuery.
Limitations connues
Les limites connues d'utilisation de BigQuery en tant que destination incluent les suivantes :
- Vous ne pouvez répliquer des données dans un ensemble de données BigQuery que s'il se trouve dans le même projet Google Cloud que le flux Datastream.
- Par défaut, Datastream n'accepte pas l'ajout d'une clé primaire à une table déjà répliquée dans BigQuery sans clé primaire, ni 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.
Dans BigQuery, les clés primaires 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
.
,$
,/
,@
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 devienttable_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. Lorsque vous répliquez 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 PostgreSQL "infinity", sur les valeurs suivantes :
- Définissez
DATE
sur la valeur positive de9999-12-31
. - Attribuez la valeur négative de
0001-01-01
àDATE
. - Définissez
TIMESTAMP
sur la valeur positive de9999-12-31 23:59:59.999000 UTC
. - Attribuez la valeur négative de
0001-01-01 00:00:00 UTC
àTIMESTAMP
.
- Définissez
BigQuery n'accepte pas les tables de flux qui comportent des clés primaires de types de données
FLOAT
ouREAL
. 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, l'option de configuration Ensemble de données pour chaque schéma n'est pas disponible.
Étapes suivantes
- Découvrez comment répliquer les données d'une base de données source vers des ensembles de données BigQuery à l'aide de Datastream.