Sorry, but you're trying to beat the system programmers at their
own job and it's not going to work.
The overhead the system has in vnodes is more than offset by
efficiencies in caching and device management.
The raw disk system will be slower than Ace is now with a single
reader, and much slower with multiple readers (as they page out each
other's read buffers, because the pages have been dirtied with the data
read from disk).
There are certain gains you could make in writes, but mostly the
database just reads.
It would be much better to do Read In Place(RIP?), where the
database file is mmap()ed in, object references are given as offsets
from the base of the file and the data is referenced in place.
The system manages your buffer, and it's exactly as big as it can
afford, plus all of the readers share the same buffer and normally don't
need to duplicate the data in the database into their private pools, as
they can refer to it directly.
The effect is that zero copies in memory are made, as you're
drinking from the system's own buffers and it can simply drop your pages at
will, because you haven't changed what it's read.
Henry J. Cobb hcobb at fly2.berkeley.edu, SFB Tyrant-for-life
"Battleships cannot be used as escorts" -SVC
(quite a shock for the crew of the Iowa, I'd wager)