@ Mr. Perry
32bit/x32 OS can not address more than 4GIG of RAM. Therefore, you can not assign 8gig of ram to a 32 bit guest VM. For additional detail re: how the USER MODE portion of the available RAM can be increased with caveats:
I think the single node "massively VM" idea is a fun thought exercise, but that's all it is (with today's VM state of the art).
There is a third option I don't think was mentioned, forgive me if it was, and that would be using a distributed/n-Node read-only cache in front of the DB. A cache hit pulls the data/object from the distributed non-blocking cahce, a cache-miss is equivalent to a DB hit, of course all UPDATE/INSERT operatrions hit the DB. This is an accepted way to increasse read operations scalability in a linear fashion.
If you are interested in this concept, google/live search:
2. Oracle Coherence (Tangosol)
3. Scale Out Software
A fourth option is parallelization using multiple DB nodes fronted by a "parallel query and controller node" that sends the query to multiple back-end DB nodes (sort of like striping a drive, its like "striping a query" --> at a gross conceptual level).