views:

44

answers:

3

Free and stable is the winner.

My plan is quite trivial - just put all the data in memory and use the cluster without changing the application code. Then, for persistence, I could just dump the data from nodes in a regular disk-access database.

The only thing is, that since I demand in-memory storage, there is no possibility of full data replication. I would like to copy the DB schema only and that in-memory DB manages all the joins consistently for me.

thank you in advance!

UPDATE: I've found an open-source product likely to meet my requirements, it's VoltDB

+1  A: 

Out of interest, any particular reason why you 'demand' in-memory storage and can't just use a normal db server?

Rory
Such a reason could be that I intend an intranet deployment (with no decent data-center), but that's not the case. Actually, I know that there are pretty things like 'apache CouchDB' which work very fast; so is that the direction you would point me to?
Bubba88
I'd suggest you rethink and go with a standard db server, unless you have particular requirements that mean you need an in-memory db. From your question it sounds like you're looking for a solution to a problem (e.g. performance) and assuming in-memory db is that solution, without describing the problem. There are good in-memory dbs, but unless you really need them you're probably better off with a more standard solution.
Rory
Understood. Well, thank you for the advice :)
Bubba88
A: 

How about oracle's times ten http://www.oracle.com/technetwork/database/timesten/overview/index.html Or maybe berkeley DB

Joe
Thanks, I'll check Berkeley DB
Bubba88
Berkeley DB is 'key-value' :) I looked for a relational DB with SQL interface
Bubba88
you might look at this - http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html for ideas.
Joe
A: 

Your question is unclear to me. You can have a look to Timesten (now owned by ORACLE), it is based on SHMDB and provides a SQL interface.

MySQL cluster is also a kind of in-memory DB as when you commit, it means data are in memory of two nodes and not written on disk. But of course MySQL cluster will write all data on disk asynchronously to be able to backup and recover data after a crash.

Benoit Thiery
Thank for 'Timesten', but I cannot find if it's available for free :)
Bubba88