change
change

Reputation: 3558

DRUID.io vs Esper CEP

I have been reading a little about Druid last few days and wondering how is this different from Esper. I have been using Esper for realtime event processing. It feels Druid does that with its simple JSON like queries and much simpler interface.

Can someone please correct me and share more light?

Edit
Can both co-exist?

Upvotes: 1

Views: 909

Answers (2)

user766353
user766353

Reputation: 537

A Druid cluster is composed of different types of nodes, so while some are "store-then-query," there are also what are called "real-time" nodes. From the Druid documentation:

Realtime nodes provide a realtime index. Data indexed via these nodes is immediately available for querying. Realtime nodes will periodically build segments representing the data they’ve collected over some span of time and transfer these segments off to Historical nodes.

There are examples in the Druid documentation and blogs on how to stream data in and immediately query it. So in that sense it can do similar things to Esper, but can also store the data in historical nodes for later querying. It can also ingest data via Hadoop (obviously not real-time processing), which means that the streamed data can be amended as corrected or missing data comes in.

Upvotes: 0

user650839
user650839

Reputation: 2594

I don't know Druid and can comment based on what I see on the web site. Druid seems to compare itself with Impala, Redshift, Vertica, Cassandra and Hadoop in the field of storage solution. It seems a store-then-query optimized for time series, with the 'primary key' being time objects.

Esper does not store and instead analyzes as data arrives, therefore presumably achieving lower latency and higher throughput as it never goes to disk (unless with the high-availability). Druid seems to be able to analyze stored time series data, while this would require event replay from another store into Esper.

Upvotes: 1

Related Questions