Wednesday, September 15, 2010

On VLDB 2010 and the event processing tutorial

Still in Singapore,  after the vacation, this is VLDB time,  VLDB is one of the largest databases conferences, however databases is a large heterogeneous area, and I wonder if there is a single person who can understand all  talks.   The keynote talk by Divesh Saristava from AT&T Research talked about stream warehouses, or event stores in my language.  There were also some event processing related demos, and a stream research track, with one interesting talk that compared the semantics of Coral8 CCL language to this of Streambase and got to the (not surprising) conclusion that their semantics is different and similar queries would yield different results, then it tried to come up with a framework to generalize the two types of semantics, and they extend it to other languages.   I think that this is in line of the work we are doing on common model, and will follow up with them (they are from ETH Zurich) about collaboration on that one.

Today I have delivered a tutorial under the title "event processing - past, present and future",  much of it follows the EPIA book.    Since this is a database conference I opened in showing various opinions about the relations between event processing and data stream management, which is the name used in the database community, the various opinions are:

  1.  They are aliases -- a stream is just a collection of events, likewise, an event is just a member in a stream, and the functionality is the same.
  2. Stream management is a subset of event processing -- there are different ways to do event processing, streams is one of them
  3. Event processing is a subset of stream management -- event streams is just one type of stream, but there are voice stream, video stream and more streams
  4. Event processing and stream management are distinct and there is no overlapping between them.

As I have heard all four opinions about it,  I'll let you judge which is the right one. Hint:  option 4 is totally false, there is some truth in options 1-3, depending on the viewpoint.

Anyway - the tutorial has been uploaded to slideshare, and you can view it there. Enjoy.

Tomorrow is my last planned day in Singapore, and I'll write more about this very impressive country soon.


Paul Vincent said...

How about opinion:

5. Stream and event processing overlap. Event processing can view events as streams (and typically query the stream) or clouds (and typically operate discrete rules against the cloud). Stream processing deals with mostly related information, which can include events...


Opher Etzion said...

Hi Paul. The partial overlapping is the obvious one, but I wanted to bring the extremes. Here also there is a matter of definition -- there is a view that cloud is a collection of streams and there is a view that it is partially ordered while streams are totally ordered. While some of the streams models assume total order, it is not inherent in the definition of stream that it should be totally ordered, so it seems that event stream is a subset of an event cloud, on the other hand, stream is wider than event stream and includes voice stream (I am now listening to the radio through the internet while writing it),video stream etc -- and this what makes the partial overlap.