DataSonar’s Data Model
DataSonar combines the best of time-series, relational and graph databases:
– It’s a departure from the relational DB: it has less structure and thus less overhead.
– It’s different from the non-relational DB: it actually has structure, which eases design, migration, reuse, validation and application development.
Data Modeling Concepts
The foundation of our unique conversational model is based on the fact that things and events (data) evolve over time. These things and events are transmitted as messages that can be any type of data, independent of the source or format following a simple syntax: UNIT | ACTION | DATE.
DataSonar’s model is based on a logical configuration paradigm that consists of actors exchanging messages with other actors.
Actors and their roles
The relational model is based on an entity-attribute paradigm; it essentially deals with things.
DataSonar’s data model is based on a logical configuration paradigm; it essentially deals not with things, but logical configurations that, while about things and events, consist of actors exchanging messages with other actors.
Actors have, or belong in, roles. A role defines a set of properties. Actors may have the same role.
Actors exchanging messages with other actors
A message is a discrete unit of information exchanged between two actors: the agent, who sends the message, and the subject, who receives it. With each message, information is carried of dimension, unit and time of occurrence. A message models an actor’s interaction with another actor in terms of actions.
At a lower level, an interaction involves two kinds of actors:
- the agent, who, at one end of the interaction, initiates it
- the subject, who, at the other end of the interaction, makes it possible.
The action itself consists of:
- name, which is an identifier unique to the action
- dimension, or magnitude
- measurement unit.
Being a big data platform, DataSonar ultimately stores something’s magnitude in some unit.
When a message is issued, an entry is inserted
An entry is an instance (or occurrence) of the action between two actors, and defined as:
- action, which is the action the entry is an instance of
- subject, which is the subject to that action
- agent, or the actor which on this instance of the action interacts with the subject
- date of occurrence, or when (UTC) the action takes place
- unit, which is a value, its meaning knowable only when the action’s dimension and measurement unit are known.
A sequence of entries constitutes a time series database, one of DataSonar’s tenets.
Tags and labels
Additionally, a message may include a tag and/or a label.
A tag associates actions of a single or multiple subjects, creating a new time series of the tagged actions, whereas a label associates specific entries regardless of action or subject.
The relation between the subjects, tags and labels creates a directed graph.
See DataSonar Distributed-computing Model.