C++ – Advice for a simple in-memory database server (persistence not required)

Advice for a simple in-memory database server (persistence not required)… here is a solution to the problem.

Advice for a simple in-memory database server (persistence not required)

Multiple connections should be supported, preferably via ODBC. The client will run as a separate process on the same machine. Persistence is not required because the client will handle persistence elsewhere. If important, the client is written in C++.

The data is simple, a set of unrelated two-way graphs. Accessed directly through a value or range (between X and Y), no updates. We don’t actually need SQL here, so non-SQL solutions can also be considered.

Client applications are multi-process and can run on multiple machines. Each machine should have a local copy of such a database, which is updated by its local client against the central storage.

Multiple edits:

  1. The platform is Linux
  2. For security reasons, RAM disks are not an option – we don’t want anyone with access to the machine to be able to view the data
  3. Data can only be saved in encrypted form, so the solution either doesn’t save the data at all or allows it to be saved using user-defined filters/plugins.

Related Problems and Solutions