Clustering automatique, vues matérialisées et maintenance automatique dans Snowflake

Clustering automatique, vues matérialisées et maintenance automatique dans Snowflake


Les performances et l’échelle sont au cœur de Snowflake. Dès le premier jour, l’équipe fondatrice s’est concentrée sur la création d’un entrepôt de données cloud rapide et sans maintenance. Les utilisateurs de Snowflake se concentrent sur les tâches analytiques au lieu de régler en permanence l’entrepôt de données ou d’investir dans une gestion compliquée de la charge de travail en raison des limites de simultanéité. À partir d’aujourd’hui, deux nouvelles fonctionnalités d’automatisation et de performance sont disponibles dans Snowflake. Ce sont les dernières avancées de la capacité de Snowflake à offrir les meilleures performances et évolutivité sans nécessiter d’administration ou de maintenance de la part de nos clients. Ils jettent également les bases d’une série de nouvelles fonctionnalités à venir dans les mois à venir.

Regroupement automatique

Regroupement automatique de Snowflake La fonctionnalité est désormais disponible pour toutes les régions et tous les clouds. Le clustering automatique est une fonctionnalité standard que les clients peuvent activer en contactant le support Snowflake.

Avec les anciens entrepôts de données sur site et dans le cloud, il incombe à l’utilisateur d’optimiser en permanence le stockage de données sous-jacent. Cela inclut la mise à jour des index et des statistiques, les procédures de vidage post-chargement, le choix des bonnes clés de distribution, la gestion des partitions lentes en raison des biais croissants et la nécessité de réorganiser manuellement les données à mesure que de nouvelles données arrivent ou sont modifiées.

Avec Snowflake, un utilisateur peut définir des tables en cluster si l’ordre d’ingestion naturel n’est pas suffisant en présence de différents modèles d’accès aux données. Maintenant, nous introduisons le clustering automatique de Snowflake, qui maintient constamment un clustering optimal pour les tables définies comme des tables en cluster sans aucun impact sur les charges de travail de production. Les avantages incluent :

  • Pas besoin d’exécuter des opérations manuelles pour regrouper les données.
  • Regroupement incrémentiel à mesure que de nouvelles données arrivent ou qu’une plus grande quantité de données est modifiée.
  • Les pipelines ETL constitués d’opérations DML (INSERT, DELETE, UPDATE, MERGE) peuvent s’exécuter simultanément et ne sont pas bloqués.
  • Les utilisateurs peuvent reprendre et suspendre la mise en cluster automatique table par table et sont facturés à la seconde pour les seules ressources de calcul utilisées.

Vues matérialisées et maintenance automatique

Les vues matérialisées (MV) de Snowflake sont en préversion publique sur demande et proposées dans notre édition entreprise. Alors que nous examinions une base de données séculaire et un défi d’optimisation, nous nous sommes concentrés sur quelques principes de conception cruciaux que nous voulions atteindre pour éviter les points faibles des approches traditionnelles :

  1. Garantissez des opérations DML rapides en présence de MV – aucun ralentissement lors de l’émission d’instructions DML par rapport aux tables de base, ce qui est courant parmi les systèmes d’entrepôts de données traditionnels.
  2. Fournissez des résultats de requête toujours à jour et cohérents lors de l’accès aux MV.
  3. Assurez la facilité d’utilisation en fournissant un service de maintenance qui exécute et met à jour en continu les MV en arrière-plan, et qui est entièrement transparent pour l’utilisateur final.

Les principaux cas d’utilisation que nous avons activés avec cette version initiale des MV de Snowflake sont :

  1. Définir de nombreux MV avec différentes clés de clustering, ce qui améliore les performances des requêtes pour différents modèles d’accès.
  2. Matérialisation des agrégations de table unique.
  3. Matérialisation des résultats de requête et analyse par rapport à des données semi-structurées, à l’aide de requêtes aplaties ou approximatives (échantillonnage).

Service de calcul évolutif : aucune infrastructure à gérer

Ces deux fonctionnalités reposent sur notre technologie d’entrepôt virtuel multi-cluster évolutive et sont entièrement gérées par Snowflake. Cela signifie que Snowflake exécute efficacement et automatiquement les instructions de re-clustering ou d’actualisation MV en arrière-plan. Pas besoin de créer, dimensionner ou redimensionner un entrepôt virtuel.

En cas de clustering en arrière-plan, le service de calcul surveille en permanence la qualité du clustering de toutes les tables en cluster enregistrées. Il commence par les micro-partitions les moins clusterisées et effectue le clustering de manière itérative jusqu’à ce qu’une profondeur de clustering optimale soit atteinte. Dans le cas des MV, le service de calcul surveille les tables de base et lance des instructions d’actualisation pour les MV correspondantes si des modifications importantes sont détectées. Ce processus de maintenance de tous les MV dépendants est asynchrone. Dans les scénarios où un utilisateur accède à un MV, qui n’a pas encore été mis à jour, le moteur de requête de Snowflake effectuera une exécution combinée avec la table de base pour toujours garantir des résultats de requête cohérents. Semblable au clustering automatique de Snowflake avec la possibilité de reprendre ou de suspendre par table, un utilisateur peut reprendre et suspendre la maintenance automatique par MV.

Conclusions et remerciements

Nous remercions nos nombreux participants à la prévisualisation de nous avoir fourni de précieux commentaires dès le début de la bêta privée. L’adoption précoce par notre clientèle est encourageante et nous continuerons à écouter leurs commentaires. Ce n’est que le début d’un certain nombre de fonctionnalités supplémentaires liées aux performances, à l’automatisation et à la gérabilité que nous annoncerons dans les semaines et les mois à venir. En savoir plus sur les vues matérialisées, le clustering automatique et la maintenance automatique ici.

Liens supplémentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.