I used and got frustrated with in-memory databases. I mainly use them for testing, although I can image using them for managing huge amounds of simple data as well (e.g. parsing a huge plain text file into a simple table). Still, usually problems appear whis the SQL dialog. Unless the in-memory test database is the same as the production database, there will be SQL dialect issues. Martin Fowler wrote about this problem before.