De la source au consommateur, une conception délibérée
Nous concevons les plateformes de données en couches, avec des interfaces explicites entre elles. Une couche bronze capture fidèlement les données source ; une couche argent nettoie, conforme et joint ; une couche or expose les entités et métriques consommées par les analystes, les data scientists et les applications. Chaque couche a ses propres propriétaires, ses propres attentes en matière de qualité et ses propres règles d'évolution. La discipline est ingrate et le rendement est substantiel : un ensemble de données qui se comporte mal peut être localisé, expliqué et corrigé rapidement.
Dans chaque couche, nous utilisons les formats de stockage et les moteurs de requête les mieux adaptés à la charge de travail. Les formats Lakehouse — Apache Iceberg, Delta Lake, Apache Hudi — nous permettent de plus en plus d'exécuter des analyses de type entrepôt sur un stockage à l'économie de lac, tout en conservant les propriétés d'ingénierie (écritures ACID, voyage dans le temps, évolution des schémas) requises pour le travail de production. Lorsque des performances d'entrepôt réelles sont nécessaires au niveau or, nous sommes heureux de déposer des marts organisés dans Snowflake, BigQuery, Redshift ou Synapse.
Le streaming est traité comme un mode de livraison de première classe plutôt que comme une réflexion après coup. Nous utilisons Kafka, Kinesis ou Pub/Sub pour le transport, Flink, Spark Structured Streaming ou Beam pour le traitement, et Iceberg ou Delta pour l'atterrissage — avec les mêmes contrôles de qualité et de gouvernance que ceux dont bénéficient les pipelines par lots. Les architectures de style Lambda avec des chemins de lots et de flux parallèles sont quelque chose que nous évitons activement désormais ; le coût opérationnel est rarement justifié.
- Conception en couches Bronze / Argent / Or
- Formats de table ouverts (Iceberg, Delta, Hudi)
- Ingestion orientée streaming là où c'est rentable
- Stockage cloud-natif avec politiques de cycle de vie
- Transformations réutilisables dans dbt ou Spark
- ETL inversé vers les systèmes opérationnels

