From  CertCities.com
Column
SELECTions
A Decision More Difficult Than the Presidency
SQL v. Oracle: How do you decide?

by Damir Bersinic

12/12/2000 -- I have to admit that when teaching an Oracle class, the one question I dread the most is "Which is better: SQL Server or Oracle?" This is the proverbial $64,000 question and the answer is not an easy one to give. With the recent top performance of Microsoft SQL Server 2000 on the TPC-C benchmarks (http://www.tpc.org/new_result/tpcc_perf_results.asp), many more of my clients are considering whether they should switch from Oracle to SQL Server 2000, while many new ones are asking for advice on which of these competing databases to choose to run their business.

The Technical Angle
In comparing SQL Server 2000 and Oracle from a technical perspective, one can do a feature-by-feature comparison, which, quite frankly, doesn't really mean much in the end. There are things that each does better than the other, and there are things that each to equally well. The real issue is can the database do the job? On the flip side, how big the job is and what is needed is just as important. Both Oracle and SQL Server 2000 will do the basic chore needed of a database -- manage data. Where they differ is how they manage large amounts of data and what operating system and hardware platforms they run on.

In releasing SQL Server 2000, Microsoft took dead aim at Oracle. One key feature is the capability to run more than one instance of SQL Server 2000 on the same machine so that memory and other resources can be properly allocated to those databases the need it. Although SQL Server 2000 and Oracle still differ in the fundamental architecture of their respective products (Oracle instances manage resources tied to one database only, whereas SQL Server 2000 instance can manage memory and other resources for more than one database at the same time), the capability to have more then one copy of SQL Server 2000 on the same machine allows SQL Server 2000 to be more "Oracle-like."

Data Partitioning: Microsoft Leaps Ahead
The biggest leap forward made by Microsoft with SQL Server 2000 has to do with partitioning of data. This is an important factor in very large database (VLDB) environments where the amount of data is several tens of gigabytes or more. Oracle 8i provides for sub-partitioning of data by ranges and hashing; however, the disk drives on which the partitions are stored must all be attached to the machine on which the instance is running. To spread out the work of retrieving data from these partitions, Oracle Parallel Server can be used to allow more than one instance to access the database, but both instances must share the same disks.

SQL Server 2000 implements partitioning by means of federated databases. This means that a portion of the data to be partitioned (e.g. customers) resides in a table on a separate SQL Server 2000 computer (e.g. the New York customers are on the New York server, the Chicago customers are on the Chicago server, etc.). Each of these SQL Server 2000 computers knows about the others by adding them as a linked server. To allow any user on any of these servers to get a complete picture on the federated table, a view is created which performs a UNION of all the tables on all of the servers. In performing the UNION operation, each of the SQL Server 2000 computers performs part of the work to satisfy the query (e.g. applies the WHERE clause to data on its server) and sends the SQL Server to which the user is connected its portion of the data. That SQL Server then combines the results received from each of the servers in the federation and returns the result set to the user. From the user's perspective, everything came from the server she was connected to, but much of the work got parceled off. This is why SQL Server 2000 won the TPC-C benchmark mentioned earlier - many machines can work to satisfy the same query, thereby increasing the raw processing power available.

Platforms: The Oracle Edge
Aside from partitioning and architectural considerations, a technical consideration has to be the platforms that these products run on. SQL Server 2000 only works on Windows-based platforms, including Windows 2000, Windows 9x, Windows NT and Windows CE. Oracle 8i runs on Windows-based platforms as well as many Unix variants, including Solaris, HP-UX, AIX, and many flavors of Linux, plus others.

The question then becomes: Which platform do you trust your data on? Although Microsoft has made great strides in making the Windows platform more reliable with Windows 2000, there are far more Unix system administrators that can state with conviction that their systems have not had to be rebooted in months than Windows NT administrators making similar statements. In all fairness to Microsoft, Windows 2000 Datacenter Server is designed to make Windows more reliable by ensuring any vendor of that variation of Windows 2000 must guarantee a 99 percent up-time. Perhaps Windows 2000 will be a mission-critical platform after all.

An Oracle shop needed to purchase licenses for several thousand users. They asked Oracle for pricing on the licenses and were told that it would cost them several million dollars. Not only was SQL Server 2000 cheaper, the price quoted was less than 10 percent of what Oracle wanted to charge them.

However, like I said before, we can compare technical elements of each product for a very long time. Realistically, where SQL Server has an edge today Oracle will introduce new features in Oracle 9i and future releases later. Most organizations today really don't run very large databases so the key points on which SQL Server 2000 won the TPC-C benchmarks don't really matter to the vast majority of companies. The truth is, technical factors are only one part of the overall equation that would make a company choose one database product over another. Some of the key reasons for picking Oracle over SQL Server, and vice versa, are not technical at all - they are business issues.

It Always Comes Down to This...
In a recent SQL Server class that I was teaching, a student related to me the reason that his company decided to make the switch from Oracle to SQL Server 2000. Their decision was not technical at all, but something far easier to understand: price. He told me how his company, an Oracle shop for a rather long time, needed to purchase licenses for several thousand users to run their enterprise resource planning (ERP) and other applications that required a database back end. They asked Oracle for pricing on the licenses and were told that it would cost them several million dollars to acquire a sufficient number of licenses for the hardware they intended to run their Oracle databases on. After recovering from sticker shock, they wanted to get a second opinion and asked Microsoft for pricing on the same number of SQL Server 2000 licenses. Not only was SQL Server 2000 cheaper, the price quoted was less than 10 percent of what Oracle wanted to charge them. That was it: They made the switch right then and there. Assuming all the costs of conversion, their costs for SQL Server 2000 would be less than half of what comparable Oracle licenses would cost.

But price is only one consideration. Other factors that need to be considered are things such as training costs, current staff competencies, platform stability, applications to be used and many more. You should also not forget medium- and long-term strategic direction for your IT infrastructure, as well as general comfort with the product and the vendor. Basically, the things that often sway us to decide on a product are rarely technical, but rather the business and human factors in the decision.

So, should you switch to SQL Server 2000? That's something I can't answer for you. You'll need to make a list with the pros and cons of each product, and then choose. It will probably take longer to decide between SQL Server and Oracle than it takes to elect the President of the United States!

Have you gone down this road, or are you in the process of making a database decision? Send me an e-mail at and let me know what factors you used in your deliberations.


Damir Bersinic is an Infrastructure Consultant with Trecata Corporation, a systems integration consultancy in Toronto, Canada. He has more than 20 years of industry experience and has written a number of books on Oracle, Windows, SQL Server and Active Directory. His most recent book is "Portable DBA: SQL Server" from Osborne McGraw-Hill. He is also an Oracle Certified Professional (DBA), MCSE, MCDBA and MCT. He can be reached by e-mail at .

 

 

top

Copyright 2000-2009, 101communications LLC. See our Privacy Policy.
For more information, e-mail .