AccueilBlogTest technique Airbyte et Fivetran : connecteurs ELT et ingestion
Guide recrutement data

Test technique Airbyte et Fivetran : connecteurs ELT et ingestion

L ingestion est souvent le premier maillon de la stack data. En entretien, on évalue la capacité à choisir entre Fivetran et Airbyte, à configurer des connecteurs custom et à gérer le CDC.

Data Builder·Juin 2025·6 min de lecture·Data Engineer · Analytics Engineer
Sommaire
  1. EL vs ELT
  2. Fivetran
  3. Airbyte
  4. Comparaison
  5. Connecteurs custom
  6. CDC et temps réel
  7. Grille

1EL vs ELT vs ETL

Question discriminante

Quelle est la différence entre ETL et ELT ? Pourquoi le ELT est-il dominant en 2025 ?

  • ETL — Extract, Transform, Load : transformation avant le chargement. L ère des entrepôts on-premise avec puissance de calcul limitée
  • ELT — Extract, Load, Transform : charger brut, transformer dans le warehouse. Possible car les cloud warehouses (BigQuery, Snowflake) sont très puissants
  • EL — Extract, Load uniquement : Fivetran/Airbyte font l EL, dbt fait le T. Séparation claire des responsabilités
  • Pourquoi ELT domine — les transformations SQL dans BigQuery/Snowflake sont moins chères et plus rapides que des transformations Spark dans un ETL custom

2Fivetran : le standard managé

Question discriminante

Quels sont les avantages de Fivetran par rapport à un connecteur custom ?

  • Points forts — 500+ connecteurs maintenus, zero maintenance, gestion automatique des schémas évolutifs, support 24/7
  • Fivetran HVR — module de CDC haute performance pour les bases transactionnelles volumineuses
  • Transformations Fivetran — dbt intégré pour les transformations post-ingestion
  • Limite — coût élevé pour les gros volumes (tarification par volume de lignes)
  • Quand choisir Fivetran — équipe sans expertise DE, sources standards (Salesforce, HubSpot, bases SQL classiques), besoin de zéro maintenance

3Airbyte : l open source flexible

Question discriminante

En quoi Airbyte est-il différent de Fivetran ?

# Déploiement Airbyte sur Docker (développement local) docker-compose -f docker-compose.yaml up -d # Interface web sur http://localhost:8000 # Connecteur custom Python (Airbyte CDK) from airbyte_cdk.sources import AbstractSource from airbyte_cdk.models import SyncMode class CustomAPISource(AbstractSource): def check_connection(self, logger, config): # Vérifier que l API est accessible response = requests.get(config['api_url']) return response.status_code == 200, None def streams(self, config): return [OrdersStream(config), CustomersStream(config)]
  • Open source — hébergeable sur son infra. Airbyte Cloud pour la version managée
  • CDK Python — écrire un connecteur custom en Python avec le Connector Development Kit
  • Moins de connecteurs — moins de 400 connecteurs vs 500+ pour Fivetran, mais suffisant pour la plupart des cas

4Airbyte vs Fivetran : quel choix ?

FivetranAirbyte CloudAirbyte self-hosted
MaintenanceZéroMinimaleGérée par l équipe
Connecteurs500+ (enterprise-grade)400+400+ + custom
CoûtÉlevé (par volume)ModéréInfrastructure uniquement
FlexibilitéFaibleMoyenneMaximale
CDCExcellent (HVR)BonBon
Idéal pourSources standards, zéro maintenanceMix sources standards + customContraintes de sécurité, budget serré

5Connecteurs custom : quand et comment

Question discriminante

Dans quel cas créez-vous un connecteur custom plutôt que d utiliser un connecteur standard ?

  • API propriétaire — aucun connecteur standard ne couvre votre source de données
  • Authentification complexe — OAuth2 avec rotation de tokens, certificats mutuels
  • Format exotique — fichiers XML, EDI, formats métier spécifiques
  • Options — Airbyte CDK (Python), Singer (standard ouvert), ou script Python personnalisé orchestré par Airflow

