Apache Spark vs Apache Storm
De behoefte aan realtime datastreaming groeit exponentieel als gevolg van de toename van realtime gegevens. Nu streamingtechnologieën de wereld van Big Data leiden, kan het voor gebruikers moeilijk zijn om het juiste real-time streamingplatform te kiezen. Twee van de meest populaire real-time technologieën die zouden kunnen overwegen om te kiezen zijn Apache Spark en Apache Storm.
Een belangrijk verschil tussen de raamwerken Spark en Storm is dat Spark Data-Parallelle berekeningen uitvoert, terwijl Storm Task-Parallelle berekeningen uitvoert
Apache Spark
Apache Spark is een general-purpose, lighting fast, cluster-computing technologie raamwerk, gebruikt voor snelle berekeningen op grootschalige gegevensverwerking. Het kan zowel batch als real-time analytics en data processing workloads beheren.
Apache Storm
Apache Storm is een open-source, schaalbare fouttolerante, en real-time stream processing computation systeem. Het is een raamwerk voor real-time gedistribueerde gegevensverwerking, dat zich richt op stream processing of event processing. Het kan worden gebruikt met elke programmeertaal en kan worden geïntegreerd met behulp van elke queuing of database technologie.
Verschillen tussen Spark en Storm
- Verwerkingsmodel: Apache vonk biedt batch-verwerking, terwijl storm biedt micro batch-verwerking
- Programmeertaal: Apache vonk Ondersteunt minder talen, zoals Java, Scala terwijl storm aan de andere kant Ondersteunt meerdere talen, zoals Scala, Java, Clojure.
- Stream Sources: Apache gebruikt HDFS, terwijl Apache Storm gebruikt spout.
- Messaging: Apache apark gebruikt Akka, Netty terwijl Apache storm ZeroMQ, Netty
- Resource Management gebruikt: Voor Apache spark zijn Yarn en Meson verantwoordelijk, terwijl voor Apache storm Yarn en Mesos verantwoordelijk zijn.
- Latency: Hogere latency in vergelijking met Apache Spark terwijl Apache storm biedt beter lage latency met minder beperkingen
- Stream Primitives: Apache vonk maakt gebruik van DStream terwijl Apache Storm gebruikt Tuple, Partition
- Ontwikkelingskosten: Apache vonk maakt gebruik van dezelfde code voor batch-en stream-verwerking, terwijl in Apache storm dezelfde code kan niet worden gebruikt.
- Persistentie: Apache spark gebruikt per RDD terwijl Apache storm gebruikt MapState
- Fouttolerantie: In Apache vonk het behandelt het opnieuw opstarten van werknemers via resource manager die YARN, Mesos of zijn stand alone manager kan zijn, terwijl in Apache storm als het proces faalt de supervisor proces zal het automatisch herstarten als state management wordt behandeld via zookeeper
- Provisioning: Apache vonk ondersteunt basis monitoring met behulp van Ganglia terwijl Apache storm gebruikt Apache Ambari
- Doorvoer: Apache spark serveert 100k records per node per sec terwijl Apache storm 10k records per node per sec.serveert
- State Management: Het veranderen en onderhouden van de staat in Apache Spark kan worden bijgewerkt via UpdateStateByKey, maar geen pluggable strategie kan worden toegepast in het externe systeem voor de uitvoering van de staat. Terwijl Storm geen kader biedt voor de opslag van elke tussenliggende bout output als een staat. Vandaar dat elke toepassing moet een staat voor zichzelf te creëren wanneer dat nodig is.
- Specialiteit: Apache spark maakt gebruik van unified processing (batch, SQL etc.) terwijl Apache storm gebruik maakt van distributed RPC
Apache Storm en Apache Spark zijn geweldige oplossingen die het streaming ingestion en transformatie probleem oplossen.
Lees meer… http://entradasoft.com/blogs/apache-spark-vs-apache-storm