En configurant le partitionnement et le clustering pour votre destination BigQuery, vous pouvez optimiser les performances des requêtes et contrôler les coûts. Le partitionnement et le clustering vous permettent de réduire la quantité de données que BigQuery doit analyser lors de l'exécution d'une requête.
Partitionnement de table
Le partitionnement de table divise votre table en segments appelés partitions, ce qui facilite la gestion et l'interrogation de vos données. Pour partitionner les tables, spécifiez une colonne de partition permettant de les segmenter.
Datastream est compatible avec trois types de partitionnement pour les tables BigQuery :
Partitionnement par date d'ingestion : vous pouvez partitionner une table en fonction de la date à laquelle Datastream ingère les données dans BigQuery. Vous pouvez sélectionner une précision horaire, quotidienne, mensuelle ou annuelle pour le partitionnement par date d'ingestion. La précision par défaut est "Jour".
Partitionnement par unité de temps : vous pouvez partitionner une table en fonction d'une colonne source d'un type de données que Datastream mappe à l'un des types de données BigQuery suivants :
DATE,DATETIMEouTIMESTAMP. Pour savoir comment Datastream mappe les types de données sources aux types de données BigQuery, consultez Mappages des types de données dans BigQuery.Selon le type de données BigQuery auquel la colonne source est associée, vous pouvez sélectionner l'un des types de précision suivants :
DAY,MONTH,YEAR: pour le type de donnéesDATE.HOUR,DAY,MONTH,YEAR: pour les types de donnéesDATETIMEetTIMESTAMP.
Partitionnement par plage d'entiers : vous pouvez partitionner une table par une colonne source d'un type de données que Datastream mappe ensuite au type de données BigQuery
INTEGER. Vous devez fournir les informations suivantes :- Start : valeur de début de la première plage de partitions (inclusive).
- End : valeur de fin de la dernière plage de partitions (exclusive).
- Interval : largeur de chaque plage de partition.
Pour en savoir plus, consultez Partitionnement par plages d'entiers.
Pour en savoir plus sur le partitionnement dans BigQuery, consultez Présentation des tables partitionnées et Gérer les tables partitionnées.
Clustering de tables
Le clustering trie les données d'une table en fonction des valeurs des colonnes de clustering et rapproche les données ayant des valeurs similaires. Les requêtes qui filtrent les colonnes en cluster analysent uniquement les blocs de données pertinents, et non l'intégralité de la table ou de la partition de la table. Cela peut améliorer les performances des requêtes et réduire leurs coûts.
Vous pouvez regrouper vos tables BigQuery par un maximum de quatre colonnes. L'ordre dans lequel vous spécifiez les colonnes détermine l'ordre de tri des données.
Vous pouvez regrouper une table en fonction d'une colonne source d'un type de données que Datastream mappe à l'un des types de données BigQuery suivants :
BIGNUMERICBOOLEANDATEDATETIMEGEOGRAPHYINT64NUMERICRANGESTRINGTIMESTAMP
Pour savoir comment Datastream mappe les types de données sources aux types de données BigQuery, consultez Mappages des types de données dans BigQuery.
Pour en savoir plus sur le clustering dans BigQuery, consultez les pages Présentation des tables en cluster et Gérer les tables en cluster.
Limites
Pour connaître les limites de partitionnement dans BigQuery, consultez Présentation des tables partitionnées.
Pour connaître les limites de clustering dans BigQuery, consultez Présentation des tables en cluster.
Pour connaître les limites de quota qui s'appliquent aux tables partitionnées BigQuery, consultez Quotas et limites.
De plus, les limites suivantes s'appliquent lorsque vous utilisez Datastream :
- Le partitionnement et le clustering ne sont appliqués que lorsque Datastream crée une nouvelle table BigQuery. Si vous souhaitez configurer ou modifier les paramètres de partitionnement et de clustering d'une table existante, supprimez-la d'abord de BigQuery, puis configurez ou modifiez ses paramètres dans Datastream.
- Pour les sources MongoDB, vous ne pouvez partitionner vos tables que par date d'ingestion.
- Le clustering n'est pas compatible avec les bases de données MongoDB.
Étape suivante
- Pour en savoir plus sur les flux, voir Cycle de vie des flux.
- Pour savoir comment créer un flux, consultez Créer un flux.
- Pour en savoir plus sur BigQuery, consultez Destination BigQuery.