Transactional Memory

The StreamBase Runtime offers transactional memory as an option for storing the data for StreamBase Query Tables and for operators that preserve state.

Transactional memory is a technology in concurrent programming that allows a set of load and store instructions to execute in an atomic way. It provides a concurrency control mechanism analogous to database transactions for managing access to shared memory, which allows coordination between concurrent reads and writes of shared data.

The use of transactional memory is especially important in high availability deployments, where (for example) two nodes might need to use the same Query Table.

Transactional memory settings must be specified in a HOCON configuration file, and then selected in a StreamBase Studio property page for the affected Query Table or operator.