Moxy DB

Data is loaded into the Moxy DB from data sources defined in a report definition and via hooks into your business logic.  This allows a set of data sources to be made available to all reports and separates reports from the data model.

The Moxy db uses a subject, dimension, metric model to map data to a taxonomy, which uniquely represents all data. This taxonomy is hierarchal to facilitate a structured data model.

Subjects and Metrics

Each subject in the taxonomy has a number of metrics and the combination of subject and metric defines the key part of the key-value database. A subject will have as many metrics as required, which form a similar purpose to database columns.

For example, a contact record may have subject code CON with metrics, firstName, surname. It may also have phone numbers defined with subject code CON.PHO and addresses with code CON.ADD.

Each record in the store also has a globally unique id. There may be many contacts added with the subject code CON, but each will have a unique subject id.


Dimensions are ways of slicing data to achieve grouping and filtering in a report.

The phone numbers added with subject code CON.PHO will have a unique subject id but they also belong to a contact. Therefore the phone number will have a dimension using subject code CON and the value of that dimension will be the contact id.

When listing phone numbers, we can now filter by dimension CON. We can also use this dimension to join to the CON record using its id.

Click to see Comments

Help comments powered by Disqus