MATRIXX Engine Data Model

The MATRIXX Engine data model is object based. All objects are defined in XML, making them extendable and the in-memory databases highly configurable.

How MATRIXX Transfers Data

Figure 1 shows the components that MATRIXX uses to transfer and store data.
Figure 1. MATRIXX Data Model
MATRIXX Data Model
MDCs — MATRIXX Data Containers
Used to pass information among MATRIXX components, for example, processing records and results, state changes, events, and, notification messages. For more information, see the discussion about MATRIXX Data Containers.
EDRs — Event Detail Records
Represents a business event (state change to the database). Created by the Charging Server from MDCs.
Transaction Messages
The Charging Server creates event objects (for billable events) and adds them to MDCs. The result is sent to the Transaction Server as a transaction message.
Events
Contains attributes unique to a chargeable occurrence. For details, see MATRIXX Event Streaming.
SEFs — Streamed Event Files
A temporary file created by the Event Stream Server on the MATRIXX Engine publishing pod to stream events to MEFs or other locations (adds GTCs, usage, and non-usage information to EDRs).
MEFs — MATRIXX Event Files
Persistent storage for collections of events arranged in GTC order. MEF processing converts SEFs to MEFs. Can be published to external systems in different formats.

MATRIXX Data Objects

All database objects have a unique Object ID (OID) that can be used to efficiently locate the object in its database. Objects are linked together using their OIDs rather than memory addresses, so an object can be relocated in the database without invalidating the links. This also allows multiple MATRIXX Engines to share data based on OIDs, while the location of the object might differ between the engine pods.