Pourquoi Snowflake a changé les règles de l’entrepôt de données
À son arrivée sur le marché, Snowflake a introduit une idée qui paraît aujourd’hui évidente mais qui constituait alors une rupture : séparer complètement le stockage du calcul. Dans les entrepôts de données traditionnels, obtenir davantage de puissance de calcul obligeait à acheter aussi davantage de stockage, et inversement. Avec Snowflake, chacun évolue indépendamment, et la capacité de calcul peut être allumée ou éteinte en quelques secondes.
Cette architecture transforme en profondeur le modèle économique de l’entrepôt de données : on paie ce que l’on consomme, et non la capacité totale provisionnée.
L’architecture de Snowflake : les notions clés
Séparation calcul-stockage : les données sont stockées dans un format colonnaire compressé, sur le stockage objet du cloud (S3, Azure Blob ou GCS selon le cloud choisi). Les virtual warehouses sont des clusters de calcul indépendants qui lisent ces données sans interférer les uns avec les autres.
Virtual warehouses : chaque équipe ou charge de travail peut disposer de son propre virtual warehouse, dimensionné selon ses besoins. L’équipe marketing utilise un XS pour ses requêtes habituelles, l’équipe data science un L pour les transformations lourdes, et toutes deux travaillent sur les mêmes données sans se bloquer mutuellement.
Multicloud et multirégion : Snowflake est disponible sur AWS, Azure et GCP. Il permet de répliquer les données entre régions et entre clouds, pour la redondance et la conformité réglementaire. L’architecture reste la même quel que soit le cloud sous-jacent.
Time Travel : Snowflake permet d’interroger l’état des données à n’importe quel moment d’une période configurable (jusqu’à 90 jours dans les éditions Enterprise), ce qui facilite la reprise après erreur et l’analyse historique.
Snowflake Data Marketplace
L’une des fonctionnalités les plus distinctives de Snowflake est sa Data Marketplace : un écosystème de données tierces que les entreprises peuvent intégrer directement dans leur compte Snowflake, sans avoir à les déplacer ni à les traiter. Données météorologiques, démographiques, indices financiers, données macroéconomiques et des milliers d’autres jeux de données sont disponibles pour enrichir les données propres de l’entreprise sans infrastructure supplémentaire.
Pour les entreprises de secteurs comme l’assurance, la finance ou la distribution, l’accès à des données externes de qualité peut constituer un avantage concurrentiel significatif.
Snowpark : le machine learning directement dans Snowflake
Snowpark est l’API de Snowflake qui permet aux data scientists d’exécuter du code Python, Java ou Scala directement dans l’environnement Snowflake, en tirant parti de sa puissance de calcul sans extraire les données vers un environnement externe. Cela réduit les déplacements de données, simplifie l’architecture de machine learning et facilite le déploiement des modèles directement dans Snowflake.
Snowflake, Databricks ou BigQuery : lequel choisir
Snowflake est le meilleur choix lorsque :
- L’équipe principale se compose d’analystes SQL et d’équipes BI, et non d’ingénieurs Spark.
- Il faut partager des données en toute sécurité avec des partenaires ou des fournisseurs externes.
- Une plateforme managée, avec une charge d’exploitation minimale, est recherchée.
- L’entreprise opère sur plusieurs clouds et a besoin d’interopérabilité.
Databricks est préférable lorsque :
- Les charges de machine learning et de data engineering l’emportent sur le SQL analytique.
- Il faut traiter des volumes massifs de données non structurées.
- L’équipe maîtrise Spark et Python.
BigQuery s’impose naturellement lorsque :
- L’entreprise est déjà profondément intégrée à l’écosystème Google Cloud.
La mise en œuvre en entreprise
Snowflake s’adopte assez facilement pour des équipes qui maîtrisent SQL. Une mise en œuvre type comprend la conception du modèle de données dans Snowflake, la configuration des pipelines d’ingestion (avec des outils comme dbt pour les transformations), la définition de la politique de virtual warehouses par équipe et l’intégration avec les outils de BI existants comme Power BI ou Tableau.
Chez AIRES, nous aidons les entreprises à déterminer si Snowflake est la plateforme adaptée à leurs besoins, à concevoir l’architecture la plus pertinente et à mener en toute sécurité la migration depuis les systèmes existants.
Questions fréquentes
Comment maîtriser les coûts dans Snowflake ? Snowflake facture les crédits de calcul consommés et le stockage. Les coûts se maîtrisent grâce à la suspension automatique des virtual warehouses, au bon dimensionnement de chaque warehouse selon son usage, à l’utilisation de clés de clustering sur les grandes tables pour réduire le volume de données parcouru, et au suivi de la consommation avec les vues Query History de Snowflake.
Peut-on utiliser Snowflake avec Power BI ? Oui. Power BI dispose d’un connecteur natif pour Snowflake qui relie directement les rapports aux tables et aux vues de Snowflake, en mode Import comme en mode DirectQuery. Cette intégration est très courante dans les entreprises qui veulent conserver Power BI comme outil de BI tout en modernisant leur socle de données.
Snowflake est-il conforme au RGPD pour les entreprises européennes ? Oui. Snowflake propose notamment des régions UE sur AWS Francfort et sur Azure Pays-Bas. Les données peuvent être configurées pour rester au sein de l’EEE. Snowflake dispose des certifications SOC 2 Type II et ISO 27001 et se conforme au RGPD, avec des accords de traitement des données (DPA) adaptés à la réglementation européenne.