We are evaluating PostgreSQL for a possible port to our
proprietary hardware platform. The hardware is a very
high end (processing power, I/O throughput, storage capacity)
storage system, attached to a host machine running Windows2K.
The question is what's the right way to do it. The following
is a brief description of what we think could be done, we would
like to know your opinion about whether we are on the right
track.
The plan is to extend PostgresSql with data access functions
to be executed on the storage hardware. Most of the backend
code would be running on the host machine under Win2K, but
user data queries would be dispatched to the storage system,
where the user tables will be searched and then the results
will be returned to the host.
On the host, most the PostGreSQL will run unchanged, including
the front end, the backend servers: the parser, planner, catalog,
and the executor. The existing heapam interface is still used
to access system tables. The system tables will be stored and
accessed using the existing storage functions from files into
the host machine memory and accessed through the buffer cache
on the host machine.
For user tables, the plan is to modify all the components that
call heapam interface (mainly Command and Executor) for user data
to call a new 'extended heapam', which basically has the same
interface of the heapam but will send the request to the storage
system. Page/record locking will also be changed to call the
extended heapam.
We would like to get your feedback about this aproach - are we on the
right track or is it a waste of time?
Hsin H. Lee
Pyxsys Corporation
142 Q North Road
Sudbury, MA 01776
Tel: 978-371-9115 ext. 116
Email: hlee@pyxsys.net