TimeBase Definition: TimeBase is a high-performance time-series polymorphic event-oriented database and a messaging middleware.
- Stream: a collection of objects called messages.
- Message: data records, always associated with a symbol, and almost always tagged with a timestamp.
- Symbol: a key that describes a specific time-series (e.g. in IoT it may be a sensor id)
- Class definition: describes structure of messages. The class definition lists the fields included in messages of this class, along with their names, data types, limits, and precision. Every message belongs to a certain class.
- Polymorphic stream: a stream that contains messages of different classes.
- Fixed type stream: a stream that contains messages of a single specific class.
- Content class: a class that describes messages that are expected in a stream.
- Inheritance: classes can inherit fields from other classes. TimeBase supports single inheritance only, just like Java and C#. The inheritance hierarchy forms a tree-like structure. At present, class fields can only be of primitive (or enumerated) type. Nested classes are not currently supported.
- Loader: data producers use them to write data into TimeBase
- Cursors: data consumers use them to read data from TimeBase
- Unique Stream: a stream that supplies a copy of last-known values to new stream subscribers. Initial set of messages is a snapshot of last messages.
- Transient Stream: the content of a transient stream is not persisted anywhere. Transient messages are stored in a memory buffer, which acts as a queue with one tail and multiple heads. When data in a transient stream is read by all readers, it is discarded.
- Durable Stream: when data is written into a durable stream, it is initially retained in memory, and eventually flushed to durable storage.
- Topic: a high-performance messaging channel that directly connects data Producers and Consumers