Cette page présente le moteur de données en colonnes pour Spanner et explique comment l'utiliser.
Les bases de données opérationnelles extraient, transforment et chargent généralement les données dans un système OLAP pour l'analyse. Ce système fait souvent partie d'un entrepôt de données. Avec Data Boost, Spanner sépare déjà le calcul analytique, ce qui garantit la stabilité transactionnelle.
Le moteur de données en colonnes est une technique de stockage utilisée par les systèmes d'analyse pour accélérer les analyses par rapport aux analyses par lots. Le moteur Spanner en colonnes vous permet d'exécuter des analyses avec des performances considérablement améliorées sur les dernières données opérationnelles. Le moteur en colonnes Spanner multiplie par 200 les performances d'analyse, ce qui élimine le besoin d'ETL tout en maintenant une cohérence forte.
Le format Ressi de Spanner utilise une mise en page par colonne avec des attributs de partition (PAX) pour des analyses efficaces dans un bloc de données. Toutefois, ce format place toutes les colonnes d'une ligne dans un bloc donné pour des recherches rapides sur une seule ligne. Contrairement à Ressi, le moteur de données en colonnes de Spanner consacre des séries de blocs à une seule colonne. Cette approche est plus efficace pour les analyses séquentielles, car Spanner n'a besoin de lire que les colonnes référencées dans la requête.
Spanner crée la représentation en colonnes en arrière-plan (dans le cadre des compactages) et fusionne automatiquement la représentation avec les dernières mises à jour au moment de la requête pour assurer une cohérence forte. Les requêtes qui ne bénéficieraient pas du stockage en colonnes peuvent continuer à utiliser PAX.
Voici quelques exemples de charges de travail qui pourraient bénéficier de l'utilisation du moteur de données en colonnes :
- Les rapports opérationnels extraient des informatique décisionnelle à la seconde près à partir des dernières données opérationnelles.
- L'analyse des données diffusées permet d'alimenter les tableaux de bord et les analyses détaillées personnalisées avec une latence interactive.
- L'analyse fédérée combine de manière fluide les données provenant de Spanner et d'autres sources dans BigQuery.
Les sauvegardes d'instances Spanner n'incluent pas le format en colonnes.
Bonnes pratiques pour utiliser le moteur en colonnes
Cette section décrit les bonnes pratiques à suivre lors de l'utilisation du moteur de données en colonnes.
Optimisation des analyses volumineuses
Le moteur de données en colonnes optimise les requêtes qui analysent de grandes quantités de données. Pour les analyses de données plus petites ou les requêtes avec des clauses LIMIT rapidement satisfaites, les analyses basées sur les lignes peuvent être plus efficaces.
Colonnes essentielles
Si vous utilisez SELECT *, Spanner lit toutes les colonnes du stockage par colonnes. Pour maximiser les performances, ne spécifiez que les colonnes nécessaires. Exemple : SELECT column1, column2 FROM ....
Identification des goulots d'étranglement
Le moteur de données en colonnes est efficace pour les charges de travail liées à l'analyse. Pour identifier une charge de travail liée à l'analyse, vérifiez le plan de requête pour un niveau de latence élevé dans le nœud Analyse de table. Si votre requête n'est pas liée à une analyse, privilégiez d'abord d'autres optimisations. Le moteur en colonnes peut être utile ultérieurement si vos optimisations rendent la requête liée à l'analyse.
Couverture optimale des colonnes
Une fois que vous avez activé le moteur en colonnes sur une base de données qui contient déjà des données, le processus de compaction automatique de Spanner convertit les données en stockage en colonnes de manière asynchrone en arrière-plan. Pour savoir dans quelle mesure votre requête en bénéficie, vérifiez le pourcentage de la part de lecture en colonnes dans le plan de requête.
Gestion des données sur le taux de désabonnement élevé
Des taux d'écriture élevés provenant de mises à jour ou d'insertions aléatoires peuvent affecter les performances du moteur de données en colonnes. Les charges de travail en mode ajout uniquement sont peu affectées par l'utilisation du moteur en colonnes. La compaction est un processus en arrière-plan qui s'étend généralement sur plusieurs jours, mais qui peut se produire plus tôt si la taille de la base de données augmente considérablement. Vous pouvez également concevoir le schéma pour favoriser les écritures en mode ajout uniquement au niveau de la division. Pour en savoir plus, consultez Segmentation des données ordonnées par horodatage dans Spanner.
Isolation de la charge de travail
Vous pouvez utiliser deux techniques pour isoler les requêtes analytiques des transactions :
- Utilisez des lectures dirigées pour acheminer les lectures vers des répliques en lecture seule.
- Utilisez Data Boost pour les requêtes fédérées.
Tarifs
La facturation du moteur de données en colonnes Spanner est basée sur l'utilisation du stockage. Une fois que vous avez activé le moteur colonnaire Spanner et que Spanner a terminé la compaction des données, l'utilisation du stockage augmente pour inclure la nouvelle représentation colonnaire. Le moteur de données en colonnes fournit des métriques de stockage qui vous permettent de surveiller l'impact sur le stockage. Pour en savoir plus, consultez Métriques de stockage des données en colonnes.
Le moteur de données en colonnes Spanner n'est pas affecté par les 8 octets de surcharge par cellule.
Limites de l'aperçu
- Le moteur de données en colonnes n'est compatible qu'avec l'interface GoogleSQL.
Étapes suivantes
- Découvrez comment activer le moteur de données en colonnes.
- Découvrez comment interroger des données en colonnes.
- Découvrez comment surveiller le moteur de données en colonnes.