I spent days searching the internet but all the databases I found are at most in-memory but not concurrent.

By concurrency I mean that they run on multiple threads and can do multiple reads concurrently without read locks. This way a system which uses a lot of complex SQL queries could scale much better with increased number of requests per time interval.

The only "solution" to this kind of scaling I found was just running multiple servers with duplicate databases.

If they exist, can you give me an example of some in-memory concurrent (relational) database?

If not, why do they not exist?

  • @mustaccio I considered Apache Ignite as it is relational and in-memory. But when I was trying to find information about concurrency, it always only suggests that it handles concurrency in the way that many clients are able to make concurrent queries (but nothing to suggest that those queries will be executed in parallel and not in series) – Gillian Jan 21 '20 at 21:45
  • @mustaccio Looks like you're ignorant of how computing works. You see, in computers concurrency doesn't necessarily mean that two things are happening or done at the same time. Sometimes concurrency means two things are done at two different times but due to fast context switching it appears to be happening at the same time. Even though it's not. E.g. single-core multithreading. – Gillian Jan 21 '20 at 22:40
  • if you install enough RAM any on-disk database will give in-memory performance – Jasen Jan 22 '20 at 2:52
  • Yep. I'm ignorant. Sorry to have bothered you with my drivel. – mustaccio Jan 22 '20 at 2:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.