Les fondements du Big Data

S'initier aux architectures Lambda et Kappa

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Certains acteurs du Big Data ont réfléchi à des architectures techniques particulières. Découvrez ici les architectures Lambda et Kappa.
04:52

Transcription

J'aimerais vous faire partager maintenant quelques réflexions qu'ont eues certaines personnes éminentes dans le domaine du « Big Data », sur des architectures de traitement « Big Data » d'un point de vue plutôt global, d'un point de vue d'architecture. D'abord, quelqu'un qui s'appelle Nathan Marz qui est le créateur d'un outil très utilisé dans le monde du « Big Data » qui s'appelle « Apache Storm » ; un outil de traitement de « Flux ». Nathan Marz a réfléchi à une architecture qu'il a appelée la « Lambda Atchitecture » et qui est donc une architecture de traitement des données et de requêtage de haut niveau. Sa réflexion est la suivante ; on a un permanence des données qui sont entrantes, avec « Hadoop », on va stocker toutes les données et les traiter en « MapReduce » pour faire des vues de résultat, ce qu'il appelle des « Table de batch », ce sont des tables qui vont contenir le résultat de nos calculs, de nos algorithmes « MapReduce ». Très bien, mais quand est-il du temps réel, comment obtenir les mêmes informations sur des données très fraîches ? Comme le traitement « batch » en « MapReduce », prend du temps, Nathan Marz a bâti une architecture pour dire qu'on va faire un parallèle en calcul « batch » avec « Hadoop », mais en même temps, les données entrantes, par exemple, de la journée, on va les traiter dans un système de gestion de « flux », comme « Apache Storm » justement, pour pouvoir faire des « Tables rapides » qui vont afficher les données traitées sur les données actuelles de la journée. Et peut être qu'à la fin de la journée, on va refaire un traitement « MapReduce » « d'Hadoop » pour intégrer et recalculer finalement, la totalité des données dans des « Tables de batch » et puis on recommence le jour suivant à réintégrer dans des « Tables rapide », les données du jour de façon à ce qu'un système de requêtage fasse la requête sur les deux sources ; sur la « Table de batch » et la « Table rapide » pour avoir à tout moment, tous les résultats. Nathan Marz a une réflexion très intéressante sur les données dans son concept de « Lambda Artchitecture », mais vous pouvez pensez aux données de cette façon, même, si vous n'implémentez pas l'architecture « Lambda », bien entendu. Donc, ce que dit Nathan Marz, c'est que les données doivent être immuables, « immutable » en anglais. Lorsqu'elles entrent dans un système de « data warehouse », ces données ne seront plus modifiées après coup, on n'est pas dans un système où on va pouvoir modifier les données, on est dans un système où on fait de l'ajout uniquement, ce qu'on appelle en anglais de « l'append-only ». Ajout uniquement, pourquoi ? Parce qu'on va ainsi se protéger de toute perversion des données. Donc, les données sont des évènements finalement et à chaque moment, ce qui va être ajouté, ce sont des données vraies au moment où on les ajoute et datées. Ce qui fait qu'on va pouvoir conserver l'historique de toute modification de la donnée. Si une donnée quelconque doit être modifiée, cela fera l'objet d'un ajout, d'une information de donnée différente qui sera datée. On pourra donc revenir en arrière à tout moment. Et c'est très intéressant au niveau du stockage de la donnée parce qu'il y a une dimension de protection de cette donnée. Imaginez que vos systèmes de traitement ont un « bug ». S'ils peuvent modifier la donnée, ils vont la pervertir, par contre, si on travaille sur des données immuables et datées, à tout moment, on va pouvoir corriger les « bugs » des systèmes de traitement et puis retraiter les résultats correctement puisqu'on aura toute l'historique des données et toutes les données à disposition. Donc, il s'agit d'un système qui permet de conserver tous les états de la donnée donc de pouvoir analyser tout ce qu'on veut après coup et ensuite, un système qui permet de totalement protéger la donnée de tout type de « bug » ou d'imperfection logicielle. Cette idée d’architecture « Lambda » de Nathan Marz, a bien entendu, provoqué une émulation dans le monde du « Big Data », ce qui fait qu'il y a eu plusieurs autres architectures ou plusieurs autres propositions et notamment, une architecture qu'on appelle l’architecture « Kappa » qui a été définie par Jay Kreps qui est un développeur chez « LinkedIn » et qui a dit : « on n'a pas besoin d'avoir un traitement double des données, il suffit de traiter toute les données sous forme de flux avec une seule gestion de flux ». Et si jamais, on emprunt de recalcul, on crée un nouveau « flux » qui va retravailler les données en « flux » et on va avoir des tables de résultat qui sont des « Tables N », « N + 1 », et, c'est donc un architecture qui s'affranchit de la couche de traitement « batch », mais aujourd'hui, justement, on est capable avec des systèmes comme « Apache Spark » ou « Apache Flink », de se passer du traitement en mode « batch » parce qu'on arrive à des performances suffisantes pour faire des choses au moins en interactif, sinon, en presque temps réel.

Les fondements du Big Data

Découvrez les enjeux, les outils et les possibilités du Big Data. Familiarisez-vous avec les concepts du Big Data et soyez en mesure de gérer d’importants volumes de données.

1h47 (26 vidéos)
Aucun commentaire n´est disponible actuellement
Spécial abonnés
Date de parution :13 juin 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !