Notre utilisation des données connaît une croissance exponentielle, la quantité totale de données mondiales atteignant 94 zettaoctets en 2022 et devant augmenter pour atteindre 181 zettaoctets en 2025. Les méthodes utilisées pour traiter cette ressource inestimable sont au cœur de toutes les opérations et de tous les processus décisionnels des entreprises. Le traitement par lots et le traitement en continu sont deux approches dominantes en matière de traitement des données, chacune présentant un ensemble unique d’avantages et de limites. L’entreprise moyenne n’analysant que 37 à 40 % de ses données, il devient essentiel de trouver les bonnes méthodes de traitement et d’analyse des données.

Dans le contexte des opérations commerciales et de l’analyse, le traitement des données va au-delà de la simple compilation de chiffres. Il s’agit de transformer un large éventail de données brutes en informations exploitables, souvent présentées sous forme de tableaux de bord ou de représentations graphiques parmi une vaste gamme d’autres méthodes de présentation et de représentations visuelles. Ces outils visuels peuvent afficher des données sur les ventes en temps réel ou des tendances à long terme, afin de faciliter la prise de décision immédiate ou la planification future. La complexité augmente lorsque les données proviennent de sources multiples telles que des capteurs, des interactions avec l’utilisateur ou des bases de données externes. Chaque source peut nécessiter des vitesses et des méthodes de traitement différentes, ce qui rend le choix entre le traitement par lots, le traitement en continu ou une approche hybride plus nuancé.

Quelle est l’importance du traitement par lots et du traitement en continu ?

L’histoire

Le traitement par lots a des racines profondes, qui remontent aux premiers jours de l’informatique, lorsque les ordinateurs centraux étaient la norme. Au départ, il était utilisé pour des tâches simples telles que le calcul des salaires et le tri de données de base. L’idée était de tirer le meilleur parti d’un temps de calcul coûteux en traitant de grands ensembles de données pendant les heures creuses. Cette méthode était naturellement adaptée aux entreprises qui avaient besoin d’effectuer des calculs massifs, mais non urgents, et a ouvert la voie à la manière dont nous traitons aujourd’hui les grands ensembles de données.

« Le traitement par lots est particulièrement utile lorsqu’il s’agit de traiter de gros volumes de données pendant les heures creuses.

Le traitement en flux, quant à lui, est apparu plus récemment, lorsque notre besoin de données en temps réel s’est accru. Avec l’avènement de l’internet et l’explosion des appareils connectés, la demande de traitement immédiat des données a explosé. Le traitement des flux a comblé cette lacune en permettant une analyse en temps réel et une prise de décision immédiate. Elle est devenue la méthode de référence pour les applications où le temps est un facteur critique, comme les plateformes de négociation financière et les systèmes d’intervention d’urgence.

Les progrès technologiques ont eu un impact significatif sur les deux méthodes. Pour le traitement par lots, le développement de processeurs et de solutions de stockage plus puissants a permis de traiter plus efficacement des ensembles de données encore plus importants. De même, les progrès réalisés en matière de vitesse des réseaux et d’algorithmes de données ont rendu l’analyse en temps réel plus précise et plus perspicace grâce au traitement en continu. Des outils comme Apache Kafka et Spark Streaming sont de parfaits exemples de la façon dont la technologie a évolué pour offrir des solutions plus complètes et plus flexibles, y compris des méthodes hybrides qui combinent les forces du traitement par lots et du traitement par flux.

« Les progrès technologiques ont eu un impact significatif sur le traitement par lots et le traitement en flux.

Traitement par lots

Le traitement par lots est une méthode qui consiste à collecter des données, à les stocker et à les traiter en masse ultérieurement. C’est en quelque sorte le cheval de bataille de la gestion des données, idéal pour les tâches qui ne nécessitent pas d’action immédiate mais qui requièrent une puissance de traitement considérable. Par exemple, la production de rapports financiers de fin de mois ou les sauvegardes nocturnes de données sont des tâches qui se prêtent bien au traitement par lots. Cette méthode est particulièrement utile lorsqu’il s’agit de traiter de gros volumes de données qui peuvent être traités pendant les heures creuses, ce qui permet d’optimiser les performances du système et de réduire les coûts.

Traitement des flux

Le traitement en flux, en revanche, est axé sur l’immédiateté. Le traitement des données en temps quasi réel peut s’avérer inestimable pour l’analyse et la prise de décision rapide. Si les organisations surveillent les cours de la bourse ou l’engagement dans les médias sociaux, le traitement des flux est la solution à retenir. Les organisations peuvent agir sur la base d’informations au fur et à mesure que les événements se déroulent, ce qui leur confère un avantage concurrentiel sur des marchés en constante évolution.

« Il n’est pas toujours facile de choisir entre le traitement par lots et le traitement en continu, car chacun de ces modes de traitement comporte son propre lot de compromis.

Approche hybride

L’approche hybride est comme le meilleur des deux mondes en matière de traitement des données, car elle permet des analyses en temps réel tout en répondant aux besoins d’analyses planifiées et approfondies. L’intérêt de cette double capacité est d’offrir aux entreprises une solution plus souple et plus complète pour répondre à leurs divers besoins en matière de traitement des données. Par exemple, un système hybride peut alimenter un tableau de bord en direct avec des analyses en temps réel tout en préparant simultanément de grands ensembles de données pour les rapports de fin de mois. Les approches hybrides sont particulièrement utiles pour les organisations qui ont besoin d’un grand nombre de données. Une étude a montré que les entreprises de vente au détail qui traitent et analysent efficacement leurs données peuvent augmenter leurs marges d’exploitation de 60 %.

Compromis

« Chacun des défis, qu’il s’agisse des mesures de performance, des coûts, de la sécurité ou de l’intégrité des données, nécessite une solution sur mesure.

Il n’est pas toujours facile de choisir entre le traitement par lots et le traitement en continu, car chacun de ces modes de traitement comporte son propre lot de compromis. Par exemple, le traitement par lots, bien qu’efficace pour traiter de grands ensembles de données, peut être lent à fournir des informations. Ce décalage peut constituer un inconvénient dans les scénarios où la prise de décision en temps réel est cruciale. En revanche, le traitement en flux excelle dans l’analyse en temps réel, mais peut s’avérer difficile pour les requêtes complexes qui nécessitent des données provenant de sources multiples ou des données historiques pour le contexte.

Les compromis s’étendent à presque tous les aspects du traitement des données. Si le traitement par lots peut être plus rentable, il peut nécessiter une puissance de calcul importante pour de courtes périodes, ce qui peut entraîner une sous-utilisation des ressources à d’autres moments. Le traitement des flux, tout en offrant des informations en temps réel, peut être gourmand en ressources et nécessiter un flux constant de puissance informatique, ce qui peut faire grimper les coûts.

Chacun de ces défis – qu’il s’agisse des mesures de performance, des coûts, de la sécurité ou de l’intégrité des données – nécessite une solution sur mesure. Par exemple, les problèmes d’évolutivité peuvent être atténués par des solutions basées sur l’informatique en nuage qui offrent une allocation des ressources à la demande. Les problèmes de sécurité peuvent être résolus grâce au cryptage de bout en bout et à l’authentification multifactorielle, qu’il s’agisse d’un traitement par lots ou d’un traitement en continu. En comprenant et en planifiant ces défis, les entreprises peuvent prendre des décisions plus éclairées sur les méthodes de traitement des données, en garantissant non seulement l’efficacité, mais aussi la qualité et la sécurité.

Une approche hybride peut encore atténuer ces compromis en offrant la flexibilité de choisir la bonne méthode pour la tâche à accomplir. Par exemple, les analyses en temps réel peuvent être traitées par le composant de traitement en continu, tandis que les requêtes complexes et gourmandes en ressources peuvent être transférées au composant de traitement par lots. De cette façon, les organisations obtiennent des informations en temps opportun sans compromettre la profondeur de l’analyse, ce qui permet de tirer le meilleur parti de la puissance de calcul et des coûts.

Conséquences d’un mauvais traitement des données

S’il est incontestablement essentiel de s’assurer que les méthodes de traitement des données sont adaptées aux exigences de l’organisation et aux besoins en données, il ne s’agit pas d’un choix à la légère. Toute organisation souhaitant modifier ses méthodes de traitement doit s’assurer qu’elle est consciente des limites potentielles.

Les considérations financières constituent un défi important pour tous les secteurs d’activité. Si les systèmes de traitement par lots peuvent avoir des coûts d’exploitation plus faibles, ils nécessitent souvent un investissement initial important, notamment en ce qui concerne le matériel. Le traitement de flux, bien que moins gourmand en matériel, peut engendrer des coûts en raison de la nécessité d’un temps de fonctionnement constant et de solutions logicielles spécialisées.

La sécurité est une autre préoccupation essentielle. Dans le secteur des soins de santé, par exemple, les données des patients doivent être cryptées et stockées en toute sécurité, ce qui conduit souvent à privilégier les systèmes de traitement par lots connus pour leurs protocoles de sécurité robustes. D’autre part, les transactions financières en temps réel nécessitent des méthodes de cryptage sûres mais rapides, ce qui rend le traitement en flux avec des mesures de sécurité spécialisées plus adapté.

Choisir les bons outils

Lorsqu’il s’agit de choisir la méthode de traitement des données la mieux adaptée aux besoins d’une organisation, il est essentiel de rechercher et de décider quels outils, plates-formes ou cadres seront les mieux adaptés aux exigences spécifiques. S’il existe d’innombrables outils à la disposition des organisations de toutes tailles, il est également utile de se pencher sur certains des choix les plus populaires, par exemple :

