Systems Engineering and RDBMS

  • Click Here for Decipher's Homepage


  • Categories

  • Questions?

    Please send your wish list of things that you would like us to write about or if you have suggestions to help improve this blog site. You can send all questions/suggestions to: Blog Support
  • Archives

  • Blog Stats

    • 7,606,273 Views

Mirror, Mirror on the Wall, which is the best RDBMS of all?

Posted by decipherinfosys on February 19, 2007

We get this question a lot from our clients. Since we provide consulting in all three leading RDBMS in the world –> Oracle, MS SQL Server and DB2 LUW, there is a very frequent question that is posed to us about which RDBMS do we think is the best of all. Other names like MS Access, MySQL, Postgress, Sybase and Informix get thrown into this mix as well but generally the discussion centers amongst the top 3 that are mentioned in the beginning.

Well, personal preferences aside, the answer is: “It Depends” 🙂 Yes, the (in) famous IT answer to everything. Well, we believe that is the fair answer as well in this case. It really depends upon a lot of things. There are database developers or DBAs who are fanatics about which one is the better RDBMS – but at the end of the day, it is the business that drives it. If we can implement a system for a client using even MS Access and do it such that the business is successful and can keep it’s operating costs less, then why not do it? For Tier -1 clients, however the throughput needs are much more and hence smaller (perceived) RDBMS don’t cut it for them. Another reason why the answer is what it is is also because if you do not have the necessary people to support the system and do not have that skill set in house, what’s the point in increasing your operating costs when you can make-do with what you have. The business is what should really be driving the decision. If it demands that you need to have Tera-byte data in the database with tons and tons of concurrent users, one needs to carefully evaluate which RDBMS will fit your needs. Each RDBMS has literally thousands of features and functions. If you only prepare a checklist for comparison sakes, you will notice that that feature is implemented in all of those, however, how they have implemented that feature is what makes them different. It is this “internal” implementation knowledge that becomes the key differentiator. This only comes with experience – been there, done that, seen that.

For an example, Oracle’s multi-version concurrency model is unique to them and it is an excellent feature. MS SQL Server 2005 does allow that by using snapshot isolation level but it’s internal workings still have a bit of an overhead over the way Oracle does it. The concept of a lock manager in SQL Server and DB2 LUW versus the locking at the block level concept i.e. the absence of a lock manager in Oracle is very different. So, even though on a piece of sheet, one can say that they all support row level locking, how it is implemented and how it effects the applications is very very different. Here is our take on the existing leading RDBMS in the market:

  1. Informix: IBM bought it and is no longer promoting it. It is favoring DB2 over Informix. It is a great RDBMS and very scalable.
  2. Sybase: They are on a decline and have been losing market revenue every year. Unless it is a legacy system (and most of the companies are now migrating those to one of the three (Oracle, MS SQL Server and DB2 LUW) now, it really doesn’t have much future for the new applications.
  3. DB2: With Viper, IBM has improved the product a lot but it still has issues especially centered around concurrency when it comes to highly transactional applications (we have specifically seen those issues for applications written with Oracle’s multiversion concurrency in mind and then ported over to DB2…those are not a direct port because of lock/blocking issues and require a major change). The volume of the data is not an issue in DB2 and neither is the language/functionality support within the product – the engine also handles the load well but when it comes to the Oracle ported applications which were architected under the assumption of the multiversion concurrency being available in all RDBMS, without a major re-write, the application doesn’t scale very well. However, if the applications are built specifically with DB2 in mind, it works very well by tuning the knobs and configuring it correctly. It does have a very powerful SQL/PL language and a good set of tools and utilities available.
  4. MS SQL Server: With their latest offering : SQL Server 2005, on the Windows OS, they are the kings. Both Oracle and IBM don’t stand a chance of ever taking that market share from them. This product is rock solid and is laden with feature functionality that brings it very very close to Oracle. The drawback though is the OS itself since SQL Server runs on only Windows. It has very rich set of tools that makes configuring it a breeze and keeps the costs low. It is very well documented and is very well supported by newsgroups, end users and MSFT forums.
  5. Oracle: Most scalable, most feature rich, and just a wonderful RDBMS. However, it is also the most expensive. Runs on LUW and has the most powerful PL/SQL language. As compared to SQL Server, it is still very cumbersome to configure and tune it but Oracle 11g is addressing some of those issues like automatic memory management. In addition, the GUI tools could be improved upon – they are much better in 10g but we hope that Oracle will improve upon them further in 11g. That will make administration easier.

In addition, you need to look at your hardware costs and the skill set of your in-house staff as well as the kind of application you are building. If you are building up an application that needs to run on multiple RDBMS, make sure that that application has been architected for the lowest common denominator i.e. the RDBMS that is the most restrictive of all else you will be in for a surprise when you do a port from one to the other.

One Response to “Mirror, Mirror on the Wall, which is the best RDBMS of all?”

  1. […] Mirror, Mirror on the Wall, which is the best RDBMS of all? You do not expect an answer from the Mirror “It depends” because anyone trying to be diplomatic will answer that way. Well, at least they say that Oracle is most scalable, most feature rich, and just a wonderful RDBMS. […]

Sorry, the comment form is closed at this time.