Présentation des vues logiques et matérialisées
Ce document décrit et compare les vues logiques et matérialisées dans BigQuery. Dans l'entreposage de données moderne, les vues constituent une couche d'abstraction importante entre les données brutes et l'informatique décisionnelle. Dans BigQuery, les architectes choisissent généralement entre deux types de vues : les vues logiques (standards) et les vues matérialisées. Bien que ces vues partagent une interface commune, leurs mécanismes sous-jacents, leurs profils de performances et leurs implications en termes de coûts diffèrent.
Vues logiques
Une vue logique (standard) est une table virtuelle définie par une requête SQL. Il ne stocke aucune donnée physique. Il stocke plutôt la logique de requête nécessaire pour récupérer les données des tables de base sous-jacentes.
Lorsque vous interrogez une vue logique, le moteur de requête BigQuery développe la vue dans sa requête sous-jacente. Cela signifie que BigQuery réexécute la vue chaque fois qu'elle est appelée.
Voici les avantages des vues logiques :
- Aucun espace de stockage supplémentaire n'est nécessaire. Comme aucune donnée supplémentaire n'est stockée, vous ne payez que le stockage des tables de base.
- Précision en temps réel : Comme la requête s'exécute au moment de l'exécution, les résultats reflètent toujours l'état le plus récent des tables de base.
- Abstraction logique. Simplifie les jointures complexes ou applique la sécurité au niveau des lignes sans dupliquer les données.
- Flexibilité SQL : Compatible avec l'ensemble des fonctionnalités BigQuery SQL, y compris les fonctions de fenêtrage complexes, les fonctions définies par l'utilisateur (UDF) et tous les types de jointures.
Vues matérialisées
Les vues matérialisées sont des vues précalculées qui stockent régulièrement les résultats d'une requête SQL. Contrairement aux vues logiques, elles stockent physiquement les données calculées, ce qui permet à BigQuery de fournir des résultats plus rapidement sans avoir à traiter plusieurs fois les données de base brutes. Cela peut réduire la latence des requêtes pour les grands ensembles de données en prétraitant les requêtes, et les coûts de calcul pour les requêtes fréquemment utilisées.
Les vues matérialisées BigQuery combinent la rapidité des données précalculées et la précision d'une vue en direct. Pour ce faire, ils doivent procéder comme suit :
- Actualisation automatique : Un processus en arrière-plan met à jour les vues matérialisées lorsque les tables de base changent.
- Fraîcheur des données : Si une requête est exécutée alors qu'une actualisation en arrière-plan est en attente, BigQuery compense automatiquement les modifications non traitées de la table de base pour fournir des résultats à jour.
- Réglage intelligent : L'optimiseur de requête peut rediriger automatiquement les requêtes des tables de base vers la vue matérialisée s'il détermine que la vue matérialisée peut fournir la réponse plus efficacement.
Comparaison
Le tableau suivant récapitule les similitudes et les différences entre les vues logiques et les vues matérialisées de BigQuery :
| Dimension | Vue logique | Vue matérialisée |
|---|---|---|
| Persistance des données | Aucune (virtuelle) | Physique (stocké sur le disque) |
| Exécution | Chaque fois que la vue est appelée | Précalculé ; actualisation en arrière-plan |
| Obsolescence des données | Jamais | Facultatif 1 (via l'actualisation) |
| Performances | Variable (dépendante de la table de base) | Cohérence et rapidité |
| Complexité SQL | Illimité | Limitée |
| Optimisé pour | Sécurité et abstraction | Réduction de la vitesse et des coûts |
| Frais de maintenance et de stockage | Non | Oui |
1 L'option --max_staleness améliore les performances des requêtes avec des coûts contrôlés lors du traitement de grands ensembles de données qui changent fréquemment.
Quand utiliser les vues logiques ?
- Structure sémantique en couches : Renommez les noms de colonnes complexes en termes adaptés aux utilisateurs métier non techniques.
- Développement rapide : À utiliser lorsque la logique est en flux et que vous ne souhaitez pas gérer les frais généraux du stockage physique.
- Sources de données consolidées : Fournir une source de données pour les outils de visualisation tels que Looker Studio ou BigQuery Sharing (anciennement Analytics Hub).
Quand utiliser les vues matérialisées
- Prétraiter les données Améliorez les performances des requêtes en préparant les agrégats, les filtres, les jointures et les clusters.
- Accélération des tableaux de bord : Renforcez les outils de BI tels que Looker, qui interrogent fréquemment les mêmes métriques agrégées (par exemple, les utilisateurs actifs quotidiens).
- Analyses en temps réel sur les flux volumineux Peut fournir des réponses plus rapides sur les tables qui reçoivent des données de streaming à grande vitesse.
- Gestion des coûts : Réduisez le coût des requêtes coûteuses et répétitives sur de grands ensembles de données.
Bonnes pratiques
Pour un environnement BigQuery bien architecturé, les vues logiques sont un outil utile pour consolider les données dont vous avez besoin. Réservez les vues matérialisées pour les utiliser comme outil d'optimisation des performances pour des modèles de requêtes spécifiques à fort trafic qui impliquent une agrégation importante.
Pour savoir comment surveiller l'utilisation et les performances des vues matérialisées, consultez la vue MATERIALIZED_VIEWS.
Étapes suivantes
- Présentation des vues logiques
- Créer des vues logiques
- Présentation des vues matérialisées
- Créer des vues matérialisées