Re: in-memory db
Hiya - here are few points based on what i've looked at from the Net:
1. IBM Solid DB and Oracle's tent times ten eliminate/alleviate the hotspot related to buffer management but it's still disk-based as this is easier to write, they've have add this enhancement.
where as real in-memory row-store for high-velocity data has different design goals:
totally in-memory with durability provided by command logging (like that of Voltdb)
replication/partioning provided that of VoltDb
concurrency approaches that are different from disk-based db like IBM, Microsoft, Oracle etc.,
also, i believe, Fkey is not provided and one needs to partitioin/repartition if usage changes though based on use-cases. Also, throughput or latency is the question. Voltd harps on throughput but Yahoo's PNUTS have a different take and provides master-master (across clusters) and uses time-line consistency.
From my perspective, in future, big-firms might catch-up assuming barries to entry diminishes from the design engineering standpoint provided they do a rewrite and reuse parts of code that can be reused for the NEWSQL world.
Note: I'm a hands-on Solutions architect and i happened to research more on this and VoltDb is something i'd used to compare it against other ones. I don't work for VoltDb nor do i endorse them.