Créer et gérer des vues logiques

Dans Bigtable, une vue logique est le résultat d'une requête SQL qui fonctionne comme une table virtuelle pouvant être interrogée par d'autres requêtes SQL. Les données restent dans la table source.

Ce document décrit les vues logiques, et explique comment les créer et effectuer des opérations dessus. Pour une comparaison avec les vues matérialisées continues et les vues autorisées, consultez Tables et vues.

Les vues logiques vous permettent d'effectuer les opérations suivantes avec vos données Bigtable :

  • Évitez de répéter les requêtes : vous pouvez stocker et faire évoluer la logique de mappage et de conversion des colonnes dans une vue logique, que d'autres vues logiques peuvent utiliser au lieu de copier et coller cette logique ou d'avoir à la comprendre.
  • Intégrer des systèmes conçus pour lire des bases de données relationnelles : les vues logiques vous permettent de faire en sorte que vos données Bigtable soient lues comme une table de base de données relationnelle ou une table Cassandra.
  • Exécuter la même vue logique sur plusieurs tables : en modifiant la clause FROM, vous pouvez utiliser la même vue pour interroger n'importe quelle table de votre instance Bigtable.
  • Fournir une interface cohérente : votre application peut utiliser une vue logique même si la table source change.

Une vue logique est une ressource au niveau de l'instance. Vous pouvez créer une vue logique à l'aide de la Google Cloud CLI ou de l'éditeur de requêtes Bigtable Studio dans la console Google Cloud . Pour interroger une vue logique, vous pouvez utiliser l'éditeur de requêtes Bigtable Studio ou l'une des bibliothèques clientes Bigtable compatibles avec SQL.

Une vue logique présente les caractéristiques suivantes :

  • Vous devez utiliser les fonctionnalités SQL compatibles avec GoogleSQL pour Bigtable.
  • Lecture seule
  • Doit être lu avec SQL plutôt qu'avec un appel à ReadRows
  • Utilise les droits de définisseur. Vous pouvez interroger une vue logique si vous êtes autorisé à la lire, même si vous n'êtes pas autorisé à lire la table source.

La clé de ligne, le qualificatif de colonne et les valeurs de colonne que vous utilisez pour définir une vue logique sont traités comme des données de service. Pour cette raison, ne créez pas de vue logique à l'aide de clés de ligne, de qualificatifs de colonne ou de valeurs de colonne contenant des informations sensibles. Pour en savoir plus sur le traitement des données de service, consultez l'Avis de confidentialitéGoogle Cloud .

Avant de commencer

Si vous prévoyez d'utiliser gcloud CLI, procédez comme suit :

  1. Install the Google Cloud CLI.

  2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. To initialize the gcloud CLI, run the following command:

    gcloud init

Rôles requis

Pour obtenir les autorisations nécessaires pour créer et gérer des vues logiques, demandez à votre administrateur de vous accorder le rôle Administrateur Bigtable (roles/bigtable.admin) sur l'instance. Sinon, demandez les autorisations suivantes au niveau de l'instance, en fonction de l'opération que vous souhaitez effectuer :

  • Créer : bigtable.logicalViews.create
  • Mise à jour : bigtable.logicalViews.update
  • Supprimer : bigtable.logicalViews.delete
  • Liste : bigtable.logicalViews.list
  • Décrivez : bigtable.logicalViews.get

Pour créer une vue logique, vous devez également disposer au minimum de l'autorisation bigtable.table.readRows sur la table source.

Pour afficher tous les rôles et autorisations disponibles, consultez Contrôle des accès à Bigtable avec IAM.

Créer une vue logique

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud .

    Ouvrir la liste des instances

  2. Sélectionnez une instance.

  3. Dans le volet de navigation, cliquez sur Bigtable Studio.

  4. Ouvrez un nouvel onglet en cliquant sur , puis sélectionnez Éditeur.

    1. Dans l'éditeur de requête, rédigez votre requête. Si la requête est une requête SQL valide, le message Valide s'affiche.

    2. (Facultatif) Pour mettre en forme votre instruction au format SQL, cliquez sur Mettre en forme.

    3. Cliquez sur Exécuter. Les résultats de votre requête s'affichent dans la table Résultats.

    4. Lorsque vous êtes satisfait de la requête, cliquez sur Enregistrer, puis sélectionnez Enregistrer la vue.

    Pour en savoir plus sur l'utilisation de l'éditeur de requêtes, consultez Gérer vos données à l'aide de Bigtable Studio.

gcloud

Pour créer une vue logique, utilisez la commande gcloud bigtable logical-views create.

gcloud bigtable logical-views create VIEW \
  --instance=INSTANCE --query=QUERY

Remplacez les éléments suivants :

  • VIEW : ID de la nouvelle vue logique (128 caractères maximum). L'ID doit être unique parmi les ID de tables et de vues de l'instance.
  • QUERY : requête GoogleSQL valide pour Bigtable
  • INSTANCE : ID de l'instance dans laquelle créer la vue logique

Facultatif :

  • Pour protéger la vue logique contre la suppression, ajoutez l'option --deletion-protection à la commande. Si vous n'appliquez pas ce paramètre, la vue logique peut être supprimée. Vous pouvez également autoriser explicitement la suppression de la vue logique en ajoutant --no-deletion-protection. Pour en savoir plus, consultez la section Modifier la protection contre la suppression de ce document.

