Votre schéma Fivetran vous oblige-t-il à reconstruire le modèle après chaque chargement ?
Fivetran dépose chaque source dans son propre schéma standardisé. Les clés métier, les champs personnalisés et les structures héritées doivent ensuite être remodelés en SQL, un SQL qui casse quand le connecteur change. La solution n'est pas un meilleur script. C'est un modèle qui définit lui-même la structure.
Cela vous semble familier ?
- Chaque connecteur dépose son propre schéma, et les jointures entre eux sont écrites à la main, par source, en SQL post-chargement.
- Une colonne ajoutée ou renommée côté source casse une transformation une semaine plus tard, en production.
- Client, produit et compte existent trois fois avec trois clés différentes, et chaque développeur les a rapprochés à sa façon.
- La vraie logique métier est éparpillée entre des modèles dbt, des vues et des notebooks, et personne ne peut indiquer où une règle est définie.
Un schéma standardisé par connecteur est ce qui rend un pipeline managé rapide à mettre en place. C’est aussi ce qui rend le deuxième mois plus difficile que le premier. La structure des données est décidée par le connecteur, et tout ce dont votre métier a réellement besoin (clés conformes, champs personnalisés, règles qui couvrent trois sources) doit être construit par-dessus, dans dbt ou à la main.
Pourquoi le schéma figé vous résiste
- Le schéma est celui du fournisseur, pas le vôtre. Il reflète l’API du système source, pas la façon dont le métier parle de clients, de commandes ou de comptes.
- Le SQL post-chargement est le vrai modèle, et il n’est géré par personne. L’harmonisation des clés, le dédoublonnage, la gestion de l’historique et les règles finissent dans des scripts que personne n’a conçus comme un ensemble, chacun dans le style de celui qui l’a écrit.
- Les changements de source arrivent sous forme d’incidents de production. Une colonne renommée en amont casse une transformation en aval, et on ne le découvre que lorsqu’un rapport de direction échoue ou affiche de mauvais chiffres.
- La même entité se retrouve dans plusieurs silos. Le client du CRM, le client de l’ERP et le client de la boutique en ligne sont trois tables avec trois clés jusqu’à ce que quelqu’un écrive la jointure.
Rien de tout cela n’est la faute du connecteur. C’est ce qui arrive quand l’outil qui dépose les données est aussi censé leur donner une structure utilisable par le métier.
Où la structure doit être définie
- La structure relève de la modélisation, pas de l’écriture de scripts. Les clés métier, les relations et les attributs devraient être déclarés une seule fois, dans un modèle, dont le code de chargement est ensuite dérivé.
- La couche brute devrait absorber le changement. Le Data Vault 2.0 sépare les clés, les relations et le contexte précisément pour qu’un nouvel attribut source donne lieu à un nouveau satellite, et non à une réécriture.
- Les règles ont leur place au-dessus de la couche brute. Les dimensions conformes et la logique métier se situent dans le Business Vault et les marts, là où un changement de schéma source ne peut pas les atteindre.
Ce qui change avec Datavault Builder
Datavault Builder remplace le schéma cible figé par une couche Data Vault 2.0 pilotée par le modèle, et génère le code de chargement à partir du modèle.
- Les tables de staging restent telles que le connecteur les livre. Rien n’est remodelé à la main. Le mapping de la table de staging vers hub, link et satellite se fait visuellement.
- Les clés métier sont harmonisées dans le modèle. Le client issu de trois systèmes devient un seul hub, avec le contexte de chaque source dans son propre satellite. La jointure est déclarée une seule fois.
- Un changement de source est un changement de mapping. Mettez à jour le mapping, régénérez, et le Business Vault comme les marts au-dessus restent intacts.
- Les petits changements sont absorbés automatiquement. Une colonne qui disparaît est chargée à null avec un avertissement, sans faire échouer l’exécution. Un varchar qui s’allonge est élargi, pas tronqué.
- Tous les pipelines ont la même structure. Les chargements sont générés, donc il n’y a pas de style propre à chaque développeur à relire, ni de script que seul son auteur comprend.
- La documentation et le lineage sont générés eux aussi. Chaque règle se situe dans le Business Vault ou dans la couche des marts, est visible dans le modèle, et peut être tracée du rapport jusqu’à la source sans que personne ait à la documenter.
- Le résultat reste un schéma en étoile. Des marts dimensionnels sont générés par-dessus, donc la couche BI voit des dimensions conformes, pas les détails internes du vault.
Ce qu’il faut décider
Auditez les scripts post-chargement qui n’existent que pour remodeler la sortie du connecteur : harmonisation des clés, dédoublonnage, historique, jointures inter-sources. Cette liste est le modèle que vous maintenez à la main. C’est la première chose à déplacer.
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
-
Garder le schéma de staging tel quel
Ce que le connecteur produit reste intact dans le staging. Rien n’est remodelé à la main.
-
Le mapper vers le modèle que vous possédez
Les clés métier, les relations et les attributs sont mappés visuellement en hubs, links et satellites.
-
Placer les règles dans le Business Vault
Les dimensions conformes et la logique personnalisée se situent au-dessus du Raw Vault, là où un changement de source ne peut pas les atteindre.
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.
Rencontrez notre expert
Vingt minutes avec notre Sales Director et une réponse honnête sur l’adéquation avec votre stack.
Matt Collett
Sales Director
Parfait, choisissez un créneau qui vous convient :
Les autres problèmes traités par cette série
-
Coûts et schémas Fivetran qui vous échappent ? Comment la modélisation automatisée supprime les points de friction de l'ingestion
L’ELT plug and play est rapide à démarrer et lent à contrôler. Deux choses s’érodent avec le temps : ce que le pipeline coûte, et qui décide de la structure des données. Une couche Data Vault automatisée vous rend les deux sans renoncer aux connecteurs qui fonctionnent.
-
Votre facture Fivetran bondit-elle chaque fois qu'une table source devient très active ?
Fivetran facture en fonction des Monthly Active Rows. Une mise à jour en masse ou une migration de schéma en amont touche à nouveau chaque ligne, et la facture suit. Les lignes n’ont jamais été le problème. Le problème, c’est de payer par ligne pour des données que vous retraitez ensuite vous-même.
Questions et réponses
- Cela remplace la partie écrite à la main : les modèles de staging, l’harmonisation des clés et l’historisation que chaque équipe finit par écrire. Le vault et les marts générés sont des tables et des vues ordinaires dans votre entrepôt, donc tout ce que vous gardez dans dbt peut les lire.
- La table de staging change, le mapping est mis à jour dans le modèle, et le code de chargement est régénéré. Rien en aval du Raw Vault n’est touché, parce que le Business Vault et les marts lisent le modèle, pas la source.
- La couche brute est un Data Vault 2.0, et c’est ce qui lui permet d’absorber les changements de source. Au-dessus, Datavault Builder génère des marts dimensionnels ou 3NF, donc ce que le métier voit est un schéma en étoile.