20.01.2015 Views

Performance Modeling and Benchmarking of Event-Based ... - DVS

Performance Modeling and Benchmarking of Event-Based ... - DVS

Performance Modeling and Benchmarking of Event-Based ... - DVS

SHOW MORE
SHOW LESS

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:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!