Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Odysseus is a multi user system. For this, each installed query or source is dedicated to a user. Since more than one user can access the system, it is also possible to grant or revoke special rights to other users.

Puncutations / Heartbeat Mechanism

Odysseus has a built-in punctuation mechansim (in the relational processing). Since the window concept of the interval approach may cause a blocking of operators, because a processing step of an operartor needs further elements to produce results. However, if there are no further elements, the processing blocks. At this point, punctuations indictate that the stream is still "alive" but there are currently no elements (thus, also called heartbeat). So, punctuation are used to unblock the operator earlier.

Addtional Features

Admission Control Feature

...

The context feature provides a context store that can be used to hold current valid status (e.g. the door is currently open). A store and enrich operator is provided for modifying the store via streams.

Core Feature

This feature provides the basic concepts that are described in the previous section

RCP Feature

The RCP feature provides an user interface for Odysseus and is also called "Studio". Besides an editor for running Odysseus Scripts, it allows to visualize streaming data via different charts, tables or lists. It also gives the possibility to show current status like running queries, installed sources, known users or the visualization of the current query plan. Furthermore, the RCP is also extendable with new views like tables, charts or own views.

Costmodel Feature

The costmodel measures some statistics to estimate the behavior of an incoming stream and the selectivity of operators. This allows one to estimate the cost of query plans. This can be used, for example, in the admission control or also for optimization techniques.

Database Feature

Although Odysseus is designed for streaming data, there could be also some static data that is (usually) stored in a database. Therefore, this feature provides drivers and interfaces for opening connections e.g. to a mysql, oracle or postgresql database. Furthermore, there are for the one hand a sink and a source operator to write or read static data as streams from the database. For the other hand, there is an enrich operator to enrich streaming objects with static data from a database.

Priority Feature

This feature allows the priorization of processing object, e.g. when there are alerts. If this feature is enabled and there are elements with a higher priority than other (normal) ones, they can overtake the normal elements to be processed faster.

Mining / Learning Feature

This feature provides concepts for learning from data streams. Besides clustering and classfication, there exists also a concept for learning frequent patterns from the stream.

P2P Feature

This feature distributes Odysseus over a network of peers

Prototyping Feature

With this feature, it is possible to write "user definied aggregates" and "user defined functions" in several script languages like java script or ruby.

Scheduling Feature

As mentioned above, the scheduling feature installs several scheduling mechanism like a priority-based or an aurora-based scheduling

Security Punctuation Feature

Security punctuations are points in a data streams that tolds the processing who is allowed to read the data. Thus, the stream itself can define rights like "as from now you are not allowed to see the next 100 tuples".

SLA Feature

This feature allows the definition of service level agreements, which is for example used for a sla based scheduling

SPARQL Feature

Streaming SPARQL is an extension to SPARQL for querying on RDF data streams

Spatial Feature

The spatial feature introduces spatial data types like point, line, polygone etc. and defines some functions on them, e.g. covers, crosses etc. Thus, a geographic processing is possible.

Test Feature

The testing feature runs Odysseus, starts some predefined queries, inputs some data and checks, if the output is as expected. Thus, this can be seen like unit/black box testing

Wrapper Feature

As mentioned above, Odysseus has an access operator framework that allows to build different types of adapters. This feature provides some predefined adapters, for example for CSV, Files, HTML, JSON, NMEA, Google Protobuf, RS232 (serial port), TCP socket or Twitter. Furthermore, there is a set of handlers for data handling like for integers or strings etc. There are also concepts for a push and a pull based processing.