Hi,
I've been going through the source tree (pretty nice, BTW) and have
found a number of things I'd like to work on. My primary interest is in
adding performance and scalability features to the underlying engine.
However, one thing I haven't found is a roadmap/schedule for major
architectural features i.e. while some of the features could be
incrementally hacked into the current source pretty transparently,
others might generate a bigger footprint. I guess what I am wondering
is whether there is any kind of quasi-official mechanism for putting
certain features in certain future versions depending on the nature and
significance of implementing those features and the number of things it
touches.
Features I am interested in working on in the relative short-term:
* Buffer Management - A more optimal/adaptive cache replacement algorithm - Use of fine-grained adaptive latching to
increaseefficiency on SMP systems (particularly 4+ processor systems) - Add a background cache writer process to
opportunisticallyflush dirty buffers
* Heap Organization - Hash partitioned heaps - BTree organized heaps
While these should generate some performance improvements on smaller
databases, more important to me is that it will go along way to making
it scale more like Oracle when dealing with very large and active
systems (my current problem). It has been a few years, but I've done
implementations of most of these features in software before.
So I guess I have two questions:
1) Does anyone object to me working on these two areas?
2) What version target should I realistically be shooting for?
Cheers,
-James Rogersjamesr@best.com