6CDC : Change Data Capture

Question discriminante

Qu est-ce que le CDC ? Comment l implémentez-vous avec Fivetran ou Airbyte ?

  • CDC — capturer les modifications (INSERT, UPDATE, DELETE) d une base transactionnelle en temps quasi-réel
  • Log-based CDC — lit le binlog MySQL / WAL PostgreSQL. Impact minimal sur la base source. Fivetran HVR, Debezium
  • Timestamp-based — filtre sur updated_at. Simple mais ne capture pas les suppressions
  • Full refresh — recharge toute la table. Simple mais coûteux sur les grandes tables
  • Fivetran HVR — solution de CDC enterprise haute performance, supporte Oracle, DB2, SAP

Production tip : versionner la configuration des connecteurs via l'API Airbyte ou Terraform provider. En cas de rupture de schéma source, Airbyte stoppe le sync automatiquement — configurer des alertes Slack sur les sync failures.

  • Airbyte Cloud vs self-hosted — Cloud : zéro maintenance, facturation à la ligne. OSS self-hosted : contrôle total, gratuit, mais upgrades à gérer
  • Custom connectors CDK — Airbyte Connector Development Kit Python : créer un connecteur REST en 2-3h. Idéal pour les sources internes ou APIs non couvertes
  • Fivetran HVA (High Volume Agent) — sync sub-minute pour les sources critiques (Salesforce, NetSuite). L'agent standard suffit dans 90% des cas
  • Transformations post-sync — Airbyte peut déclencher des jobs dbt après chaque sync via la configuration de destination. Remplace le déclenchement manuel
  • Monitoring — surveiller sync_success_rate et volume de lignes par sync. Un sync 3x plus long = signal d'alarme (changement de volume source ou timeout)
import requests AIRBYTE_URL = 'http://airbyte:8000/api/v1' # Creer une source Postgres via API source = requests.post(f'{AIRBYTE_URL}/sources/create', json={ 'name': 'postgres-prod', 'workspaceId': 'workspace-id', 'sourceDefinitionId': 'decd338e-5647-4c0e-aed4-642ebc15b5b2', 'connectionConfiguration': { 'host': 'postgres.internal', 'port': 5432, 'database': 'ecommerce', 'username': 'airbyte_user', 'password': '${POSTGRES_PASSWORD}', 'replication_method': {'method': 'CDC'} } }).json() # Connexion avec scheduling conn = requests.post(f'{AIRBYTE_URL}/connections/create', json={ 'sourceId': source['sourceId'], 'destinationId': 'dest-snowflake-id', 'scheduleType': 'cron', 'scheduleData': {'cron': {'cronExpression': '0 * * * * ?', 'cronTimeZone': 'UTC'}} }).json()
  • CDC (Change Data Capture) - Airbyte Postgres CDC via Debezium lit le WAL. Capture INSERT/UPDATE/DELETE sans polling. Latence quasi-temps-reel
  • Airbyte vs Fivetran - Fivetran : zero maintenance, 300+ connecteurs enterprise, cout eleve a volume. Airbyte : open source, connecteurs custom, self-hosted
  • Schema drift handling - configurer la reaction aux changements de schema source : propagate (ajouter la colonne), ignore, ou fail (stopper le sync)
  • Normalization post-sync - Airbyte Basic Normalization transforme le JSON en tables relationnelles. Pour la transformation avancee : dbt post-sync
  • Monitoring - alertes sur sync failures via webhooks. Suivre le sync success rate et le lag par connexion

7Grille par niveau

NiveauMaitriseSignal GONO-GO
ConfirméELT vs ETL, Fivetran ou Airbyte, CDC basiqueA configuré un connecteur Fivetran ou Airbyte, explique ELT vs ETLNe sait pas la différence entre ELT et ETL
SeniorConnecteurs custom, CDC log-based, choix selon contexteA écrit un connecteur custom Airbyte, compare Fivetran vs Airbyte selon le contexteNe sait pas ce qu est le CDC log-based

Vous recrutez un Data Engineer ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.