Le partitionnement et le clustering sont les deux principaux leviers de coût BigQuery. Appliqués correctement, ils peuvent réduire les coûts de requêtes de 90 à 99 %. Ce hub couvre la mécanique, le cadre de décision, les patterns de configuration et les anti-patterns en cinq notes.
Prérequis
La maîtrise de la séparation stockage/compute dans BigQuery et du modèle de coût BigQuery (paiement par octet scanné à la demande) est supposée.
Ordre de lecture
1. Mécanique du partitionnement BigQuery — comment le partitionnement divise physiquement les tables, les trois types de partitionnement (colonne temporelle, temps d’ingestion, plage d’entiers), la limite de 10 000 partitions, et quand le pruning de partition fonctionne ou non.
2. Mécanique du clustering BigQuery — comment le clustering trie les données dans les blocs de stockage, pourquoi l’ordre des colonnes est important, le re-clustering automatique sans frais, et la limite de quatre colonnes.
3. Cadre de décision partitionnement vs clustering BigQuery — quand utiliser le partitionnement seul, le clustering seul, ou les deux. Inclut les seuils de taille (64 Mo, 1 Go, 10 Go, 100 Go), le piège des petites partitions, les requêtes de validation, et les spécificités dbt.
4. Patterns de configuration du partitionnement BigQuery — configurations dbt spécifiques par domaine pour les données d’événements (GA4/clickstream), marketing/publicité, SaaS multi-tenant, et charges de travail time-series/IoT avec justification des choix de colonnes.
5. Patterns de pruning de partitions BigQuery — anti-patterns qui désactivent silencieusement le pruning (fonctions sur les colonnes de partition, sous-requêtes dans les filtres, sur-partitionnement, mauvais ordre des colonnes de clustering), enforcement des filtres de partition, et mesure de l’efficacité du pruning avec INFORMATION_SCHEMA.
Sujets connexes
Pour l’interaction entre le partitionnement/clustering et les modèles incrémentiels dbt, voir Cadre de décision pour la stratégie incrémentale et Patterns de configuration de la stratégie incrémentale dbt. La stratégie insert_overwrite est particulièrement pertinente — elle nécessite le partitionnement et est l’approche incrémentale la plus économique sur BigQuery.