Yes Go for druid ! I want to start with disclaimer i am a druid committer. First i want to point that as an engineer i don't believe that there is a single query engine that can be always be better that all the other solutions, it is all relative to the use case you want to solve. Now let's get to why Druid and not OpenTSDB for real-time stream application ? Therefore the use case keyword here is real time streaming applications.
Well for the simple reasons are:
- Druid has native ingestion and indexing support with almost all the rising real time stream processing technologies (eg kafka, rabitMQ, spark, storm, flink, apex, ... and the list goes on and on).
- This integration is production tested at a very very large scale (eg Yahoo-Flurry or Metamarket) where we have more than 1 million events per second through real-time ingestion.
- Druid out of the box has support for lambda architecture.
- Druid can ingest data directly from Kafka with the guaranty of exactly once delivery semantic.
In my opinion those are the key element to look for when i am building realtime streaming application. To my limited knowledge i am not aware if there is any integration or production use cases with real time streams and OpenTSDB.