Performance Modeling and Benchmarking of Event-Based ... - DVS
Performance Modeling and Benchmarking of Event-Based ... - DVS
Performance Modeling and Benchmarking of Event-Based ... - DVS
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2.2. TECHNOLOGY PLATFORMS OF EVENT-BASED SYSTEMS 13<br />
Sender<br />
Sender<br />
Msg x<br />
Msg y<br />
Queue 1<br />
Msg y, Msg x<br />
Receiver<br />
Publisher<br />
Publisher<br />
Msg x<br />
Msg y<br />
Topic 1<br />
Msg y, Msg x<br />
Msg y, Msg x<br />
Msg y, Msg x<br />
Subscriber<br />
Subscriber<br />
Subscriber<br />
Queue n<br />
JMS Server<br />
Topic m<br />
JMS Server<br />
Figure 2.2: Point-to-point messaging.<br />
Figure 2.3: Example for Pub/Sub Messaging.<br />
2.2.2 Continuous Queries, Stream Processing<br />
Continuous queries [52] can be seen as an attempt to change the processing paradigm from issuing<br />
a single non-persisting query against stored, persistent data to storing the query persistently in<br />
the database <strong>and</strong> applying it to streams <strong>of</strong> incoming data. Continuous/continual queries were<br />
expressed in variants <strong>of</strong> the SQL language modified to operate on windows [140]. These can be<br />
defined either through temporal events or through a count <strong>of</strong> incoming events. While early work<br />
on continuous queries assumed that the continuous queries would operate on the stored data<br />
<strong>and</strong> would be executed by the traditional query engine, work on streaming queries has changed<br />
the processing paradigm: queries defined in a SQL dialect, such as StreamSQL, process streams<br />
<strong>of</strong> data or events before they are placed in the database <strong>and</strong> results <strong>of</strong> this processing step are<br />
only selectively stored in the database. Many <strong>of</strong> the extensions to the relational operators <strong>and</strong><br />
how to process for example joins on windows in continuous queries, have carried over to current<br />
products for stream processing <strong>and</strong> have been extended there for high volume applications [45].<br />
2.2.3 Materialized Views<br />
Materialized views can be seen as a particular application <strong>of</strong> active database principles. Views<br />
are typically subsets <strong>of</strong> a database that are defined in the database schema. They are computed<br />
on the fly from the stored base tables. As an optimization, views were materialized, i.e., stored,<br />
resulting in the need for maintaining them whenever the base data changed. Propagation <strong>of</strong><br />
base-table updates to the materialized views was accomplished using the mechanisms developed<br />
for active relational databases [86].<br />
2.2.4 Message-Oriented Middleware (MOM)<br />
Message-oriented middleware (MOM) is a specific class <strong>of</strong> middleware that supports loosely<br />
coupled communication between distributed s<strong>of</strong>tware components by means <strong>of</strong> asynchronous<br />
message-passing as opposed to a request/response metaphor. This allows a producer to send a<br />
message (event notification) <strong>and</strong> then continue working while the message is being delivered <strong>and</strong><br />
processed. Optionally the message producer can be notified later when the message is completely<br />
processed. The decoupling <strong>of</strong> communicating parties has several important advantages:<br />
• Message producers <strong>and</strong> consumers do not need to know about each other.<br />
• They do not need to be active at the same time to exchange information.<br />
• They are not blocked while sending or receiving messages [67].<br />
Message-oriented Middleware contains notification services supporting two message models: