TimeBase is a high-performance event-oriented time-series database with embedded data modeling and serialization functionality, streaming system and messaging middleware developed by Deltix.
Message - a message describes a specific event, and is stored or edited as a unit. Every message in TimeBase is automatically associated with a moment in absolute time and an entity key. The entity is an abstract concept that identifies the object, to which the event relates the most. A message contains number of data fields according to the message structure. There are two required fields - a
symbol (sometimes called
key), and a
Symbol - a
key that describes a specific time-series source (e.g. in IoT it may be a sensor id, or trading activity for specific security).
Class Definition - describes structure of a message. The class definition lists the fields included in messages of this class, along with their names, data types, limits, and precision.
Content Class - a class that describes stream messages.
Instrospector - API to create class hierarchy from specific Java or C# class definitions.
Stream - a collection of messages ordered by time with a predefined structure.
- Polymorphic Stream - a stream containing messages of several classes.
- Fixed Type Stream - a stream containing messages of a single specific class.
- Durable Stream - the content of durable streams is persisted on disk.
- Transient Stream - in-memory stream is not persisted anywhere. Messages are stored in a memory buffer, which acts as a queue with one tail and multiple heads.
- Unique Stream - a stream (Durable or Transient) that supplies a copy of last-known values for each symbol to new stream subscribers.
Topic - a high-performance messaging channel that directly connects data Producers and Consumers (via UDP or IPC).
Loader - API for data producers. Publishes messages into TimeBase streams.
Cursor - API for data consumers. Reading data from one or many TimeBase streams according to the subscriptions.
Live Cursor - reading data ‘live’ from one or many TimeBase streams.
Data Cache - LRU cache in memory for TimeBase data.
Inheritance - message classes can inherit from other message classes. TimeBase supports single inheritance only, just like Java and C#. The inheritance hierarchy forms a tree-like structure.
Space - data partition.