Sunday, 12 September, 2004

Most people in the technology community have probably heard of SQL Server 2000, Microsoft's flagship database, but less is heard of its smaller cousin MSDE. MSDE is a crippled version of SQL Server 2000 that only allows databases up to two gigabytes in size and contains a performance throttler known as the workload-governor. MSDE was originally designed for two groups of people. Those who wanted to prototype systems that would eventually be upgrade to the full SQL Server or those who wanted a local database store that was SQL Server compatible.

In my opinion, the workload governor was counter-productive because it was an overly complicated way of throttling MSDE. It just created unnecessary confusion as no-one was really sure when the governor would kick in. This is illustrated by the varying accounts given of the work-load governor on many sites. Some sites tell you that it kicks in after five users connect to the MSDE, some say eight users but the truth is that the governor actually kicks in when eight concurrent workloads are processed simultaneously. So you could have ten thousand users connected at once but if only seven workloads are being processed at any one time you can safely use the MSDE without a performance hit. The complexity of understanding the governor meant that people didn't bother using the MSDE when they could have gotten away with it and instead used other products like mySQL. This is a situation that Microsoft clearly want to avoid.

In 2005 Microsoft is releasing a whole range of products one of which is SQL Server 2005. In the areas in which Microsoft are forced to compete Microsoft often produces its strongest products and SQL Server 2005 is no exception to the rule. In fact, Microsoft's strategy regarding SQL Server is pretty ingenious.

The market for database is essentially divided in two, there's the enterprise database and the there's the non-enterprise databases. Products like mySQL and Microsoft Access belong to the non-enterprise database group and products like Oracle 10G and SQL Server.

The next version of the MSDE will be called SQL Server 2005 Express. Like MSDE it has a large subset of the feature in SQL Server 2005. It has stored procedures, views, transactions, triggers, cursors and the ability to attach .NET assemblies directly to the database. It also inherits the performance throttling from MSDE but the nature of the throttling is mucher simpler than that of MSDE. They've made the smart move of dumping the workload governor and putting in its place the constraints that a single database can't be bigger than four gigabytes and the database engine will only utilise a single CPU. Another welcome change is that Express will also include a visual management tool called Express Manager. In the past the only way to administer MSDE was with the OSQL command and trust me when I say that it's a real chore to configure MSDE databases using that tool. Replication is still included but it is cut down such that you can only subscribe to full SQL server instances. DTS has for the most part been removed but in its place there is a new feature called XCOPY that allows easy drag and drop deployment of Express databases.

It's clear that Express is designed as a tactical strike against the likes of MySQL. The constraints set on Express are enough for the amateur web-site or small business intranet ' the kind of customers that MySQL has the greatest appeal to. When the time comes that to upgrade the process is very easy because Express is part of the SQL Server family. In contrast there isn't a clear upgrade path for MySQL in that if you need transactions, cursors, triggers and the like then you need a different product.

What makes the fight even more interesting is the fact that Sybase have recently released a trial version of its flagship database. It has similar performance constraints to Express in that it allows two gigabytes of RAM, a single CPU and five gigabytes worth of data. This version only works on Linux so while it isn't a threat to Microsoft it is a threat to MySQL.

It looks like the start of a real database war and MySQL looks like it will be the biggest loser in this war. There is a chance that the shear number of deployed applications that use MySQL and the general reluctance to change a working product will be enough to ensure it's market share doesn't decrease. At any rate, I'm looking forward to seeing what the big database companies offer up! It's all pretty exciting.


23:46:30 GMT | #Randomness | Permalink
XML View Previous Posts