Vues matérialisées continues
Ce document présente les vues matérialisées continues et leurs cas d'utilisation courants. Avant de lire cette page, vous devez avoir lu la présentation de Bigtable overview.
Dans Bigtable, une vue matérialisée continue est le résultat d'un processus d'arrière-plan continu et entièrement géré. Ce processus utilise une requête SQL que vous fournissez pour créer et gérer une table précalculée que Bigtable met à jour de manière incrémentielle lorsque les données sources changent. La requête SQL peut inclure des agrégations et des transformations sur la table Bigtable sous-jacente.
Les données d'une vue matérialisée continue incluent les éléments suivants :
- Valeurs agrégées ou transformées dérivées des données de la table source
- Valeurs non agrégées qui définissent la clé de regroupement
Les vues matérialisées continues vous permettent de pré-agréger vos données au fur et à mesure de leur ingestion. De plus, une vue matérialisée continue possède un schéma différent de celui de sa table source. Elle présente les données de la table source dans une structure optimisée pour les requêtes avec des modèles de recherche différents de ceux utilisés sur la table source.
Voici les principales caractéristiques des vues matérialisées continues dans Bigtable :
- Aucune maintenance : une vue matérialisée continue est précalculée en arrière-plan. Les modifications apportées aux données de la table source, y compris les mises à jour et les suppressions, sont automatiquement propagées en arrière-plan à la vue matérialisée continue, sans aucune action de l'utilisateur.
- Modèles de développement SQL : les vues matérialisées continues sont basées sur GoogleSQL pour les requêtes Bigtable, y compris les fonctions, les filtres et les agrégations SQL. Bien que les fonctions soient déterministes par défaut, vous pouvez choisir d'utiliser un ensemble organisé de fonctions non déterministespour des cas d'utilisation limités.
- Synchronisation avec la récupération de mémoire : une vue matérialisée continue reste synchronisée avec les stratégies de récupération de mémoire de sa table source, et se met automatiquement à jour lorsque les données de la table expirent ou sont supprimées.
- La latence en lecture et en écriture n'est pas affectée : une vue matérialisée continue a un impact minimal sur les performances de la table source lorsque les clusters de l'instance sont correctement provisionnés ou utilisent l'autoscaling.
- Cohérence à terme : les vues matérialisées continues sont calculées en arrière-plan. Les mises à jour d'une vue matérialisée continue peuvent être retardées, mais les résultats matérialisés continus sont toujours cohérents au fil du temps.
La clé de ligne, le qualificatif de colonne et les valeurs de colonne que vous utilisez pour définir une vue matérialisée continue sont traités comme des données de service. Pour cette raison, ne créez pas de vue matérialisée continue à l'aide d'une clé de ligne, d'un qualificatif 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'Google Cloud Avis de confidentialité.
Vous pouvez créer une vue matérialisée continue à l'aide de Google Cloud CLI, de l' éditeur de requêtes Bigtable Studio dans la Google Cloud console ou des bibliothèques clientes Bigtable pour Java et Go.
Vous pouvez lire à partir d'une vue matérialisée continue en procédant comme suit :
- Éditeur de requêtes Bigtable Studio
- Bibliothèques clientes Bigtable compatibles avec les requêtes SQL
- Appel d'API
ReadRowsà l'aide des bibliothèques clientes Bigtable pour Java et Go
Pour en savoir plus, consultez la section Lire à partir d'une vue matérialisée continue.
Quand utiliser des vues matérialisées continues ?
Les vues matérialisées continues vous permettent de définir une nouvelle représentation de vos données Bigtable à l'aide de SQL. Une fois créée, une vue matérialisée continue restructure en permanence et automatiquement les données de la table source au format défini par la requête SQL. Ensuite, au lieu d'interroger votre table et de transformer ou d'agréger les données après les avoir lues, vous pouvez interroger la vue matérialisée continue.
Les vues matérialisées continues peuvent améliorer les performances des requêtes dans les cas d'utilisation suivants :
- Pré-agrégation des données : vous pouvez utiliser une vue matérialisée continue pour agréger les données entrantes sur plusieurs lignes. Cela vous permet de récupérer rapidement des données récapitulatives et agrégées, telles que des métriques pour les tableaux de bord.