Home Apache Flink vs Apache Spark
Post
Cancel

Apache Flink vs Apache Spark

FeaturesApache FlinkApache Spark
Computation Modeloperator 기반 computational modelmicro-batch 기반 model
Streaming Engine모든 작업에 대해서 stream을 사용 : streaming, SQL, micro-batch, batch. Batch는 finite set of streamed data모든 작업에 대해서 micro-batch를 사용함. 실시간 데이터 스트림을 실시간으로 처리하기는 어려움
Iterative processing두가지 dedicated iteration 작업을 제공 : Iterate, Delta Iteratenon-native iteration에 기반하는데, Spark이 아닌 다른 시스템의 일반 for loop으로 구현이 되어있다.
Optimization실제 프로그래밍 인터페이스와는 독립적인 optimizer를 갖고 있다.Spark job은 수동으로 Optimize 되어야한다.
Latency최소한의 configuration설정으로, low latency, high throughput을 달성할수 있다.Apache Flink와 비교하여 높은 latency를 가진다.
Performance다른 데이터 프로세싱 시스템보다 훌륭한 성능을 나타낸다. closed loop iteration operator를 사용하는데, maching learning과 graph processing을 더 빠르게 한다.Micro-batch를 사용하다보니 Flink보다 효율적이지 못하다.
Fault toleranceChandy-Lamport distributed snapshot에 기반을 둔 fault tolerance mechanism. 경량 메커니즘이고 high throughput과 강한 consistency를 보장한다.exactly once semantic을 보장한다.
Window CriteriaFlink는 record-based 또는 custom user-defined window criteria 제공time-based window criteria 제공
Memory Managementautomatic memory management를 제공configurable memory management 제공. Spark 1.6부터는 자동화된 memory 관리도 제공
This post is licensed under CC BY 4.0 by the author.

Trending Tags