Similar questions:

It is possible to free, high-performance, SQL queriable, .Internet in memory RDBMS? I have done some investigation previously 10 hrs, but did not locate one.

I have just attempted SQLite in memory mode, but it is performance isn't good. The next test required 4130 ms, only 2x faster than SQL Server.


As Kibbee recommended, I made use of a profiler to research the performance, and located SQLite's in memory mode is really pretty performant, the bottleneck was NHibernate. Here is a benchmark of SQLite 3.6.3 (published on 20-March-2008).

Your condition appears to become not just one of architecture only one of capacity. Altough RDBMS are highly enhanced programs, they still require significant assets and many RDBMS that see heavy or complex usage will normally have to hit the disks. This raises cache, that is what many large programs use to improve response time by caching certain query results and serving individuals, rather than re-running the query each time. Software like Memcached (on linux) may be used to reduce the necessity to run queries.

Finally, if caching isn't a choice, you can just provide more assets towards the application. Like @marc_s stated, considerably growing memory (and cpu capacity, since by growing memory you progress the bottleneck towards the CPU) is a great technique you can use.

If you would like performance, skip the SQL and RDBMS parts. An easy datastructure in ram having a change log will easily outshine a database. You will need some better collections compared to standard provided ones though, because they don't scale well.