2016-04-14 1 views
9

Apache Apex ressemble à Apache Storm.En quoi Apache Apex est-il différent d'Apache Storm?

  • Les utilisateurs créent une application/une topologie en tant que graphique acyclique dirigé (DAG) sur les deux plates-formes. Apex utilise des opérateurs/flux et Storm utilise des becs/flux/boulons.
  • Ils traitent tous les deux des données en temps réel, par opposition au traitement par lots.
  • Les deux semblent avoir haut débit & faible latence

Alors, un coup d'oeil, les deux se ressemblent et je ne suis pas faire la différence. Quelqu'un peut-il expliquer s'il vous plaît quelles sont les principales différences? En d'autres termes, quand devrais-je utiliser l'un au lieu de l'autre?

+0

Ajouter Apache Flink et Apache Beam, tous les processeurs DAG – user3613754

+0

Veuillez également ajouter des cas d'utilisation, je préfère quel type de cas d'utilisation est approprié pour chacun. – ChikuMiku

Répondre

4

Il existe des différences fondamentales dans l'architecture qui rendent chaque plate-forme très différente en termes de latence, de mise à l'échelle et de gestion d'état.

Au niveau très basique,

  1. Apache utilise la reconnaissance tempête enregistrement pour garantir la distribution des messages. Apache Apex utilise le point de reprise pour garantir la remise du message.

Vous pouvez apprendre plus de différences dans le blog suivant qui inclut également d'autres plates-formes de traitement de flux principal.

https://databaseline.wordpress.com/2016/03/12/an-overview-of-apache-streaming-technologies/

2

Architecture et Caractéristiques

+-------------------+---------------------------+---------------------+ 
|     |   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   | 
+-------------------+---------------------------+---------------------+ 

opérabilité

+------------+--------------------------+---------------------+ 
|   |   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  | 
+------------+--------------------------+---------------------+ 

Source: Webinar: Apache Apex (Next Gen Hadoop) vs Storm - Comparaison et migration Contour https://www.youtube.com/watch?v=sPjyo2HfD_I