Votre facture dbt augmente-t-elle en licences, ou en ingénieurs ?

dbt Core est gratuit en licence et coûteux en exploitation. dbt Cloud est facile à exploiter et tarifé par développeur, plus l'usage. Dans les deux cas, la couche de transformation a un coût qui augmente avec la taille de l'équipe, et aucune des deux voies n'a été choisie pour cette raison.

Votre facture dbt augmente-t-elle en licences, ou en ingénieurs ?

La plateforme d'automatisation de data warehouse à laquelle les équipes data font confiance

Cela vous semble familier ?

  • Vous utilisez dbt Core, et la semaine d'un ingénieur est désormais consacrée à Airflow, aux runners CI, au stockage des artefacts et au state deferral, pas aux modèles.
  • Vous utilisez dbt Cloud, et chaque nouvel analyste est une licence de plus, chaque mois chargé est une ligne d'usage, et la facture finit toujours par se discuter.
  • L'équipe débat de Core ou de Cloud à chaque cycle budgétaire, et le débat ne change jamais.
  • Personne ne peut dire ce qu'un modèle coûte réellement à maintenir en service : la licence, le temps de plateforme et la puissance de calcul de l'entrepôt sont répartis entre trois feuilles de calcul différentes.

dbt, désormais réuni avec Fivetran au sein d’une même entreprise, a donné au SQL ce que le génie logiciel avait depuis des années : le contrôle de version, les tests, la modularité. C’est pour cela que les équipes l’adoptent. La conversation sur le coût arrive plus tard, et elle se pose sur les deux voies que dbt propose.

Pourquoi la couche coûte plus que la licence

  • dbt Core est gratuit à télécharger, pas gratuit à exécuter. Quelqu’un met en place l’orchestrateur, le pipeline CI, le stockage des artefacts et le state deferral, puis les maintient en fonctionnement. Ce quelqu’un est un ingénieur qui a été recruté pour modéliser des données.
  • dbt Cloud est tarifé par développeur, plus l’usage. Le nombre de licences suit la taille de l’équipe, et comme l’usage est mesuré, la facture suit la fréquence de construction des modèles. Prévisible sur un mois calme, moins sur un mois chargé.
  • Les deux voies paient en plus la puissance de calcul de l’entrepôt. Chaque exécution tourne dans Snowflake, BigQuery ou Databricks, et cette facture est distincte des licences comme des coûts de personnel.
  • Les deux voies assument le support. dbt Core bénéficie d’un support communautaire ; dbt Cloud ajoute un support fournisseur pour la plateforme, pas pour les patterns de votre projet.
  • Les deux voies assument les patterns. Quand la base de données sort une nouvelle fonctionnalité, quelqu’un met à jour les macros, les teste, écrit des scripts de migration pour chaque structure existante et les teste aussi. Ce travail n’a de ligne sur aucune des deux factures, et sur la durée de vie d’un entrepôt c’est le plus gros coût de maintenance de la couche.
  • L’ouverture est l’avantage, et le coût. C’est à vous de choisir chaque pattern et chaque convention, ce qui fait l’attrait, et à vous de les construire, de les tester et de les tenir à jour, ce qui fait la facture.
  • Le choix est présenté comme l’un ou l’autre. Soit des abonnements, soit de l’ingénierie de plateforme. L’option que personne ne présente est une couche de transformation qui a besoin de moins de code écrit à la main dès le départ.

Où le coût se situe réellement

  • La majeure partie d’un projet dbt est le même pattern répété. Les modèles de staging, la gestion des clés, le dédoublonnage et la logique d’historique sont écrits source par source et réexécutés à chaque planification.
  • Les patterns répétés sont exactement ce pour quoi les générateurs existent. Une plateforme pilotée par le modèle dérive ce code du modèle, donc il n’est ni écrit ni maintenu à la main.
  • La logique personnalisée est la petite partie. Les règles métier et les métriques qui ont réellement besoin de SQL sur mesure sont une fraction de la base de code, et c’est la partie où dbt excelle.

Ce qui change avec Datavault Builder

Datavault Builder génère les couches staging, Raw Vault et Business Vault à partir d’un modèle visuel, avec orchestration, déploiement, documentation et lineage dans la même plateforme.

  • La partie générée disparaît de la base de code. Pas de modèles de staging à écrire, pas de macros incrémentales à maintenir, pas de logique d’historisation à retester pour chaque source.
  • L’orchestration et la CI sont fournies. Le support de Git et Gitflow, les scripts de déploiement et de rollback et le lineage font partie de la plateforme, pas d’une seconde pile à exploiter.
  • Idem pour les mises à jour de patterns, les mises à jour de base de données et le support. Les nouvelles fonctionnalités de base de données arrivent sous forme de patterns de chargement mis à jour, scripts de migration des structures existantes inclus, et le support fait partie de la licence plutôt que d’un forum.
  • La couche de livraison est elle aussi pilotée par le modèle. Les marts et les produits de données s’assemblent par glisser-déposer sur la couche sémantique, avec des règles métier gérées et versionnées dans la plateforme, donc les profils orientés métier décident des données dont ils ont besoin sans développeur dbt dans la boucle.
  • dbt est optionnel, pas supprimé. Les équipes qui veulent garder l’exploitation dans dbt obtiennent les modèles dbt générés à partir du même modèle. Le processus reste piloté par le modèle, et un changement est une mise à jour du modèle et une régénération, pas une édition à la main.
  • Le coût est prévisible. Une licence serveur, à choisir parmi trois tailles, plus le nombre de développeurs, et rien qui soit mesuré par exécution ou par chargement. Pas de cluster d’orchestration à exploiter, et pas de ligne de facture qui bouge avec la fréquence de construction des modèles.

