Une architecture de données sans tête consolide l’accès aux données dans une couche centralisée au sein d’une organisation, fournissant un accès cohérent pour les fonctions opérationnelles et analytiques.
Ce modèle résout le problème de longue date des données cloisonnées entre les départements, où les différentes équipes s’appuient souvent sur des pipelines et des sources distincts, ce qui entraîne des retards et des incohérences.

L’architecture sans tête fonctionne avec deux composants clés :

  • Flux : Conçus pour un accès à faible latence, les flux offrent une disponibilité des données en temps réel.
    Ils sont particulièrement utiles pour les applications nécessitant une réponse immédiate, telles que les analyses en temps réel, les plateformes d’engagement des clients et les transactions financières.
  • Les tables : Elles offrent des capacités d’interrogation efficaces par lots avec une latence plus élevée, ce qui les rend idéales pour les tâches moins sensibles au temps, telles que la création de rapports et l’analyse à grande échelle.

Cette structure bifurquée permet aux organisations de brancher leurs besoins en traitement de données sur un flux ou une table, en fonction de leurs besoins, offrant ainsi la flexibilité nécessaire pour traiter les données en temps réel et les données historiques.
En rationalisant l’accès aux données dans tous les domaines, les organisations peuvent garantir une meilleure prise de décision et une plus grande souplesse opérationnelle.

Pourquoi les architectures multi-sauts vous freinent-elles ?

Les architectures de données traditionnelles à sauts multiples constituent depuis des années l’épine dorsale des stratégies de données des entreprises.
Les systèmes reposent généralement sur des processus d’extraction, de transformation et de chargement (ETL), des lacs de données, des entrepôts de données ou la structure plus récente du lac de données, dans laquelle les données circulent de gauche à droite à travers plusieurs étapes.

L’architecture en médaillon est l’une des variantes les plus utilisées de cette structure, qui comporte trois couches distinctes :

  • Couche de bronze : Les données brutes et non structurées proviennent de sources multiples.
    Les données sont souvent désordonnées, incomplètes et nécessitent un nettoyage approfondi.
  • Couche argentée : Une fois traitées, les données sont structurées, nettoyées et normalisées dans cette couche, ce qui les rend plus facilement utilisables pour les rapports et les analyses.
  • Couche d’or : Au cours de la dernière étape, les données sont agrégées et organisées en ensembles de données spécifiques à l’entreprise.
    Ces ensembles de données alimentent souvent les systèmes de veille stratégique, les tableaux de bord et les modèles d’apprentissage automatique.

Bien que le système Medallion fournisse une hiérarchie claire pour la gestion de la qualité des données, il s’accompagne de plusieurs défis inhérents, en particulier en ce qui concerne la vitesse, l’évolutivité et la complexité.

Les coûts cachés des pipelines de données multi-sauts

La latence est l’un des problèmes les plus urgents des architectures multi-sauts.
Les systèmes multi-sauts s’appuient fortement sur des processus périodiques par lots, qui ralentissent le flux de données.
Les données doivent passer par plusieurs étapes avant de devenir utilisables, et ce retard peut nuire aux processus de prise de décision.

Même avec des intervalles de traitement fréquents, par exemple toutes les minutes, il faut encore au moins 3 minutes pour que les données passent de l’état brut (bronze) à l’état prêt à l’emploi (or), sans tenir compte du temps de traitement supplémentaire.

Pour les applications qui exigent des données en temps réel, telles que la détection des fraudes ou les expériences personnalisées des clients, ce délai est tout simplement trop long.

Comment les systèmes à sauts multiples pèsent sur votre budget

Les architectures multi-sauts impliquent la duplication des données à chaque étape, de l’état brut à l’état traité.
Cette duplication nécessite davantage de ressources de stockage, de puissance de traitement et de gestion des données, ce qui se traduit par des coûts opérationnels plus élevés.

Dans un système multi-sauts classique, chaque saut implique le retraitement des données, leur réécriture à un nouvel emplacement et leur stockage en plusieurs versions.
Les coûts augmentent rapidement, en particulier lorsque les volumes de données augmentent et que le besoin d’accès en temps réel s’accroît.

Pourquoi les architectures multi-sauts craquent sous la pression

Les systèmes multi-sauts sont notoirement fragiles et difficiles à adapter.
Chaque étape est souvent gérée par des équipes différentes, ce qui peut poser des problèmes de coordination.
Lorsqu’une étape du pipeline est modifiée, les étapes suivantes peuvent être interrompues, ce qui entraîne des erreurs et des temps d’arrêt.

