ServicesÀ proposNotesContact Me contacter →
EN FR
Note

Architecture des packages dbt Fivetran

Comment Fivetran structure ses 60+ packages dbt — le modèle unifié source-et-transformation, les bundles de reporting cross-plateformes, et le pattern d'installation qui évite les conflits de versions.

Planté
dbtdata engineeringdata modeling

Fivetran est le plus grand contributeur au sein de l’écosystème de packages dbt en dehors de dbt Labs, maintenant plus de 100 packages avec cinq ingénieurs à temps plein dédiés à ce travail. Si vous utilisez des connecteurs Fivetran, il existe presque certainement un package qui transforme vos données brutes en modèles utilisables. Comprendre comment Fivetran structure ses packages vous évite des erreurs d’installation et vous aide à naviguer correctement dans l’écosystème.

Le modèle de package unifié

Avant 2024, Fivetran maintenait des packages séparés pour chaque connecteur : un package _source qui gérait le nettoyage de la couche de base et un package _transform qui construisait les modèles mart par-dessus. Installer Salesforce signifiait installer à la fois dbt_salesforce_source et dbt_salesforce.

À partir de 2024-2025, Fivetran a unifié ceux-ci en packages uniques par connecteur. fivetran/dbt_salesforce gère désormais à la fois la couche de base (ce qui était autrefois _source) et la couche de transformation (les marts). Vous installez un seul package par connecteur au lieu de deux.

Si vous avez une ancienne configuration avec des packages _source et _transform séparés, vérifiez si une version unifiée existe. La migration vers le package unifié vaut la peine — elle réduit la complexité de votre packages.yml et garantit que les couches de base et de transformation restent synchronisées.

L’architecture du flux de données

Les packages Fivetran suivent une architecture cohérente quelle que soit le connecteur utilisé :

Données brutes du connecteur (schéma géré par Fivetran)
Package dbt unifié (modèles base + transform)
Optionnel : Bundle cross-plateforme (schéma combiné entre connecteurs)
Vos modèles dbt personnalisés (en aval)

Chaque package unifié couvre :

  • Modèles de base — un modèle par table source, gérant le renommage des colonnes, le casting des types, le filtrage _fivetran_deleted, et la gestion des nulls
  • Modèles mart — sorties pré-jointes et dénormalisées conçues pour l’usage analytique

Vos modèles personnalisés référencent les sorties mart du package en utilisant ref(). Vous n’avez pas besoin de toucher aux couches de base ou intermédiaire à moins de personnaliser le comportement via des overrides var().

Bundles cross-plateformes

Pour les plateformes publicitaires et les médias sociaux, Fivetran publie des bundles qui unifient plusieurs connecteurs en un seul schéma normalisé. Les deux principaux :

fivetran/ad_reporting — combine les 11 plateformes publicitaires (Facebook Ads, Google Ads, LinkedIn Ads, Microsoft Ads, TikTok Ads, Pinterest Ads, Snapchat Ads, Twitter Ads, Amazon Ads, Apple Search Ads, Reddit Ads) en un seul schéma unifié. Vous obtenez un modèle ad_reporting__weekly_url_report couvrant toutes les plateformes plutôt que des modèles mart spécifiques à chaque plateforme.

fivetran/social_media_reporting — combine Facebook Pages, Instagram Business, LinkedIn Pages, Twitter et YouTube en des modèles de médias sociaux unifiés.

Ces bundles sont le bon choix lorsque vous avez besoin de reporting cross-plateformes. Ils gèrent le travail de normalisation qui vous incomberait autrement : alignement des noms de métriques, gestion des colonnes remplies de nulls pour les plateformes qui ne prennent pas en charge certaines dimensions, et standardisation de la granularité des dates.

La règle d’installation du bundle

Lorsque vous utilisez un bundle, n’installez pas également les packages individuels des plateformes.

Le bundle installe les packages individuels comme dépendances. Si vous les déclarez explicitement dans votre packages.yml, vous rencontrerez des conflits de versions :

# Incorrect — provoque des conflits de versions
packages:
- package: fivetran/ad_reporting
version: [">=2.0.0", "<3.0.0"]
- package: fivetran/google_ads # Ne faites pas cela
version: [">=0.10.0", "<1.0.0"]
- package: fivetran/facebook_ads # Ne faites pas cela non plus
version: [">=0.7.0", "<1.0.0"]
# Correct — laisser le bundle gérer ses dépendances
packages:
- package: fivetran/ad_reporting
version: [">=2.0.0", "<3.0.0"]

Le bundle épingle ses dépendances à des versions compatibles spécifiques. Les ajouter au niveau racine crée des conflits de contraintes de versions parce que votre plage de versions explicite peut ne pas chevaucher ce qu’attend le bundle.

Ce qui est disponible par catégorie

Fivetran couvre la plupart des sources de données importantes que vous êtes susceptible de rencontrer :

CatégoriePackages
Plateformes publicitairesFacebook Ads, Google Ads, LinkedIn Ads, Microsoft Ads, TikTok Ads, Pinterest Ads, Snapchat Ads, Twitter Ads, Amazon Ads, Apple Search Ads, Reddit Ads
CRM & ventesSalesforce, HubSpot, Dynamics 365
FinanceQuickBooks, NetSuite, Xero, Sage Intacct, Zuora, Stripe
Automatisation marketingMarketo, Klaviyo, Mailchimp, Pardot, Iterable
Product analyticsMixpanel, Amplitude, Segment
Outils devGitHub, Jira, Linear, PagerDuty, Zendesk
RHBambooHR, Greenhouse, Lever, Workday

Tous les packages Fivetran sont publiés sous licences Apache 2.0 et sont compatibles Fusion (vérifiés pour fonctionner avec le moteur Rust de dbt). Consultez le Hub pour le catalogue complet sous le namespace fivetran/.

Configuration spécifique aux connecteurs

Tous les packages Fivetran suivent le même pattern de configuration : var() pour les overrides de schéma/base de données source, et des vars booléens pour activer/désactiver des groupes de modèles.

Les packages CRM ont une configuration supplémentaire méritant d’être connue — consultez Fivetran dbt Packages for CRM pour les spécificités Salesforce et HubSpot, notamment les pass-through columns pour les champs personnalisés, le support multi-org et l’intégration du mode historique.

Pour les packages de plateformes publicitaires, consultez dbt Ad Reporting Patterns pour travailler avec la sortie du bundle ad_reporting unifié.

Le contexte de la fusion dbt-Fivetran

Les cinq ingénieurs de packages à temps plein de Fivetran ne sont pas un hasard — les packages sont un différenciateur stratégique. Si vous utilisez des connecteurs Fivetran, les packages sont conçus pour rendre la sortie brute du connecteur réellement utilisable. Ils sont aussi ce qui rend le changement d’outil d’ingestion coûteux : migrer hors de Fivetran signifie perdre l’écosystème de packages, qui représente une quantité significative de travail de transformation déjà effectuée.

La fusion d’octobre 2025 entre dbt Labs et Fivetran signale une intégration encore plus étroite à venir. Les packages devraient devenir plus profondément couplés avec la plateforme de connecteurs au fil du temps.