Lorsqu'on réalise un calcul sur des données massives, on a parfois besoin du résultat dans la journée, dans l'heure, mais bien souvent c'est plutôt... dans le dixième de seconde qui suit ! Lorsque des flux massifs de données hétérogènes nous parviennent, comment les exploiter sans être submergés ? C'est tout l'enjeu du traitement de données temps réel.
Au quotidien, nos actions génèrent des quantités massives de données dont la valeur réside dans le fait qu'elles soient transmises et décortiquées le plus rapidement possible : une voiture sans chauffeur doit pouvoir éviter des obstacles détectés par l'un de ses milliers de capteurs ; un site d'achats en ligne affichera des recommandations personnalisées en fonction des pages visitées juste avant ; une alerte doit être lancée lorsqu'un serveur tombe en panne dans un cluster de calcul comprenant plusieurs centaines de machines. La rapidité à laquelle il faut réagir à ces évènements exige de concevoir des architectures distribuées dédiées… et c'est ce que nous allons voir dans ce cours ! Vous y apprendrez comment les Data Architects conçoivent, déploient et administrent des plateformes de gestion de flux de données temps réel avec Kafka et Storm.
Prérequis
Ce cours fait partie du parcours Data Architect et nécessite une bonne formation en informatique. Pour en profiter pleinement, n'hésitez pas à vous rafraîchir la mémoire, avant ou pendant le cours, sur :
- La programmation objet (Java, Scala, Python, Ruby, C++ ou autre) et la parallélisation.
- L'environnement Unix, la gestion de la mémoire et des transferts de données, les réseaux.