Apache Flink est un outil qui excelle dans le traitement des données. Le cadre est conçu pour traiter des flux de données, mais il dispose également de capacités étendues pour le traitement par lots, ce qui le rend incroyablement polyvalent. Les organisations peuvent l’utiliser pour des analyses en temps réel, mais aussi pour des tâches qui nécessitent des calculs lourds et qui ne sont pas sensibles au facteur temps.

Diffusion en continu structurée (précédemment connu sous le nom de Spark Streaming) est une extension de l’API de base de Spark qui permet un traitement de flux évolutif, à haut débit et tolérant aux pannes. Alors que Spark est généralement connu pour ses capacités de traitement par lots, l’extension Streaming permet d’effectuer des analyses en temps réel, ce qui en fait un excellent outil pour les systèmes hybrides.

D’autres outils comme Apache Kafka et Amazon Kinesis proposent également des solutions hybrides. Apache Kafka est généralement utilisé pour construire des pipelines de données en temps réel, mais son API Kafka Streams peut également gérer des tâches de traitement par lots. Amazon Kinesis est hautement évolutif et durable, conçu pour ingérer de grandes quantités de données provenant de sources multiples, ce qui le rend idéal pour les systèmes hybrides complexes.

Chacun de ces outils apporte quelque chose d’unique, et leurs capacités sont importantes parce qu’elles offrent aux organisations la flexibilité d’adapter leurs méthodes de traitement des données à des besoins spécifiques. Qu’il s’agisse d’analyses en temps réel pour une prise de décision immédiate ou de traitement par lots pour un reporting complet, les méthodes hybrides supportées par ces outils offrent une solution robuste.

Leçons tirées d’une plateforme de diffusion en continu à grande échelle

Bien qu’il n’y ait pas de réponse claire à la question « Qu’est-ce qui est le mieux ? », il existe des tendances et des exemples clairs qui peuvent être pris en compte lors du choix des méthodes de traitement des données. L’examen des exigences propres à l’organisation est essentiel pour décider de la voie à suivre.

La taille d’une organisation et la quantité de données entrantes ne doivent pas être sous-estimées lorsqu’il s’agit de décider du traitement des données. Netflix, qui a déjà utilisé Apache Kafka pour son traitement par lots, en est une excellente illustration. L’utilisateur moyen de Netflix passant environ 3,2 heures par jour sur sa plateforme, l’afflux de données est presque insondable. Un rapport de 2016 indiquait que Netflix devait gérer 500 milliards d’événements par jour, un chiffre qui n’a fait qu’augmenter depuis ce rapport.

Pour faire face à cette énorme demande, Netflix a utilisé un modèle de traitement de données hybride qui combine les capacités de streaming du service de traitement de flux Keystone avec la polyvalence et l’évolutivité de Kafka pour gérer les pics de demande d’événements tels que : les journaux d’erreurs, les activités de visualisation des utilisateurs, les activités de l’interface utilisateur, les événements de dépannage et beaucoup d’autres ensembles de données précieuses. Bien que ces systèmes aient été progressivement abandonnés et remplacés par l’outil sur mesure Netflix Mantis – qui gère en interne à la fois le traitement par lots et le traitement en continu – ils démontrent l’efficacité inégalée d’une approche hybride.

Principaux enseignements

L’explosion des données à l’ère numérique a rendu le traitement des données plus important que jamais, et deux des principales techniques dont disposent les organisations sont le traitement par lots et le traitement en flux. Alors que le traitement par lots est plus ancien et bien adapté au traitement de gros volumes de données pendant les heures creuses, le traitement par flux est plus récent et excelle dans l’analyse en temps réel. Le choix entre ces deux méthodes, ou même une approche hybride, est loin d’être simple et dépend d’une myriade de facteurs.

  • Traitement par lots: Idéal pour traiter de grands ensembles de données et des tâches qui ne sont pas sensibles au temps, comme la production de rapports financiers ou la réalisation de sauvegardes nocturnes. Le traitement par lots présente toutefois des limites importantes en ce qui concerne l’analyse des données en temps réel.
  • Traitement des flux: Meilleur pour l’analyse en temps réel et la prise de décision immédiate, utile pour suivre les cours de la bourse ou l’engagement dans les médias sociaux. D’autre part, le traitement en flux peut être plus gourmand en ressources et entraîner une augmentation des coûts lorsqu’il s’agit de traiter de grands ensembles de données.
  • Approche hybride: Elle offre la flexibilité du traitement par lots et du traitement en continu, ce qui permet aux entreprises de choisir la bonne méthode en fonction de la tâche à accomplir.

En fin de compte, la décision doit être adaptée aux besoins uniques de chaque organisation. La technologie a évolué pour offrir des solutions plus complètes comme Apache Kafka, Spark Streaming et Amazon Kinesis, parmi d’innombrables autres, qui permettent des méthodes de traitement des données personnalisées et flexibles. La connaissance de ces avancées peut aider les organisations à prendre une décision éclairée et à s’assurer que leur méthode de traitement des données correspond parfaitement à leurs besoins.

Thomas Charneau

décembre 13, 2023

14 Min