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
key), and a
- Symbol - a
keythat 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 className definition lists the fields included in messages of this className, 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. Refer to Introspection to learn more.
- Stream - a collection of messages ordered by time with a predefined structure. Refer to Streams to learn more.
- 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.