Apache Storm
Développé par | Apache Software Foundation |
---|---|
Première version | [1] |
Dernière version | 2.3.0 ()[2] |
Dépôt | git-wip-us.apache.org/repos/asf/storm.git |
Écrit en | Clojure et Java |
Type |
Calcul distribué Big data |
Licence | Licence Apache |
Site web | storm.apache.org |
Apache Storm est un framework de calcul de traitement de flux distribué, écrit principalement dans le langage de programmation Clojure. Créé à l'origine par Nathan Marz [3] et l'équipe de BackType [4] le projet est rendu open source après avoir été acquis par Twitter[5]. Il utilise des "spouts" et des "bolts" créés sur mesure pour définir les sources d'informations et les manipulations permettant un traitement par lots et distribué des données en continu. La première publication a eu lieu le [6].
Une application Storm est conçue comme une "topologie" sous la forme d'un graphe orienté acyclique (DAG) avec des spouts et des bolts faisant office de sommets du graphe. Les arêtes du graphe sont des flux nommés et dirigent les données d'un nœud à un autre. Ensemble, la topologie agit comme un pipeline de transformation de données. À un niveau superficiel, la structure topologique générale est similaire à un travail MapReduce , la principale différence étant que les données sont traitées en temps réel par opposition à des lots individuels. De plus, les topologies Storm s'exécutent indéfiniment jusqu'à ce qu'elles soient supprimées, tandis qu'un DAG de travail MapReduce doit finir[7].
Storm est devenu un projet de niveau supérieur Apache en [8] et était auparavant en incubation depuis [9],[10].
Plateformes homologues
[modifier | modifier le code]Storm n'est que l'un des dizaines de moteurs de traitement de flux. Pour une liste plus complète, voir Traitement de flux. Twitter a annoncé Heron le [11] API compatible avec Storm. Il existe d'autres moteurs de données en continu comparables, tels que Spark Streaming et Flink[12].
Voir également
[modifier | modifier le code]- Parallélisme des données
- Architecture Lambda
- Message en passant
- OpenMP
- OpenCL
- OpenHMPP
- Traitement en parallèle
- Fil (informatique)
Références
[modifier | modifier le code]- « https://projects.apache.org/json/projects/storm.json » (consulté le )
- « Apache Storm 2.3.0 Released », (consulté le )
- Marz, « About Nathan Marz », Nathan Marz (consulté le )
- « BackType Website (defunct) », BackType (consulté le )
- « A Storm is coming: more details and plans for release », Engineering Blog, Twitter Inc (consulté le )
- « Storm Codebase », Github (consulté le )
- « Tutorial - Components of a Storm cluster », Documentation, Apache Storm (consulté le )
- « Apache Storm Graduates to a Top-Level Project »
- « Storm Project Incubation Status », Apache Software Foundation (consulté le )
- « Storm Proposal », Apache Software Foundation (consulté le )
- « Flying faster with Twitter Heron », Engineering Blog, Twitter Inc (consulté le )
- « Benchmarking Streaming Computation Engines: Storm, Flink and Spark Streaming » [PDF], IEEE,