Pages

Tuesday, December 23, 2008

Database Servers

Recently I initiated an upgrade of the database servers at work.  The back-end we use for our application happens to be Sybase, version 12.5.

The are several reasons for the upgrade, but mostly to add the enhancements that come with a later version of Sybase.

I have a few words about some of the servers I've worked with.




Oracle
Oracle:

I spent several years learning the back end of Oracle - the deep doctrines, the language, etc.  It's a fantastic server; fast, robust, efficient, and it doesn't lack for tools.  The application I supported ran on Oracle, and it truly tested the database server's limits.

The immediate hang-ups with Oracle are pretty obvious.  They have their own flavor of SQL.  It's not totally different, but different enough to make the transition from ANSI SQL rough.  In order to get the cert's from Oracle, you have to be able to structure your queries in both ANSI, and Oracle SQL.  Sure it supports several of the ANSI commands, but the fact that they've chosen to use a proprietary flavor of SQL says a lot.

Their pricing model is... well... ugly.  It's an extremely expensive database server, but in many cases, it really is best suited for the job.



SQL Server
SQL Server
SQL Server:

Like most applications Microsoft creates, it's very well thought out.  There are several advantages SQL Server gives you.  Stored procedures are easily created, it's very scalable, and the server itself isn't nearly as expensive as Oracle - when used on a very large scale.  It also can easily be used for multiple tasks (the keyword is easily).  If you want a simple desktop application, a database server for your web app, any robust network app, SQL Server is a great Database server.

The biggest drawbacks to SQL Server generally come as a result of having to use Microsoft's products to create applications to work well with the server.  I know there are hacks out there that enable SQL server in different ways, but let's face it, It was designed to work in it's own eco-system - or Microsoft's eco-system.


MySQL
MySQL
Because of my history with web development I decided to say a little about MySQL.

First of all, I love this server.  There's not a lot to the server, but as a result it's very fast.  A good majority of web applications run on MySQL.  It's priced very well for supported commercial use, and it's priced extremely well for non-supported use (free).  Because of it's eco-system, utilities are EASY to find, and there are a ton of innovations out there that make it a great tool of choice.

Some may argue you don't get quite the synergy with MySQL and desktop applications you do with others.  It's true, but one needs to analyze the intent of their applications.  Does one REALLY need a hugely robust application?  The way of the world is migrating to open standards - not proprietary methods.



Sybase
Sybase
Sybase:

I have to mention Sybase,  because the applications I work with run on Sybase.  Sybase seems extremely antiquated compared to other DB servers (at least the implementation of it I support is).  Sybase is a good server that is widely used.  It seems to be robust, and I'm sure it's benchmarks are pretty good.  It's very difficult to find universal tools that work well with Sybase.  It's not as easy to administer as other database applications,  but it's very flexible.

My primary complaint with Sybase is it lacks a certain amount of automation.  The servers' initializations could be a bit more automatic.  Just like Macintosh finally automated their memory management with OS X, Sybase should automate a lot of their initializations, and routine real-time functions.  I'm sure they have reasons, but the app doesn't seem to have evolved with the rest of the world. (Sybase isn't the only DB server guilty of this).

Database servers are fun, but there are reasons people are paid a lot of money to manage them.  I've seen guys spend a lot of money and time to learn their supported servers.

A word of advice to the wise - If you're going to specialize in a DB server, make sure it's a server that's likely to be around in 10 years.  I hate to say it, but in most cases those are going to be the open source servers.

No comments:

Post a Comment