Dans la plupart des réunions de cadrage data, une demande revient avec une régularité de métronome : « il nous faudrait du temps réel ». Le mot est devenu un réflexe, presque un signe de modernité. Personne ne veut afficher des chiffres « d'hier » quand les outils promettent la seconde.
Pourtant, en grattant un peu, le besoin réel se révèle souvent bien plus modeste. Derrière l'envie de temps réel se cache fréquemment un tableau de bord consulté chaque matin, un reporting hebdomadaire ou une analyse mensuelle. Le décalage entre la demande exprimée et l'usage effectif est l'une des causes les plus fréquentes de sur-dimensionnement d'une architecture de données.
Ce sur-dimensionnement a un prix. Une chaîne de traitement en flux continu ne coûte pas seulement plus cher en infrastructure : elle exige des compétences rares, une supervision permanente et une capacité à gérer les incidents en continu. On paie tous les jours une fraîcheur dont on ne se sert presque jamais.
Choisir entre temps réel, quasi temps réel et batch n'est donc pas une question d'outil ou de tendance. C'est un arbitrage de conception, qui se joue sur un seul terrain : la fraîcheur de la donnée réellement utile à la décision. Tout le reste découle de là.
Avant d'arbitrer, il faut nommer précisément ce que l'on compare. Les trois modes ne s'opposent pas sur la technologie, mais sur le délai entre le moment où un événement se produit et le moment où la donnée correspondante devient exploitable. Ce délai porte un nom : la latence. C'est lui, et lui seul, qui sépare réellement les trois familles.
Le batch désigne le traitement des données par lots, à intervalle régulier et planifié. On accumule les données pendant une période donnée, puis on déclenche un traitement qui les ingère, les transforme et les met à disposition d'un coup. Une consolidation chaque nuit, un rafraîchissement toutes les heures, un calcul de marge à la clôture du mois : ce sont des traitements par lots.
C'est le mode historique, et il reste le plus répandu, le plus simple à exploiter et le plus économique. Un traitement planifié est prévisible. S'il échoue, on le relance. Sa fenêtre d'exécution est connue, ses ressources sont mobilisées de façon ponctuelle plutôt qu'en continu. Pour la grande majorité des usages analytiques, cette fraîcheur à l'heure ou à la journée est largement suffisante.
Le batch n'est pas une solution dégradée. C'est un choix d'ingénierie parfaitement valable, qui constitue le socle de la quasi-totalité des chaînes de pipeline de données en production aujourd'hui.
Le quasi temps réel, souvent appelé micro-batch, n'est pas une catégorie à part : c'est un batch dont la fréquence est si élevée que la donnée semble continue. Au lieu de traiter un lot par nuit, on traite un micro-lot toutes les quelques minutes, parfois toutes les quelques secondes.
Le résultat est une donnée fraîche à quelques minutes près, sans la complexité d'une véritable chaîne en flux continu. C'est un compromis très puissant : il couvre une grande partie des besoins de pilotage opérationnel sans imposer l'architecture la plus lourde. Beaucoup d'usages que l'on croit relever du temps réel se contentent en réalité parfaitement d'un micro-batch toutes les cinq minutes.
C'est aussi le mode le plus souvent sous-estimé dans les discussions de cadrage. Entre le batch nocturne et le streaming intégral, il existe tout un espace intermédiaire qui répond à la plupart des demandes de réactivité.
Le temps réel (ou streaming) traite chaque donnée à l'événement, en continu, dès qu'elle se produit. Il n'y a plus de lot ni de fenêtre planifiée : un flux permanent ingère et transforme les données les unes après les autres, avec une latence qui se compte en secondes, voire en millisecondes.
Ce mode répond à des besoins où chaque seconde de retard a une conséquence métier directe : bloquer une transaction frauduleuse, ajuster une recommandation pendant la navigation, déclencher une alerte sur une machine industrielle. Hors de ces cas, le temps réel apporte une fraîcheur que personne n'exploite, au prix d'une complexité que tout le monde subit.
Le streaming n'est donc pas « mieux » que le batch. Il répond à une autre classe de problèmes. Les confondre, c'est s'exposer à payer pour une capacité qui ne sert pas.
La technologie n'est jamais le point de départ. Le point de départ, c'est l'usage. Et plus précisément : à quelle vitesse une donnée doit-elle être disponible pour qu'une décision change réellement ? Tant que cette question n'a pas de réponse chiffrée, tout choix d'architecture repose sur une intuition.
Il existe un écart presque systématique entre la fraîcheur demandée et la fraîcheur utilisée. Un directeur commercial demande des ventes « en temps réel », mais consulte son tableau de bord deux fois par jour. Une équipe marketing réclame un suivi « instantané » des campagnes, pour des arbitrages qu'elle prend chaque semaine.
Ce n'est pas de la mauvaise foi, c'est un biais naturel : face au choix, on demande toujours le maximum, parce que le maximum semble plus sûr. Le rôle de la conception est de ramener la demande à l'usage. Combien de fois la donnée est-elle réellement regardée ? Quelle décision dépend de sa fraîcheur ? Que se passe-t-il concrètement si elle a quinze minutes, une heure ou un jour de retard ?
Tant que ces réponses restent floues, la prudence consiste à partir de l'hypothèse basse. On peut toujours accélérer un traitement plus tard. Démanteler une architecture temps réel surdimensionnée coûte infiniment plus cher.
Une seule question tranche la plupart des cas : que fait-on de la donnée dans les minutes qui suivent sa production ? Si la réponse est « rien d'automatique, on la regardera plus tard », le batch suffit. Si la réponse est « un humain doit réagir dans la demi-heure », le quasi temps réel s'impose. Si la réponse est « un système doit décider en moins d'une seconde, sans intervention humaine », alors le temps réel devient légitime.
Cette grille de lecture déplace le débat du terrain technique vers le terrain de la décision. Elle évite la discussion stérile sur l'outil le plus moderne, pour la remplacer par une question d'usage que les métiers peuvent trancher eux-mêmes. C'est exactement le niveau où le choix doit se faire.
La fraîcheur utile oriente le choix, mais elle ne le ferme pas seule. Quatre critères concrets viennent affiner l'arbitrage et confronter l'idéal au réel : la latence acceptable, le coût d'exploitation, la nature des données et la maturité de l'équipe.
Premier critère, le plus direct : quelle latence l'usage tolère-t-il vraiment ? Il ne s'agit pas de la latence souhaitée, mais de la latence au-delà de laquelle la donnée perd sa valeur de décision. Un reporting financier mensuel tolère un jour de retard sans aucun impact. Un suivi logistique opérationnel se satisfait de quelques minutes. Une détection de fraude exige la seconde.
Poser ce seuil noir sur blanc change la conversation. Une exigence de latence chiffrée devient un critère d'architecture, là où un « le plus vite possible » n'en est jamais un. C'est souvent à cette étape que la demande de temps réel se transforme d'elle-même en demande de quasi temps réel, voire de batch fréquent.
Le coût d'un mode de traitement ne se résume pas à la facture d'infrastructure. La part la plus lourde, et la plus souvent oubliée, est la charge d'exploitation. Un traitement par lots tourne dans une fenêtre connue et se relance simplement en cas d'échec. Une chaîne en flux continu, elle, ne s'arrête jamais : elle demande une supervision permanente, une gestion fine des reprises sur incident et une vigilance de tous les instants.
Cette différence se traduit directement en personnes et en compétences. Le streaming mobilise des profils rares, capables de concevoir et de maintenir des systèmes distribués qui ne tolèrent pas l'interruption. Le vrai coût du temps réel se mesure en jours-hommes d'exploitation, pas en lignes de facture cloud. C'est un point que les démarches DataOps rendent visible en intégrant l'exploitation dès la conception.
La nature des données pèse aussi dans la balance. Un flux à très forte volumétrie et à très haute fréquence appelle des mécanismes capables d'absorber la charge en continu, là où des volumes modérés se traitent sans difficulté par lots. La façon dont les données entrent dans le système, c'est-à-dire l'ingestion des données, conditionne déjà une partie du choix : une source qui ne se met à jour qu'une fois par jour n'a aucun intérêt à être traitée en continu.
La criticité compte tout autant. Une donnée dont l'erreur ou le retard provoque une perte financière immédiate justifie un investissement que ne mérite pas une donnée de confort. Toutes les données d'une organisation n'ont pas la même valeur de fraîcheur, et vouloir les traiter toutes au même rythme est le premier pas vers la sur-architecture.
Dernier critère, souvent décisif : l'équipe est-elle en mesure d'exploiter durablement le mode choisi ? Une architecture temps réel brillante mais que deux personnes seulement savent maintenir est une dette d'exploitation déguisée. Le jour où ces personnes partent, la chaîne devient ingérable.
Choisir un mode de traitement, c'est aussi choisir ce que l'organisation saura faire tourner dans deux ans, sans dépendance critique à quelques individus. Un batch solide et bien documenté, que toute l'équipe maîtrise, vaut mieux qu'un streaming sophistiqué et fragile. La meilleure architecture n'est pas la plus rapide, c'est celle que l'équipe peut tenir dans la durée.
Les critères posés, l'arbitrage se simplifie. Dans l'immense majorité des cas, le raisonnement converge vers une règle saine : commencer par le mode le plus simple qui répond au besoin, et ne complexifier que sur preuve.
Le batch couvre la majorité des besoins analytiques d'une organisation. Reporting de pilotage, consolidation financière, analyses de tendance, alimentation d'un entrepôt ou d'un data lakehouse, préparation de données pour des modèles : tous ces usages se satisfont d'une fraîcheur à l'heure ou à la journée.
La règle pratique est simple : si aucune décision automatique ne dépend de la donnée dans les minutes qui suivent sa production, le batch est le bon choix. Il est moins coûteux, plus robuste et plus facile à maintenir. Le défaut le plus fréquent n'est pas de choisir le batch trop souvent, c'est de le quitter trop vite.
Le quasi temps réel s'impose dès qu'un humain doit réagir dans un délai court, mais pas immédiat. Suivi opérationnel d'une activité en cours, supervision d'indicateurs sensibles, alerting sur un seuil franchi, pilotage d'une campagne en cours de diffusion : ces usages demandent une fraîcheur de quelques minutes, sans exiger la seconde.
C'est le meilleur rapport valeur sur complexité pour une large gamme de besoins. Le micro-batch apporte une réactivité perçue comme « continue » tout en restant proche, techniquement, d'un batch classique. Avant de basculer vers un véritable streaming, il faut toujours se demander si un micro-batch toutes les quelques minutes ne suffirait pas. La réponse est positive bien plus souvent qu'on ne le croit.
Le temps réel devient légitime dans un cas précis : quand un système doit décider seul, en moins d'une seconde, sans intervention humaine, et qu'un retard a une conséquence métier directe. Détection de fraude au moment de la transaction, personnalisation pendant la navigation, réaction à un capteur industriel, ajustement automatique en continu.
Dans ces situations, le flux continu n'est pas un luxe, c'est la condition même de l'usage. La complexité et le coût se justifient parce qu'aucun autre mode ne répond au besoin. La frontière est nette : dès qu'un humain est dans la boucle de décision, le temps réel strict perd presque toujours sa justification au profit du quasi temps réel.
Si le batch suffit si souvent, pourquoi tant d'organisations basculent-elles en temps réel sans nécessité ? Parce que la décision est rarement guidée par l'usage. Elle est guidée par des signaux périphériques, qui poussent tous dans la même direction : plus vite, plus continu, plus sophistiqué.
Plusieurs ressorts mènent au sur-dimensionnement, et aucun n'est un vrai besoin métier.
Le point commun de ces raisons est qu'aucune ne part de la décision à prendre. Elles partent de la technologie, de l'image ou de la prudence. C'est précisément l'inversion qui mène à la sur-architecture.
Une chaîne en flux continu impose une exigence que le batch ignore : elle ne s'arrête jamais. Il faut donc la surveiller en permanence, gérer les pics de charge, traiter les reprises sur incident sans perdre de données et garantir un niveau de service élevé en continu. Cette exigence se paie en supervision, en outillage et surtout en compétences spécialisées.
À cela s'ajoute un effet rarement anticipé : plus la chaîne est complexe, plus elle est fragile, et plus la moindre anomalie de qualité des données se propage vite. Une erreur dans un batch se corrige à la prochaine exécution. Une erreur dans un flux continu se diffuse en aval avant même d'être détectée. Le temps réel ne tolère pas l'à-peu-près sur la donnée d'entrée, ce qui relève l'exigence sur toute la chaîne amont.
Le symptôme le plus courant de la sur-architecture tient en une image, et elle se reconnaît au premier coup d'œil dès qu'on la cherche : une chaîne en flux continu qui alimente un tableau de bord ouvert au rythme qu'un simple batch nocturne aurait couvert. Au moment de la construction, rien ne cloche. Le flux fonctionne, la donnée est fraîche à la seconde, la demande initiale semble satisfaite. L'écart entre la capacité produite et l'usage réel reste invisible tant que personne ne le regarde.
Ce qui le révèle, c'est la mesure. La fréquence de consultation, les accès enregistrés, le nombre réel de requêtes racontent une tout autre histoire que le cahier des charges. Tant que cet usage n'est pas observé, la chaîne temps réel paraît légitimée par la demande d'origine. Le jour où quelqu'un compare la fréquence de rafraîchissement à la fréquence de consultation, le décalage saute aux yeux : une fraîcheur produite en continu, regardée une fois par jour. C'est exactement ce que montre l'exemple ci-dessous.
Le choix devient évident lorsqu'on le relie à des familles d'usages concrètes. Plutôt que de raisonner sur la technologie, on part de ce que l'on veut faire, et le mode de traitement adapté apparaît presque mécaniquement.
Le batch est le mode naturel de tout ce qui regarde le passé pour éclairer une décision différée. Le reporting de pilotage, la consolidation financière, les analyses de tendance, l'alimentation d'un entrepôt ou la préparation de jeux de données pour entraîner des modèles relèvent tous du traitement par lots. Ces usages partagent une caractéristique commune : aucune décision automatique ne dépend de la donnée à la seconde. Une fraîcheur quotidienne, parfois horaire, couvre l'intégralité du besoin, y compris pour la plupart des chaînes d'une Modern Data Stack.
Le quasi temps réel sert les usages où un humain doit garder le contrôle d'une situation en mouvement. Supervision d'une activité en cours, suivi opérationnel d'indicateurs sensibles, alerting sur un seuil, pilotage d'une diffusion en direct. C'est aussi le terrain naturel d'une bonne partie du self-service BI, où les métiers veulent une donnée suffisamment fraîche pour agir dans la demi-heure, sans pour autant exiger la seconde. Le micro-batch répond exactement à ce besoin, avec un rapport coût sur valeur difficile à battre.
Le temps réel se réserve aux usages où une machine décide seule et où le retard se paie immédiatement. La détection de fraude au moment de la transaction, la personnalisation pendant la navigation, la réaction à des capteurs industriels ou connectés, l'ajustement automatique de prix ou de recommandations en continu. Ces cas ont en commun une boucle de décision fermée, automatique et intolérante au délai. Là, le flux continu n'est pas un choix de confort, c'est la seule réponse possible.
Le choix entre temps réel, quasi temps réel et batch ne se gagne pas sur la sophistication technique. Il se gagne sur la justesse : aligner la latence de la chaîne sur la fraîcheur réellement utile à la décision, et pas un cran au-dessus. Le batch couvre la majorité des usages, le quasi temps réel offre le meilleur compromis pour la réactivité humaine, et le temps réel se réserve aux décisions automatiques intolérantes au délai.
La sur-architecture ne vient jamais d'un excès de rigueur. Elle vient d'un défaut de question. Avant de trancher, quelques points méritent d'être posés noir sur blanc :
Une architecture sobre n'est pas une architecture pauvre. C'est une architecture qui ne porte que ce qui sert. Le bon mode de traitement est le plus simple de ceux qui répondent au besoin, jamais le plus rapide de ceux qui existent.
👉 À lire aussi : Faut-il une architecture spécifique pour l'IA (ou est-ce un mythe) ?
👉 À lire aussi : Méthodologie et mise en œuvre d'une Modern Data Stack
👉 À lire aussi : Data Lake vs Data Warehouse vs Data Lakehouse : un comparatif pour les décideurs data