Skip to main content


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 timestamp.
  • 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 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.