Monday, September 3, 2012

Sybase ASE vs MS-SQL Server

In a nutshell:
1984 - Sybase founded and creates first RDBMS designed for online transactions.
1990 - Sybase entered into a technology sharing agreement with Microsoft which resulted in Microsoft marketing its own SQL Server. Microsoft releases SQL Server 1.1 for OS/2 with the engine of Sybase SQL Server
1993 – SQL Server 4.2 for NT was released with Microsoft taking more control
1994 – Sybase and Microsoft split ways
1995 – SQL Server 6.0 is released; the first version without direct Sybase involvement. It was very, very bad (much like Sybase 10).

Skip a bit and we’re up to Sybase ASE 12.5 and MS SQL Server 2000.

From a DBA standpoint it’s no wonder MS SQL is easier to configure and maintain. I would probably create a little chart like this:
Difficulty to Administrate/DBAs needed
Hardest <-- ... --> Easiest
Oracle -- -- Sybase -- -- MS SQL Server -- -- MySQL -- Access

MS SQL Server is certainly not the easiest to administrate, but anyone who could consider themselves an ‘Intermediate’ to ‘Advanced’ skill level would have no problem installing SQL Server and setting up their first database. Granted it won’t be the highest performance install (since there are parameters to tune if you get in to it, design choices to make for where to place the index and file data, etc.) but if you’re just mucking around you’ll be fine.

SQL Server does retain most of the Sybase heritage in terms of clustered indexes, locking schemes (internally I think SQL Server’s table, page, and row locks are the same as ASE’s) and T-SQL.

SQL Server only runs on the NT/2000/XP platform whereas ASE runs on Solaris, Linux, NT/2000/XP, Unix, etc. etc.

ASE supports Java-in-the-database and integrates nicely with J2EE-type portals. SQL Server (due to MS hating Sun) has no Java capability but provides instead replication and full-text indexing.

ASE has a Replication Server (which is far better than MS's replication) and full-text indexing (which again is better) but costs a substantial sum of money. For me, I’d rather take MS’s less powerful but free versions of both since Replication Server (for Sybase) costs a TON of money. Full-text search doesn’t cost much but it sometimes can be too powerful (e.g. wasted since we don’t need that much functionality).

Both support XML but in two fundamentally different ways; XML in SQL Server is built-in whereas ASE requires a Java XML plug-in. SQL Server allows you to do something like this:
SELECT …
FROM table
AS XML
Which will return an XML result set. This is useful if you create an ADO record set and set up a XML parser. You can dump the XML very quickly.

I haven’t worked enough with XML in Sybase but Sybase does provide this type of functionality but from browsing the manuals I can see that it first requires you to set up the DTD for the document.

However I can see an advantage in the Java-based in that if there are bugs or new functionality all you have to do is install a new class file whereas with SQL Server you will have to wait for a service pack or the like. I suppose if you really wanted to you could use your own XML engine in Java and plug that into ASE yourself.

No comments:

Post a Comment