Les systèmes ont également du mal à évoluer efficacement à mesure que les sources de données, les applications et les utilisateurs finaux s’ajoutent à l’organisation.

Un manque d’intégration entre les différentes étapes nécessite souvent une forte coordination et une surveillance constante, ce qui consomme des ressources précieuses.
Une complexité accrue peut entraîner des pannes de système difficiles à résoudre, ce qui a un impact sur la capacité de l’organisation à se développer et à faire évoluer sa stratégie en matière de données.

Comment le multi-saut provoque le chaos dans les pipelines

Les analystes créent souvent des pipelines personnalisés pour contourner les défis de la propriété distribuée dans les systèmes multi-sauts.
Bien que cela puisse sembler être une solution à court terme, cela conduit à un désordre tentaculaire de pipelines dupliqués qui sont difficiles à gérer, à suivre et à maintenir.

Chaque équipe peut travailler avec sa propre version de la vérité, ce qui conduit à des flux de données fragmentés et inefficaces.
Les pipelines fragmentés rendent également difficile le maintien de la cohérence des données entre les départements, car il n’existe pas d’approche unifiée de la gestion des données de la source à la consommation.

Les données incohérentes sont le problème des sauts multiples que vous ne pouvez pas vous permettre.

Lorsque les données ne sont pas cohérentes entre les différentes équipes, elles peuvent donner lieu à des rapports, des tableaux de bord et des mesures contradictoires.
La fragmentation érode la confiance dans les données, ce qui est particulièrement dangereux pour les mesures en contact avec les clients, les rapports financiers et les fonctions de conformité.

Fournir des données contradictoires aux clients, aux parties prenantes ou aux autorités de réglementation peut avoir de graves conséquences sur la réputation et sur le plan juridique.
Dans le pire des cas, des incohérences dans les données utilisées pour prendre des décisions commerciales peuvent entraîner des pertes financières, une surveillance réglementaire ou des poursuites judiciaires.

Augmentez votre flux de données en passant à gauche

Le concept de déplacement vers la gauche de l’architecture sans tête transforme la manière dont les organisations gèrent leurs données en rapprochant des systèmes sources les tâches traditionnellement effectuées en aval, telles que le nettoyage, la structuration et l’organisation des données.

En passant à gauche, les entreprises peuvent réduire considérablement les coûts en aval, le temps de traitement et le fardeau de la gestion des données dans les dernières étapes.

En pratique, cela signifie qu’au lieu d’attendre que les données passent par plusieurs étapes de nettoyage et d’agrégation, ces processus ont lieu au point d’entrée, ce qui permet d’obtenir un ensemble de données plus propres et normalisées dès le départ.

Les consommateurs de données, qu’il s’agisse d’équipes travaillant sur l’analyse, les rapports ou les opérations, peuvent accéder à ces données par le biais de flux ou de tableaux sans avoir besoin de manipulations supplémentaires.

Cette évolution permet de réduire les coûts, d’améliorer la fraîcheur des données et de réduire la complexité de la gestion de plusieurs pipelines de données.
Elle aide les entreprises à éliminer les goulets d’étranglement et les retards associés aux architectures multi-sauts traditionnelles.

Simplifier la gestion des données en changeant d’état d’esprit

Déplacer les processus ETL et de staging en amont, plus près de la source, change fondamentalement la façon dont les données sont traitées.
En nettoyant, structurant et préparant les données au niveau de la source, les entreprises peuvent se passer de pipelines complexes à plusieurs étapes.

Grâce à cette approche, les données sont disponibles en temps quasi réel, ce qui permet aux équipes de réagir plus rapidement aux besoins de l’entreprise.
Cette approche contraste fortement avec la méthode traditionnelle qui consiste à attendre les travaux ETL périodiques, qui sont souvent obsolètes au moment où les données parviennent aux analystes.

Un changement d’état d’esprit permet aux organisations de s’éloigner du traitement par lots et d’adopter des architectures en temps réel, axées sur les événements, qui sont plus souples et plus réactives au changement.

Créer des produits de données réutilisables avec une architecture sans tête

Un produit de données est un ensemble de données structuré, partageable et réutilisable qui est disponible pour plusieurs équipes et applications.
Dans une architecture sans tête, les produits de données sont construits autour de flux (comme Apache Kafka) et de tables (comme Apache Iceberg), ce qui assure la cohérence des données, qu’elles soient utilisées pour des opérations en temps réel ou pour des analyses par lots.