Ce qu’il faut décider

Auditez le projet et comptez les modèles qui n’existent que pour mettre en staging, dédoublonner, gérer les clés ou historiser une source. Cette part du projet est ce que vous payez deux fois, une fois pour l’écrire et une fois pour l’exécuter. C’est la partie qu’un générateur devrait prendre en charge.

Voyez-le fonctionner sur l'une de vos sources

Réservez une démo gratuite et apportez le connecteur qui vous coûte le plus cher, en argent ou en temps.

Trois étapes vers un pipeline que vous maîtrisez

  1. Compter ce que la couche coûte vraiment

    Additionnez les licences ou les coûts de personnel, l’orchestration et la CI qui les entourent, puis la puissance de calcul que la couche déclenche. Un seul chiffre.

  2. Sortir la partie générée de la base de code

    Le staging, l’historisation et le Raw Vault sont générés à partir d’un modèle dans Datavault Builder, au lieu d’être écrits puis réexécutés.

  3. Décider à quoi dbt sert encore

    Construisez la couche de livraison dans Datavault Builder, ou gardez dbt pour l’exploitation et laissez la plateforme générer les modèles dbt.

Comment Datavault Builder supprime les frictions de l'ingestion

  • L'ingestion est intégrée

    Chargements batch, delta et CDC depuis les bases de données, les fichiers, les API REST, les sources NoSQL et Python, les flux comme Kafka arrivant en micro-batches. La même plateforme qui génère le warehouse, sans seconde facture.

  • Votre schéma, pas celui du fournisseur

    Les tables source sont mappées vers un modèle Data Vault 2.0 que vous avez conçu. Une nouvelle colonne ou une table renommée change un mapping, pas une chaîne de scripts post-chargement.

  • Seuls les deltas circulent

    Les Hubs, Links et Satellites chargent ce qui a changé. Les rechargements complets restent en staging au lieu d’être retraités en aval chaque nuit.

  • L'historique est conservé par conception

    Chaque changement est conservé tel qu’il arrive, donc le reporting historique fonctionne même là où la source écrase ses propres lignes.

  • Du code que vous n'écrivez jamais

    Le chargement, l’historisation et la traçabilité sont générés depuis le modèle en temps réel et s’exécutent nativement sur Snowflake, Databricks, BigQuery, SQL Server, Fabric, Oracle ou PostgreSQL.

  • Une plateforme, jusqu'à neuf outils en moins

    Modélisation, ETL, CI/CD, documentation et traçabilité au même endroit. C’est ce qui rend possible les 14,7 minutes entre le besoin et la production.

Reconnu par BARC dans The Data Fabric Survey 26

Rencontrez notre expert

Vingt minutes avec notre Sales Director et une réponse honnête sur l’adéquation avec votre stack.

Matt Collett

Matt Collett

Sales Director

Que recherchez-vous ?

En soumettant, vous acceptez notre Politique de confidentialité.

Les autres problèmes traités par cette série

  • Le compromis dbt

    Le compromis dbt : prolifération du code, TCO caché et les arguments en faveur de la modélisation automatisée

    dbt a apporté le génie logiciel au SQL, et les équipes ont raison de le vouloir. Le compromis est une couche de transformation qui s’alourdit en code, en coût et en calcul, au-dessus d’un outil d’ingestion qui reste un produit séparé. Un Data Vault généré retire toute cette couche de la base de code. Il n’a pas besoin de dbt, mais il peut se combiner avec lui.

  • Lacune d'ingestion

    dbt vous laisse-t-il encore charger les données vous-même ?

    dbt est un outil de transformation par conception. Il suppose que les données brutes sont déjà dans l’entrepôt, donc l’étape de chargement est un second produit avec une seconde facture, même maintenant que Fivetran et dbt Labs sont une seule entreprise. Une plateforme d’entrepôt qui ingère et modélise au même endroit comble la lacune sans second contrat.

  • Coûts de calcul de l'entrepôt

    Vos exécutions dbt font-elles discrètement grimper les coûts de calcul de l'entrepôt ?

    dbt exécute tout dans l’entrepôt, donc un full refresh là où un chargement incrémental suffirait, ou une matérialisation en table qui se reconstruit chaque nuit, se traduit par des coûts de calcul, pas par une erreur. La logique incrémentale est optionnelle dans dbt. Dans un Data Vault généré, c’est la seule façon dont les chargements sont écrits.

Questions et réponses