Présentation des vues logiques
Une vue logique est une table virtuelle définie par une requête SQL. Il s'agit du type de vue par défaut dans BigQuery. Les vues logiques vous permettent de réutiliser des requêtes complexes et de simplifier la logique de calcul et de jointure. Les vues autorisées vous permettent également d'accorder aux utilisateurs l'accès à un sous-ensemble de données sans leur accorder l'accès aux tables de base.
Comme la requête qui définit une vue logique s'exécute chaque fois que la vue est interrogée, les résultats ne contiennent que les données actuelles des tables et des champs spécifiés par la requête. Ce document décrit les cas d'utilisation courants, ainsi que les limites, les quotas, les tarifs et la sécurité des vues logiques.
Cas d'utilisation
Voici quelques cas d'utilisation courants des vues :
- Fournissez un nom réutilisable pour une requête complexe ou un ensemble limité de données auxquels vous pouvez ensuite autoriser d'autres utilisateurs à accéder. Une fois que vous avez créé une vue, un utilisateur peut l'interroger comme s'il s'agissait d'une table.
- Extraire et stocker la logique de calcul et de jointure dans un objet commun pour simplifier l'utilisation des requêtes
- Fournir un accès à un sous-ensemble de données et de logique de calcul sans accéder aux tables de base
- Optimisez les requêtes avec des coûts de calcul élevés et des résultats de petite taille pour plusieurs cas d'utilisation.
Vous pouvez également utiliser des vues dans d'autres contextes :
- En tant que source de données pour un outil de visualisation tel que Data Studio.
- Comme moyen de partager des données avec les abonnés de BigQuery Sharing (anciennement Analytics Hub).
Pour comparer les vues logiques, les vues matérialisées et les vues autorisées, consultez Présentation des vues logiques et matérialisées.
Limites des vues logiques
Les vues BigQuery font l'objet des limites suivantes :
- Les vues sont en lecture seule. Par exemple, vous ne pouvez pas exécuter de requêtes qui insèrent, mettent à jour ou suppriment des données.
- Si votre vue fait référence à des tables situées dans des emplacements distants, vous devez activer les requêtes globales avant de créer la vue.
- Une référence à l'intérieur d'une vue doit être qualifiée avec un ensemble de données. L'ensemble de données par défaut n'affecte pas le corps d'une vue.
- Vous ne pouvez pas utiliser la méthode d'API JSON
TableDataListpour extraire des données d'une vue. Pour en savoir plus, consultez la page sur la méthode Tabledata.list. - Lorsque vous utilisez des vues, vous ne pouvez pas combiner des requêtes en GoogleSQL et en ancien SQL. Une requête en GoogleSQL ne peut pas référencer une vue définie à l'aide d'une syntaxe en ancien SQL.
- Vous ne pouvez pas référencer les paramètres de requête dans les vues.
- Les schémas des tables sous-jacentes sont stockés avec la vue lors de la création de celle-ci. Si des colonnes sont ajoutées, supprimées ou modifiées après la création de la vue, celle-ci n'est pas automatiquement mise à jour, et le schéma indiqué reste inexact jusqu'à ce que la définition SQL de la vue soit modifiée ou que la vue soit recréée. Même avec un schéma inexact, toutes les requêtes soumises produisent des résultats corrects.
- Vous ne pouvez pas mettre à jour automatiquement une vue en ancien SQL vers la syntaxe GoogleSQL. Pour modifier la requête utilisée pour définir une vue, vous pouvez utiliser les éléments suivants :
- L'option Modifier la requête dans la console Google Cloud
- La commande
bq update --viewdans l'outil de ligne de commande bq - Les bibliothèques clientes BigQuery
- Les méthodes API update ou patch
- Vous ne pouvez pas inclure une fonction temporaire définie par l'utilisateur ou une table temporaire dans la requête SQL qui définit une vue.
- Vous ne pouvez pas référencer de vue dans une requête de table générique.
- Les vues logiques ne peuvent pas hériter de types de données paramétrés, tels que
STRING(n), ni les définir explicitement, car les types de données paramétrés ne sont compatibles qu'avec les colonnes de table de base et les variables de script.
Quotas des vues logiques
Pour en savoir plus sur les quotas et les limites applicables aux vues, consultez Limites des vues. Les requêtes SQL utilisées pour définir des vues sont également soumises aux quotas sur les jobs de requête.
Tarification des vues logiques
BigQuery utilise des vues logiques par défaut, et non des vues matérialisées. Comme les vues ne sont pas matérialisées par défaut, la requête qui définit une vue est exécutée chaque fois que cette dernière est interrogée. Les requêtes sont facturées en fonction du volume total de données de tous les champs de table référencés directement ou indirectement par la requête de premier niveau.
- Pour en savoir plus sur la tarification générale des requêtes, consultez Tarifs du calcul à la demande.
- Pour connaître les tarifs associés aux vues matérialisées, consultez Tarification des vues matérialisées.
Sécurité des vues logiques
Pour contrôler l'accès aux vues dans BigQuery, consultez la page Vues autorisées.
Étapes suivantes
- Pour en savoir plus sur la création de vues, consultez la page Créer des vues.
- Pour en savoir plus sur la création de vues autorisées, consultez la page Créer des vues autorisées.
- Pour en savoir plus sur l'obtention de métadonnées de vue, consultez la page Obtenir des informations sur les vues.
- Pour en savoir plus sur la gestion des vues, consultez la page Gérer les vues.