Présentation du moteur de données en colonnes Spanner

Cette page présente le moteur 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 en colonnes Spanner 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 de données 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 attributs de partition (PAX, partition attributes across) pour des analyses efficaces dans un bloc de données. Toutefois, ce format regroupe toutes les colonnes d'une ligne dans un bloc donné pour des recherches rapides sur une seule ligne. Contrairement à Ressi, le moteur à 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 la fusionne automatiquement 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 en colonnes :

  • Les rapports opérationnels extraient des informations commerciales à 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 lorsque vous utilisez le moteur 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 en 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 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 bénéficie de cette optimisation, consultez le pourcentage de 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 compression 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 de manière à 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.

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 colonnes Spanner n'est pas affecté par les 8 octets de surcharge par cellule.

Limites de l'aperçu

  • Vous devez utiliser des indications explicites pour activer les lectures par colonne pour les requêtes que vous effectuez directement sur Spanner ou à l'aide de BigQuery EXTERNAL_QUERY. Pour en savoir plus, consultez Interroger des données en colonnes.
  • Le moteur colonne n'est compatible qu'avec l'interface GoogleSQL.
  • Les scans qui ne comportent pas de filtres sélectifs peuvent présenter une amélioration moindre.

Étapes suivantes