user2435082
user2435082

Reputation: 295

What is the benefit of using Trident topology?how it is different from DRPC Topology?

I am new to Storm.. please help me to understand Trident topology clearly.I also want to know what kind of requirement suites for Trident topology?

Upvotes: 4

Views: 3060

Answers (2)

kartik
kartik

Reputation: 2135

Trident support many of the features like group by, filter, merge, aggregation on Tuples which can also be implemented in standard topology but with implementation efforts. Trident is highly optimized & performant for network hop for doing partition aggregate on Tuples.

Trident gives transactions guarantee by only one time delivery. We have to explicitly implement this transaction behavior according to backend database like MongoDB or Casendra.

Trident performance can match with spark real time computation framework.

Using typical transactional use case in Storm is rare scenario. To enable transactional nature in trident, you need backend DB to compare or ignore that tuple based on tuple id. We can do everything in trident that can be done in Standard Topology with better performance.

DRPC is not a topology, it is wrapper on the top of topology which supports client - server model using RPC call, while trident is a topology building style.

Upvotes: 3

user2720864
user2720864

Reputation: 8171

Trident is basically is an abstraction built on top of storm which allows stateful stream processing. It assure "exactly one processing" of messages in contrast to storms "at least one processing" of messages.
From the tutorial page

Trident is a high-level abstraction for doing realtime computing on top of Storm. It allows you to seamlessly intermix high throughput (millions of messages per second), stateful stream processing with low latency distributed querying. If you're familiar with high level batch processing tools like Pig or Cascading, the concepts of Trident will be very familiar – Trident has joins, aggregations, grouping, functions, and filters. In addition to these, Trident adds primitives for doing stateful, incremental processing on top of any database or persistence store. Trident has consistent, exactly-once semantics, so it is easy to reason about Trident topologies.

For use cases you can go through this discussion in SO
Check the API overview here

few more useful links I could find
http://www.datasalt.com/2013/04/an-storms-trident-api-overview/
http://asakta.blogspot.in/2013/04/learning-to-hold-trident-in-storm.html

Upvotes: 7

Related Questions