2016-04-14 64 views
9

Apache Apex看起来像Apache StormApache Apex如何与Apache Storm不同?

  • 用户在两个平台上构建应用程序/拓扑结构为定向非循环图(DAG)。 Apex使用操作员/流,Storm使用喷嘴/流/螺栓。
  • 它们都是实时处理数据,而不是批处理。
  • 似乎都具有高吞吐量&低延迟

所以,一目了然,看起来都差不多,我不太得到的差异。有人能解释一下关键的区别吗?换句话说,我应该什么时候使用一个而不是另一个?

+0

添加Apache Flink和Apache Beam,所有DAG处理器 – user3613754

+0

还请添加用例,我更喜欢哪种用例适合每种用例。 – ChikuMiku

回答

2

架构和功能

+-------------------+---------------------------+---------------------+ 
|     |   Storm   |   Apex  | 
+-------------------+---------------------------+---------------------+ 
| Model    | Native Streaming   | Native Streaming | 
|     | Micro batch (Trident  |      | 
+-------------------+---------------------------+---------------------+ 
| Language   | Java.      | Java (Scala)  | 
|     | Ability to use non  |      | 
|     | JVM languages support  |      | 
+-------------------+---------------------------+---------------------+ 
| API    | Compositional    | Compositional (DAG) | 
|     | Declarative (Trident)  | Declarative   | 
|     | Limited SQL    |      | 
|     | support (Trident)   |      | 
+-------------------+---------------------------+---------------------+ 
| Locality   | Data Locality    | Advance Processing | 
+-------------------+---------------------------+---------------------+ 
| Latency   | Low      | Very Low   | 
|     | High (Trident)   |      | 
+-------------------+---------------------------+---------------------+ 
| Throughput  | Limited in Ack mode  | Very high   | 
+-------------------+---------------------------+---------------------+ 
| Scalibility  | Limited due to Ack  | Horizontal   | 
+-------------------+---------------------------+---------------------+ 
| Partitioning  | Standard     | Advance    | 
|     | Set parallelism at work, | Parallel pipes,  | 
|     | executor and task level | unifiers   | 
+-------------------+---------------------------+---------------------+ 
| Connector Library | Limited (certification) | Rich library of  | 
|     |       | connectors in  | 
|     |       | Apex Malhar   | 
+-------------------+---------------------------+---------------------+ 

操作性

+------------+--------------------------+---------------------+ 
|   |   Storm   |   Apex  | 
+------------+--------------------------+---------------------+ 
| State  | External store   | Checkpointing  | 
| Management | Limited checkpointing | Local checkpointing | 
|   | Difficult to exploit  |      | 
|   | local state    |      | 
+------------+--------------------------+---------------------+ 
| Recovery | Cumbersome API to  | Incremental   | 
|   | store and retrieve state | (buffer server)  | 
|   | Require user code  |      | 
+------------+--------------------------+---------------------+ 
| Processing | At least once   |      | 
| Semantic | Exactly once require  | At least once  | 
|   | user code and affect  | End to end   | 
|   | latency     |      | 
|   |       | exactly once  | 
+------------+--------------------------+---------------------+ 
| Back  | Watermark on queue  | Automatic   | 
| Pressure | size for spout and bolt | Buffer server  | 
|   | Does not scale   | memory and disk  | 
+------------+--------------------------+---------------------+ 
| Elasticity | Through CLI only   | Yes w/ full user | 
|   |       | control    | 
+------------+--------------------------+---------------------+ 
| Dynamic | No      | Yes     | 
| topology |       |      | 
+------------+--------------------------+---------------------+ 
| Security | Kerberos     | Kerberos, RBAC,  | 
|   |       | LDAP    | 
+------------+--------------------------+---------------------+ 
| Multi  | Mesos, RAS - memory,  | YARN    | 
| Tenancy | CPU, YARN    | full isolation  | 
+------------+--------------------------+---------------------+ 
| DevOps  | REST API     | REST API   | 
| Tools  | Basic UI     | DataTorrent RTS  | 
+------------+--------------------------+---------------------+ 

来源: 研讨会:阿帕奇顶点(下一代的Hadoop)与风暴 - 比较和迁移纲要https://www.youtube.com/watch?v=sPjyo2HfD_I