Valo performs analysis on streams of data.
A stream is an append only sequence of events. New events can be added to a stream, but existing events can’t be deleted or modified, which means that all stored events are immutable.
Some examples of possible streams are:
- Log file entries
- CPU utilisation samples
- Stock prices
- ECG samples
- Twitter posts
Data is written to a stream by a contributor application.
A stream’s data can be analysed by running queries or free text searches. Queries and searches are generally executed by a consumer application through our Valo SDK libraries or even consume the Valo API directly.
The stream events can be processed:
- Real time: Valo can analyse a stream of data in real time, without storing the stream’s data.
- Historical: Valo can also store a stream of data for subsequent historical analysis, in one of Valo’s specialised repositories.
Finally Valo can publish the results of data analysis as new “derived” streams, which in turn can be stored for historical analysis, or produce further derived streams:
The basic steps required to configure a stream are to:
- Choose a URI to identify the stream.
- Specify a schema describing the “shape” of the data in the stream.
- Specify a distribution policy to optimise the use of storage and queries
- Optionally specify a repository for historical storage
The SSR supports storing stream data, then specifying the fields in the stream’s schema retrospectively. Refer to the SSR documentation for more information.
Configuring Additional Analytics¶
Depending on the analysis you wish to perform on your stream’s data you can also: