Re: CODE: Programming project required

From: James Rogers (
Date: Thu Jan 25 2001 - 18:43:12 MST

At 11:47 PM 1/25/2001 +0100, Eugene wrote:

>James, as a professional, what is your assessment of recently released
>MySQL 3.23 as compared to Oracle and other (OpenSource) competitors?

MySQL isn't in the same class largely because it was originally designed
with very different goals, and the current code base reflects this. MySQL
was designed to be lightweight, fast, and simple. It was not designed to
be a large-scale robust database, and this is reflected in the internals.

The biggest problem is that MySQL lacks a proper kernel, though I won't go
into details regarding specific deficiencies. As Monty will tell you,
there is no one on the team really qualified to develop a proper database
kernel. Therefore, the existing kernel is amateurish in a large number of
respects and takes some rather naive approaches to scalable and robust
design, or in many cases, it doesn't even attempt to be scalable. The
result is a chimera that has been jury-rigged together and extended in ways
that no one foresaw, and shows a lack of foresight in general. Some of the
hacks, though correct in the context of the source tree, are so inelegant
that it should be criminal. They've been clumsily gluing in third-party
code to try and extend the capabilities of the engine (e.g. the SleepyCat
code), but this has limits. This is my primary reason for having a rather
negative outlook on it.

However, this could be solved by having a few qualified software engineers
design and build a scalable and complete database kernel from the ground up
and then porting the SQL layer to it. A well-implemented and full-featured
C language kernel that is enterprise-ready typically weighs in at 20-30k
LoC (I've seen super-clean and elegant ones as small as 15 kLoC) and could
easily be done by a few competent software engineers with experience in
this domain within 6 months, though it would take a little time for the top
layers to catch up with the bottom layers.

My two cents...

-James Rogers

This archive was generated by hypermail 2b30 : Mon May 28 2001 - 09:56:25 MDT