MATRIXX In-Memory Databases

MATRIXX Engine uses an in-memory database set to hold all transactional data. This object-oriented database works seamlessly with the non-locking transaction model. The database allows multiple read and update operations to the same objects to occur simultaneously while maintaining full transactional integrity.

The MATRIXX Engine in-memory database consists of multiple databases that contain data related to:
  • Sessions
  • Events
  • Subscribers
  • Devices
  • Balances
  • Reservations
  • Pricing
Other MATRIXX Engine databases include:
  • Statistics database that holds data related to system performance metrics and transaction processing.
  • Schedule database that holds subscriber-related tasks to be performed, such as catalog item cancelations and recurring processing.
  • Alert database that holds alert objects related to CCF operations that must be performed.

The schemas of all database objects are specified in XML configuration data. The schema supports subclasses and versions of object types and allows objects of different versions to reside in the database simultaneously. This enables phased or on-demand upgrades of the objects in the database, which significantly reduces the risk and overhead of adding new fields to existing objects. Subclasses also offer flexibility for supporting similar data from multiple sources.

The memory is allocated dynamically during runtime from the system's total shared memory pool to accommodate for the growth of the databases and other memory buffers. This provides much more flexibility in sizing data and less wasted space. In addition, objects are indexed for efficient lookup by their object ID. Create additional indexes for efficient lookup by other object attributes, for example, by an external ID, a subscriber phone number, or XML configuration data. Objects are linked together with relocatable pointers. This linking reduces the size of individual objects and allows data to be looked up and changed efficiently. For disaster recovery operations, checkpoints are created for the in-memory databases, written to disk, and published to off-engine storage.

For information about infrastructure requirements, see the discussion about infrastructure requirements in MATRIXX Installation and Upgrade.