Databricks vs Snowflake : deux approches différentes, mais convergentes
Les deux data platform ont tendance à voir leurs fonctionnalités se rapprocher. Elles n'en gardent pas moins des spécificités.
Snowflake et Databricks sont actuellement considérées comme les deux data platform phares du marché. Même si elles tendent à se rapprocher en termes de fonctionnalités, ces deux solutions ne viennent pas du même monde. La première est issue de l'univers du data warehouse là où la seconde s'est lancée historiquement sur le terrain du big data et de l'IA.
Databricks | Snowflake | |
---|---|---|
Forte maturité sur le front du data warehouse | X | |
Forte maturité sur le terrain du big data et de l'IA | X | |
Stockage des données agnostique | X | |
Place de marché de données riche | X | |
Unity catalog (catalogue de données, feature store...) | X | |
Monitoring de l'IA | X | |
Intégration native de MLFlow | X |
Créé en 2013, Databricks, dont les fondateurs sont à l'origine du framework big data Spark, a historiquement bâti sa popularité sur une dimension de facto résolument orientée vers les méga-données et, in fine, vers l'intelligence artificielle. Résultat : sa solution se détache pour le traitement de volumes massifs de données en temps réel via Spark, mais aussi sur le front de l'exécution et de l'entrainement des modèles d'intelligence artificielle avec Spark ML. Ces dernières années, le fournisseur de San Francisco a complété son offre en vue de couvrir les cas d'usage propres à la BI et au data warehouse, avec notamment le développement du moteur Databricks SQL doublé d'une couche de containers virtualisés.
A contrario, Snowflake, qui a été fondé en 2012, se présente historiquement comme un entrepôt de données full cloud. Il s'agit d'une base de données verticale managée et massivement distribuée, avec à la clé une couche SQL robuste. "Le principal avantage de Snowflake réside dans sa facilité d'utilisation pour les professionnels de la business intelligence, mais aussi dans sa capacité d'auto-dimensionnement en se basant sur une architecture de virtual warehouse native découplant l'environnement de stockage de la partie calcul", résume Thomas Dallemagne, partner advisory au sein de l'ESN Micropole. A l'inverse de Databricks, l'éditeur californien cherche désormais à se rapprocher du monde du big data et de l'IA, notamment via le développement de SnowPark (un clone de Spark) qui recouvre y compris les développements en Scala.
Snowflake : un entrepôt de données en quelques clics
Partant de ce double mouvement, les positionnements des deux solutions ont tendance à se rapprocher avec la promesse de couvrir chacune l'ensemble des problématiques de la donnée : de la BI au big data en passant par l'IA. "Reste que Snowflake conviendra mieux aux équipes issues de la business intelligence et de l'univers SQL, et Databricks à celles orientées data engineering et data science", estime Thomas Dallemagne. Et Angaté Ezan, senior data engineer et MLOps engineer chez Decathlon Digital d'ajouter : "Snowflake, compte tenu de sa facilité de prise en main, permet de développer et de faire passer à l'échelle à la volée des entrepôts de données complexes rapidement, en quelques clics. Databricks implique, lui, un niveau d'optimisation supérieur pour parvenir au même résultat. Il demande notamment des compétences techniques plus importantes pour optimiser les requêtes."
"Databricks permet de stocker nativement et très simplement les données sur l'infrastructure de son choix"
Au-delà de la culture d'entreprise, il demeure une différence fondamentale entre les deux offres. "Dans le cas de Snowflake, les données resteront globalement gérées par l'éditeur sur sa plateforme. Et ce, contrairement à Databricks qui permet de les stocker nativement sur l'infrastructure de son choix, par exemple sur un tenant AWS ou Azure ou sur un environnement interne", explique Thomas Dallemagne. Chez Databricks, un data plane et un control plan permettront de maîtriser et de configurer ces clusters de données.
Autre différence entre les deux solutions, mais à la faveur de Snowflake cette fois : la place de marché data de la plateforme du Montana. Très riche, elle permet de gérer le partage de données avec d'autres clients Snowflake, mais aussi de déployer une marketplace interne ou encore de publier des informations en open data. A cela vient s'ajouter la capacité de la plateforme à prendre en charge, via sa couche Unistore, des traitements de type transactionnel en s'adossant à une série de tables hybrides, ou encore à gérer des LLM par le biais de Cortex.
La puissance de Spark
Chez Databricks, le principal avantage demeure la puissance de Spark. "Databricks a aussi conceptualisé le lakehouse, qui se traduit par la convergence entre data lake et data warehouse. Derrière cette notion, l'objectif est de stocker les données dans une format unique et open source baptisé Delta", détaille Thomas Dallemagne. "Sur ce plan, la force de Databricks est d'être équipé d'un outil de gouvernance de la donnée baptisé Unity catalog. Il permet de documenter les traitements, y compris les pipelines de données, et référence l'ensemble du lineage, sans oublier la gestion des accès. Enfin, Databricks se démarque via l'intégration native du framework open source MLFlow qui va permettre de gérer des pipelines de machine learning de manière standardisée. Dans ce domaine, Snowflake propose une approche moins aboutie en se basant sur les Snowpark Container Services."
Du côté des pipelines de machine learning, Snowflake tente de se hisser au niveau de Databricks. Mais son écosystème demeure moins riche. "Du raffinement de la donnée jusqu'à son exposition en passant par la gestion de modèles, Databricks propose de ce point de vue une offre de bout en bout", constate Angaté Ezan. "L'éditeur a investi dans un service managé visant à regrouper en un seul endroit toutes les métriques de machine learning, ce qui permet de répondre aux problématiques du data analyst comme à celles du data scientist." Sur ce plan, Snowflake adresse l'entraînement des modèles, mais pas celle du suivi de leurs métriques pour lequel il sera tributaire de ses partenaires.
Qu'en est-il de l'API Pyhton de Snowflake ? "Il utilise les méthodes utilisées par Databricks, mais ce dernier s'appuie sur PySpark qui est bien plus mature, avec également un écosystème plus riche", conclut Angaté Ezan.