Transactions & Transaction Logging
Transactions supporting the ACID (Atomic, Consistent, Isolated and Durable) properties should be a given in a DBMS used for mission critical financial systems. Users rely on eXtremeDB Financial Edition’s ACID-compliant transactions to ensure data integrity, while still delivering performance that is superior to alternative data management systems that sacrifice the integrity/reliability of transactions in order to maximize their performance.
The product’s in-memory database transaction logging, when enabled, offers developers flexibility as well as a unique feature, eXtremeDB Data Relay, for data sharing between real-time applications based on eXtremeDB Financial Edition, and external systems such as enterprise DBMSs.
With in-memory transaction logging, the eXtremeDB Financial Edition runtime captures database changes and appends them to a log, which can be used to automatically recover the in-memory database if needed (i.e. subsequent to an unexpected application or system failure). (Transaction logging is part-and-parcel of persistent database deployments).
eXtremeDB in-memory transaction logging minimizes its impact on the superior performance of in-memory data storage. Read performance is unaffected by logging. Write performance will still far exceed that of disk-based DBMSs, because of the simpler architecture of an IMDS, such as the absence of cache management, and eliminating expensive random writes to persistent media (transaction logs are written sequentially).
Developers can fine-tune transaction logging for persistence and performance. Logging can be turned off entirely at runtime, and it may be set to different levels of transaction durability.
eXtremeDB Data Relay (Open Replication)
Transaction logging includes the powerful eXtremeDB Data Relay feature, which facilitates seamless, fine-grained and selective data sharing between real-time systems based on eXtremeDB Financial Edition, and external systems such as enterprise DBMSs.
Data Relay “opens up” eXtremeDB’s transaction buffer. For every object affected by a transaction, the buffer provides a coded value that indicates whether each operation was an insert, update, or delete. Data Relay provides a database cursor that iterates over objects in the buffer and extracts the coded value. Based on this reading, the application can take the next step of drilling down into the object, analyzing changes and determining whether to replicate the change to an enterprise system.