Présentation des vues logiques

Ce document présente la compatibilité de BigQuery avec les vues logiques.

Présentation

Il s'agit d'une table virtuelle définie par une requête SQL. Le type de vue par défaut pour BigQuery est une vue logique. Les résultats de la requête ne contiennent que les données des tables et des champs spécifiés dans la requête qui définit la vue.

La requête qui définit une vue est exécutée chaque fois que cette dernière est interrogée.

Types de vues

Bien que les vues logiques soient le type de vue par défaut, si vous interrogez fréquemment une vue volumineuse ou exigeante en puissance de calcul, envisagez de créer une vue matérialisée. Il s'agit d'une vue précalculée qui met régulièrement en cache les résultats d'une requête pour améliorer les performances et l'efficacité.

Toutefois, vous pouvez souvent améliorer les performances d'une vue logique sans avoir à créer de vue matérialisée en n'interrogeant qu'un sous-ensemble de vos données ou en utilisant d'autres techniques.

Vous pouvez également créer une vue autorisée pour partager un sous-ensemble de données d'un ensemble de données source avec une vue dans un ensemble de données secondaire. Vous pouvez ensuite partager cette vue avec des utilisateurs et des groupes (comptes principaux) spécifiques qui peuvent consulter les données que vous partagez et exécuter des requêtes sur celles-ci, mais qui ne peuvent pas accéder directement à l'ensemble de données source.

Vous pouvez créer une vue autorisée pour une vue logique ou matérialisée. Une vue autorisée pour une vue matérialisée est appelée vue matérialisée autorisée.

Cas d'utilisation

Voici quelques cas d'utilisation courants des vues :

  • Fournissez un nom facilement 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 :

Comparaison avec les vues matérialisées

Les vues logiques sont virtuelles et fournissent une référence réutilisable pour un ensemble de données, mais ne stockent pas physiquement de données. Les vues matérialisées sont définies à l'aide de SQL, comme une vue logique, mais stockent physiquement les données que BigQuery utilise pour améliorer les performances. Pour une comparaison plus détaillée, consultez la page Fonctionnalités de vues 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.
  • L'ensemble de données contenant la vue et celui contenant les tables référencées par celle-ci doivent se trouver dans le même emplacement.
  • 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 TableDataList pour 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 :
  • 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.

Quotas des vues logiques

Pour plus d'informations sur les quotas et les limites applicables aux vues, consultez la section Limites associées aux vues.

Les requêtes SQL utilisées pour définir des vues sont soumises aux quotas des tâches de requêtes.

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.

Sécurité des vues logiques

Pour contrôler l'accès aux vues dans BigQuery, consultez la page Vues autorisées.

Étapes suivantes