Mettre à jour une vue logique

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud .

    Ouvrir la liste des instances

  2. Sélectionnez une instance dans la liste.

  3. Dans le volet de navigation, cliquez sur Bigtable Studio. Une liste de vues s'affiche dans l'explorateur.

  4. Facultatif : Les 10 premières vues de l'instance sont listées. Pour en afficher 10 de plus, cliquez sur Afficher plus.

  5. À côté de la vue que vous souhaitez modifier, cliquez sur le menu d'actions more_vert, puis sur Afficher la définition.

  6. Modifiez la requête.

  7. Cliquez sur Exécuter.

  8. Après avoir vérifié que le volet des résultats affiche les données qui doivent être incluses dans la vue, cliquez sur Enregistrer sous.

  9. Dans la boîte de dialogue, saisissez l'ID de la vue que vous avez modifiée.

    La boîte de dialogue affiche un message vous avertissant que vous êtes sur le point d'écraser la vue existante.

  10. Cliquez sur Enregistrer.

gcloud

Pour mettre à jour une vue logique afin d'exécuter une autre requête, utilisez la commande gcloud bigtable logical-views update.

gcloud bigtable logical-views update VIEW  \
    --instance=INSTANCE --query=QUERY

Remplacez les éléments suivants :

  • VIEW : ID de la vue logique à mettre à jour.
  • QUERY : requête GoogleSQL valide.
  • INSTANCE : ID de l'instance contenant la vue logique

Pour mettre à jour une vue logique afin de modifier la protection contre la suppression, consultez la section Modifier la protection contre la suppression de ce document.

Supprimer une vue logique

Cette action est définitive.

Si la protection contre la suppression est activée pour une vue logique, vous ne pouvez pas la supprimer. Pour supprimer une vue logique pour laquelle la protection contre la suppression est activée, vous devez mettre à jour la vue logique afin de désactiver la protection contre la suppression. Pour en savoir plus, consultez la section Modifier la protection contre la suppression de ce document.

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud .

    Ouvrir la liste des instances

  2. Sélectionnez une instance dans la liste.

  3. Dans le volet de navigation, cliquez sur Bigtable Studio. Une liste de vues s'affiche dans l'explorateur.

  4. Facultatif : Les 10 premières vues de l'instance sont listées. Pour en afficher 10 de plus, cliquez sur Afficher plus.

  5. Développez Vues.

  6. À côté de la vue que vous souhaitez supprimer, cliquez sur le menu d'actions more_vert, puis sur Supprimer.

gcloud

Pour supprimer une vue logique, utilisez la commande gcloud bigtable logical-views delete.

  gcloud bigtable logical-views delete VIEW \
    --instance=INSTANCE

Remplacez les éléments suivants :

  • VIEW : ID de la vue logique à mettre à jour.
  • INSTANCE : ID de l'instance contenant la vue logique

Obtenir la liste des vues logiques pour une instance

Vous pouvez afficher la liste des vues logiques d'une instance.

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud .

    Ouvrir la liste des instances

  2. Sélectionnez une instance dans la liste.

  3. Dans le volet de navigation, cliquez sur Bigtable Studio. Une liste de vues s'affiche dans l'explorateur.

  4. Facultatif : Les 10 premières vues de l'instance sont listées. Pour en afficher 10 de plus, cliquez sur Afficher plus.

gcloud

Pour afficher la liste des vues logiques d'une instance, utilisez la commande gcloud bigtable logical-views list.

gcloud bigtable logical-views list --instance=INSTANCE

Remplacez INSTANCE par l'ID de l'instance.

Décrire une vue logique

Pour obtenir des informations sur une vue logique, utilisez la commande gcloud bigtable logical-views describe.

  gcloud bigtable logical-views describe VIEW \
      --instance=INSTANCE

Le terminal affiche des informations semblables à celles-ci :

  createTime: '2025-03-07T19:49:56.316578Z'
  etag: W/"/v1/17919275593532352351"
  name: projects/my-project/instances/my-instance/logicalViews/my-view
  query: SELECT street FROM addresses
  updateTime: '2025-03-07T19:49:56.316578Z'
  deletion_protection: true

Modifier la protection contre la suppression

La protection contre la suppression empêche la suppression de la vue logique. Pour activer ou désactiver la protection contre la suppression d'une vue logique, vous devez disposer des autorisations requises. Pour en savoir plus, consultez la section Rôles requis de ce document.

gcloud

Pour activer la protection contre la suppression d'une vue logique, exécutez la commande gcloud bigtable logical-views update :

gcloud bigtable logical-views update VIEW \
    --instance=INSTANCE \
    --deletion-protection

Pour désactiver la protection contre la suppression pour une vue logique, exécutez la commande suivante :

gcloud bigtable logical-views update VIEW \
    --instance=INSTANCE \
    --no-deletion-protection

Remplacez les éléments suivants :

  • VIEW : ID de la vue logique (128 caractères maximum). L'ID doit être unique parmi les ID de tables et de vues de l'instance.
  • INSTANCE : ID de l'instance dans laquelle mettre à jour la vue logique.

Étapes suivantes