Some questions about Druid


I’m trying to find out if Druid is suitable for my use case and I have a few questions:

  1. Does a segment have to be committed before I’m able to query it? If not then what’s the benefit of committing it other than storage savings?
  2. Can I add values to a segment after it’s committed? Does adding mean overwriting the segment with a new version? If so is that very time consuming?
  3. Can I execute a query for an event following an event? That is, say I have an event e1 defined by dimension A=a and another (e2) by dimension A=b. I want to have all instances of e1 followed by e2. For example, e1 at timestamp 0 and e2 at timestamp 1, but I don’t know in advance the values of the timestamps, all I know is that e2 must follow e1. Is this possible?