En structurant les données comme un produit, les organisations peuvent éliminer les complexités des pipelines multi-sauts traditionnels et se concentrer sur la fourniture de données fiables et de haute qualité qui peuvent être utilisées dans tous les départements sans traitement supplémentaire.

Applications concrètes des produits de données dans l’architecture sans tête

  • Applications événementielles : Écrivez des données directement dans les sujets Kafka pour une utilisation immédiate dans les flux de travail opérationnels tels que la gestion des commandes ou la détection des fraudes.
  • Applications demande/réponse : Utilisez les techniques de capture des données de changement (CDC) pour convertir les données des bases de données en événements qui alimentent les flux Kafka, garantissant ainsi un traitement précis et opportun des données.
  • Applications SaaS : Intégrezdes sources de données externes via Kafka Connect, en interrogeant périodiquement les points d’extrémité et en introduisant les données dans les flux en vue d’un traitement ultérieur.

Les produits de données en flux continu constituent une solution simple et élégante

L’un des principaux avantages de l’architecture « stream-first » est sa simplicité.
Les données n’ont besoin d’être écrites qu’une seule fois dans le flux, et elles sont automatiquement ajoutées à la table.
Il n’est donc plus nécessaire d’effectuer des transactions complexes et distribuées qui ralentissent généralement l’accès aux données dans les systèmes traditionnels.

Les systèmes construits selon une approche « stream-first » maintiennent la tolérance aux pannes et les écritures « exactly-once », qui garantissent que l’intégrité des données reste intacte même en cas de défaillance.
Lorsque le flux et la table sont synchronisés, les entreprises peuvent compter sur leurs données pour répondre à leurs besoins immédiats et à long terme.

La stratégie du glissement vers la gauche, un pas après l’autre

L’approche « Shift left » n’est pas une approche « tout ou rien ».
Les organisations peuvent l’appliquer de manière sélective aux ensembles de données les plus importants ou les plus couramment utilisés.
La flexibilité permet une transition plus contrôlée des architectures de données traditionnelles vers un système sans tête.

Les ensembles de données hautement prioritaires, ceux qui sont utilisés pour la prise de décision, les applications orientées client ou les rapports de conformité, sont souvent les meilleurs candidats pour un transfert vers la gauche.
Cela permet aux entreprises de hiérarchiser leurs ressources et de s’assurer que les données les plus importantes sont traitées en temps réel, tandis que les données moins critiques peuvent continuer à être traitées par lots.

Le guide étape par étape de la mise en œuvre d’une stratégie de transfert à gauche

Pour mettre en œuvre efficacement le « shift left », les organisations doivent suivre un processus clair et méthodique :

  • Sélectionnez l’ensemble de données : Choisissez un ensemble de données largement utilisé qui bénéficiera d’un traitement plus rapide.
  • Identifiez la source : Trouvez le système opérationnel d’où proviennent les données.
  • Créez un flux de travail parallèle : Mettez en place un pipeline source-to-stream parallèlement au processus ETL existant.
  • Générer une table : Utilisez Kafka Connect ou des outils tiers pour créer une table Iceberg à partir du flux.
  • Validez et migrez : Une fois le nouveau pipeline validé, transférez les travaux existants vers la nouvelle architecture et supprimez l’ancien processus.

Le plein potentiel de l’architecture sans tête

L’architecture sans tête permet une gestion unifiée des données en intégrant les flux et les tables à partir d’un point unique.
Elle réduit le besoin de pipelines de données multiples et distincts et minimise le risque d’erreurs en aval.
Grâce à cette approche centralisée, les entreprises peuvent gérer plus facilement l’évolution de leurs flux et de leurs tables, ce qui simplifie la maintenance et l’évolution.

Le passage à gauche permet aux organisations d’intégrer la validation et le test dans le pipeline de déploiement de l’application source.
Une démarche proactive permet de s’assurer que les erreurs de données sont détectées dès le début du processus avant qu’elles ne se propagent en aval, ce qui réduit le travail à refaire et augmente la qualité des données dans tous les domaines.

Principaux enseignements

L’architecture sans tête permet un accès plus rapide et plus efficace aux données dans l’ensemble de l’organisation.
Elle améliore l’agilité en offrant des informations en temps réel sans les retards causés par les processus traditionnels par lots, ce qui permet aux équipes d’accéder plus facilement aux données, de les analyser et d’agir lorsqu’elles en ont besoin.

La mise en œuvre d’une architecture sans tête permet d’améliorer la prise de décision, l’efficacité opérationnelle et l’avantage concurrentiel.

Alexander Procter

septembre 12, 2024

13 Min