RTIMDB, Vlinder Software‘s Real-Time In-Memory Database, is a database designed for small to medium-sized Industrial Control Systems.
Specifically it was designed for subset level 1 and 2 DNP3 out stations. It therefore comes with built-in support for the most common datapoint types: binary inputs, binary outputs, analog inputs, analog outputs; and the most common operations: read, write, select, operate, direct-operate. It has built-in event queues, transactional reads (so if events occur during a poll they will be reported after the poll), etc.
RTIMDB’s design is almost entirely lock-free, and uses very granular locking where there is no other choice. It can be used with and without exceptions, without run-time memory allocation, with or without threads, …
RTIMDB comes with complete source code, written in standard-compliant, portable C++11. The Community edition is available on GitHub.