De plus en plus de cas d’usage et de modèles économiques s’appuient sur des données générées en streaming. Il peut s’agir de la publicité en ligne avec la facturation par clic, l’analyse du parcours client, la recommandation en temps réel, la détection de fraude, la cyber-sécurité (spécialement avec l’utilisation des SIEM), le tracking des achats, ou encore l’analyse omnicanal. Ces cas d’usage ont atteint leur paroxysme avec les objets connectés, l’intégration des capteurs dans les objet de la vie courante (voiture, réfrigérateur, télévision, etc.). Ainsi, le Streaming est l’une des problématiques sérieuses du Big Data !
L’approche classique utilisée jusqu’à présent pour stocker les données consiste à les considérer comme des faits et à les historiser dans une base de données centrale qui est elle-même gérée par un SGBDR. Cette approche est appelée Data Warehouse ou Data Warehousing (entrepôt de données). Au niveau du traitement, l’approche classique consiste à appliquer des calculs batch sur les données hébergées dans la base de données centrale ou dans le Data Warehouse. La collecte traditionnelle est faite à l’aide d’un ETL, Extract Transform & Load, qui extrait les données des sources opérationnelles, les transforme de sorte qu’elles soient conformes aux règles d’homogénéisation définies par le métier et les charge dans le Data Warehouse.
Malheureusement, dans le cadre des cas d’usage des données générées en streaming (ou au fil de l’eau), cette approche « collecte ETL + Stockage Data Warehouse + Traitement Batch sur des données historisées » n’est pas appropriée, car au delà de leur débit et de la vitesse avec laquelle elles sont produites, les données streaming se caractérisent principalement par un délai de péremption très rapide : elles perdent 60 % de leur valeur métier dans les instants qui suivent leur création. En d’autres termes, les données streaming perdent leur valeur métier quelques instants seulement après avoir été générées. Pensez-y un moment : lorsque les capteurs implantés dans un véhicule connecté génère des données concernant les conditions du trafic environnant un véhicule par exemple, ces données ne sont valables que dans le contexte des conditions de ce trafic. En d’autres termes, ces informations ne sont actionnables que dans les instants où le trafic est dans les conditions capturées par les données. A cause de leur rapide péremption, les données streaming doivent donc être exploitées à l’immédiat (ou en temps réel) dans les secondes qui suivent leur création, sinon elles perdent leur valeur métier et n’ont plus aucun intérêt à être historisées.
Le problème que pose le Data Warehouse en Streaming est celui-ci : l’ère dans laquelle nous fonctionnons actuellement se caractérise par la croissance des différents types de données stockées. Les données stockées ne sont plus juste des données structurées d’ERP, ou des fichiers csv d’Excel, mais ce sont des données aussi diverses que les logs d’activité des serveurs Web, les logs d’un centre appel, les données des réseaux sociaux qui combinent contenus textuels, images, audio et vidéos, les vidéos de centre de surveillance, les données de capteurs etc… Pour résoudre les challenges liés au stockage et à l’exploitation de cette grande variété d’actifs de données, l’approche appropriée ne consiste plus à centraliser leur stockage dans une base de données, mais à distribuer le stockage des données et à paralléliser leurs traitements dans un cluster Hadoop. Les technologies utilisées pour implémenter le Data Warehouse ne permettent ni le stockage distribué, ni le parallélisme des requêtes des utilisateurs. Par conséquent, le Data Warehouse ne peut pas être utilisé pour les cas d’usage de streaming.
Le problème avec l’ETL est que c’est un processus Batch qui charge les données périodiquement, il ne peut pas être utilisé pour charger les données qui arrivent en flux continu. Dans son principe même, l’ETL est composé d’un ensemble de routines (fonctions et procédures) qui transforment les données, gèrent leur qualité et appliquent une série de normalisations aux données avant de les charger par lots dans le Data Warehouse.
Pour tenir en compte la diversité des données à stocker en streaming, la meilleure approche consiste à s’appuyer sur un Data Lake construit sur un système de fichiers distribué tel que le HDFS.
Pour réussir à collecter les données en flux continu et les délivrer efficacement, il faut s’appuyer sur 2 éléments : une structure de stockage particulière appelée le Log ou bus d’événements et un système de messagerie Publish/Subscribe. Apache Kafka est l’une des technologie qui implémente ces 2 éléments.
Pour traiter les données à l’immédiat ou en temps réel, la meilleure approche consiste à considérer la data non plus comme un fait, mais plutôt comme un événement. Traditionnellement, un traitement de données se fait sur un historique persisté du fichier de données. Par exemple, un fichier client stocké sur le disque dur, une table de base de données, etc. Ce fichier dans certains cas est chargé en mémoire et le traitement y est exécuté en one-shot. Malheureusement, en streaming, cette approche n’est pas applicable car les données arrivent au fil de l’eau. Un traitement streaming ne s’exécute pas sur un historique persisté ni sur une image statique des données. L’approche la plus appropriée pour traiter les données au fil de l’eau consiste à découper les données streaming en fenêtres (Windows) et à appliquer un traitement micro-batch sur ces fenêtres. Cette approche est communément appelée approche par fenêtrage. Spark Streaming est un exemple de technologie qui implémente très bien cette approche.
Comme vous pouvez le voir, valoriser les données produites en streaming demande un changement de paradigme, aussi bien stratégique que technologique.
Nous sommes ravis de vous présenter notre kit de formation « Big Data Streaming ». L’objectif de cette formation est de vous équiper des aptitudes conceptuelles, stratégiques et des compétences technologiques nécessaires pour aborder avec habileté les problématiques que soulèvent la valorisation des données produites en streaming à large échelle.
Elle vise à vous aider à développer un profil de type Lead Tech ou Architecte Big Data. Pour ce faire, elle poursuit trois objectifs majeurs à savoir :
- Vous aider à comprendre les concepts et notions essentielles pour aborder avec aisance la gestion des données générées en streaming, notamment la sémantique de livraison des messages (Exactement-Une Fois, Au-Moins-Une-Fois, Au-Plus-Une-Fois), la sémantique de traitement, le domaine temporel, l’idempotence, la persistence anticipée de messages (Write Ahead Logging), les systèmes de messageries Publish/Subscribe, le fenêtrage, le micro-batch, les états, les modèles de collecte de données streaming, la cohérence streaming, etc.
- Vous aider à appréhender et à mettre en œuvre les architectures nécessaires pour ingérer efficacement les données générées en streaming, notamment la construction d’un Data Lake, la mise en place d’un bus d’événements, les architectures Lambda, les architectures kappa, et les architectures hybrides ;
- vous aider à monter en compétence sur les technologies de l’écosystème Hadoop dédiées à l’ingestion et au traitement des données produites en streaming, notamment Apache Kafka, Spark Streaming, Flume, Apache Samza, Storm et S4 (avec un accent particulier sur Apache Kafka et Spark Streaming).
Le kit de formation complet est composé de :
– l’imprimé dédicacé de l’ouvrage « Big Data Streaming«
– la version pdf d’un livre de 200 pages sur le Big Data Streaming
– la version kindle du livre « Big Data Streaming »
– la version epub du livre « Big Data Streaming »
– un livret d’exercices de 119 pages constitué de plus de 110 exercices sur le Big Data Streaming (et leur corrigé)
– un fichier Powerpoint interactif constitué de 100 slides d’architectures sur le Big Data Streaming utilisables de suite pour vos propres présentations
– des quizz d’évaluation de compétences
– 67 sessions de cours vidéos répartis en 4 modules
– 8 vidéo-tutoriels pratiques pour être opérationnel sur les technologies du Big Data Streaming
– des scripts de code Kafka, Spark Streaming et S4 réutilisables de suite pour tous vos projets.
– une machine virtuelle clé-en-main pour la mise en pratique des vidéos-tutoriels.
– un accompagnement suivi et personnalisé de 24 semaines sous forme de MasterClass pour votre apprentissage progressif.
– une garantie SATISFAIT ou ENTIEREMENT remboursé de 30 jours
Cliquez ici pour en savoir plus par rapport à la formation : Présentation formation Big Data Streaming
La formation est lancée par session. Si vous souhaitez être tenu informé de la prochaine ouverture des inscriptions, n’hésitez pas à télécharger l’extrait gratuit du kit en cliquant sur le lien suivant : recevoir mon extrait gratuit et être tenu informé du prochain lancement