Wednesday, December 20, 2006

Now that it's forked ...

Now that the MySQL code base has been forked into Enterprise and Community editions, and things have had time to sort themselves out somewhat, it looks to be pretty much business as usual. The community is as lively as ever in the forums, code fixes are still being pushed to the community tree, etc. There are a few complainers but it seems that you can never please everyone and someone will always find something to beef about. I have been watching the BitKeeper sources, pulling and building nearly every day. Version 5.0 jumps two or sometimes three revisions at a time, I have the strong impression that the skipped numbers have to do with the Enterprise edition. I have not seen any Enterprise source, and I am curious as to when and where this will be available. I also see a lot of activity in 5.1 and some work on 4.1.

Those who need frequent and timely bug fixes basically have two options: subscribe to the Enterprise edition or learn to build from source. Building from source is not rocket science, at least in the Linux world, and I feel it's worthwhile learning how to do this if one wants to be truly proficient and knowledgeable with MySQL.

From my perspective it's pretty much business as usual.

Friday, December 08, 2006

Selecting a Database

When people are comparing databases and trying to select the correct one for their application, it is a very complex and confusing process. There are many factors, price being not the least of these. Some would opt for a closed-source product because of the extra bells and whistles it offers. I have to say that some of these extra features may represent security risks, or simply a database trying to take on functionality better performed at the application layer. There is a certain argument to have all of your business logic embedded in the database as it certainly eases the burden on the application programmers. But it can allow them to become sloppy, or to allow the database to be exposed directly to the users without even an application layer to protect it, counting on the database to protect itself. In some cases this comes at a price, sacrificing speed for security, when some fairly simple application coding could have implemented the same security and retained the speed. Granted some things are better done in stored procedures than application logic, and it's worth running some tests to see which is better, or considering moving the logic to the database if it is performing poorly in the application.

Price, too is a consideration. With open source, you can test the functionality without an initial investment before opting for a support package. Then, when the decision is made to purchase support, MySQL sweetens the deal by offering the Enterprise package, with some extra functionality just for the paying customer. True, it is new, and has some issues to be worked out, but it is a marvellous concept, and I am curious to see some indication of how well it is selling. As I have stated before, perceived value is an important aspect to some people, the 'bang for the buck' principle, and this new offering caters to that.

Sometimes it is a mindset issue, and I have to say I have been guilty of this at times. It is very easy to move into a new situation and recommend the familiar tools that one is familiar with, even if this means a capital outlay for the new employer. I have done this, and also had this done to me by others, so I can't be too hard on them. Open source requires an open mind in a lot of ways. I see many ingenious solutions to problems. I also see these rejected at times by those of narrow perspective continuing to try to develop solutions in this new environment using guidelines and experience drawn from elsewhere.

Not that experience isn't valuable, but the spirit of innovation must prevail, and a willingness to accept change. Also sometimes one must consider that perhaps the familiar closed-source product has rather bent the standard and changed the rules, so that suddenly finding an environment where these rules are enforced, and with increasing strictness, can be a shock to some. Some complain of this behavior, calling it wrong if familiar code won't execute because it took advantage of an extension previously available.

Sometimes this failure leads to a decision to return to the closed-source world, despite all the good advice on how to adapt.