CertCities.com -- The Ultimate Site for Certified IT Professionals
Register today for a Free Sponsored Tech Library Webcast and you could WIN! Share share | bookmark | e-mail
  Microsoft®
  Cisco®
  Security
  Oracle®
  A+/Network+"
  Linux/Unix
  More Certs
  Newsletters
  Salary Surveys
  Forums
  News
  Exam Reviews
  Tips
  Columns
  Features
  PopQuiz
  RSS Feeds
  Press Releases
  Contributors
  About Us
  Search
 

Advanced Search
  Free Newsletter
  Sign-up for the #1 Weekly IT
Certification News
and Advice.
Subscribe to CertCities.com Free Weekly E-mail Newsletter
CertCities.com

See What's New on
Redmondmag.com!

Cover Story: IE8: Behind the 8 Ball

Tech-Ed: Let's (Third) Party!

A Secure Leap into the Cloud

Windows Mobile's New Moves

SQL Speed Secrets


CertCities.com
Let us know what you
think! E-mail us at:



 
 
...Home ... Editorial ... Columns ..Column Story Sunday: January 31, 2010
TechMentor Conferences


 SELECTions  
Damir Bersinic
Damir Bersinic


 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 .

 


More articles by Damir Bersinic:

-- advertisement --


There are 39 CertCities.com user Comments for “A Decision More Difficult Than the Presidency ”
Page 3 of 4
10/25/01: Mike says: Until Microsoft changes the way its operating systems handle memory and i/o, sqlserver will have a glass ceiling. I would be interested to hear more from Damir on how sqlserver's "optimizer is tweaked" for federated databases that give it such an advantage over Oracle's db_links. Alot of people seem to be jumping on the federated database solution, didn't anybody learn from the client/server failure that more servers means more expensive? As far as one being better than the other, it depends on what you need them for. Sqlserver works great for workgroup type applications, for mission critical applications I would use Oracle or DB2.
1/19/02: Andy says: Hey Frank P. that is the most blatant outright bald face misinformation I've read in quite a while. Just go use SQL for once and the fog your lost in will quickly dispel.
3/28/02: Mike says: When SQL Server has read consistancy like Oracle then well talk. Until then it is just a wannabe RDBMS.
5/21/02: Samer says: Hi all.. Well i don't care what u say about the wonders of Oracle.. I've been managing databases (Large ones) of nearly 80 Giga bytes each for about 3 years now with Ms-SQL server (7 and 2000). My servers are DELL quad processors and i don't realy remember the last time i rebooted a server.. guess it was 2 years ago or so..:) realy. I've thousands of clients .. No problem all the time.. no problem.. In a word.. GO for SQL 2000... try and see. Thanks.
6/3/02: Andre Vandal says: Samer, there's nothing in the world that will convince me that a box running a MS operating system did not need to be re-booted after a year. I sneeze around our WIN2000 servers and they need to be re-booted. In my 12 years of experience, I’ve never seen a software so UNRELIABLE as MS operating systems. Now I know this is not an OS issue, but when Oracle is forced (clients insist on it) to run on that platform, it becomes an issue. It won’t perform as well and will not be reliable. It is like having to work with one hand tied behind your back. Our product is delivered on the Oracle database. The only platform that I strongly recommend is a Unix based. 100% more reliable. Since SQL Server cannot run on it, Oracle is the best solution out there. From expirience, if you are looking for a serious database, Oracle is the answer. You get what you pay for.
7/3/02: Bill ThinkAgain says: You also have to consider WHERE the database will reside and WHAT drivers are available for the software developer. While I can imagine an Oracle database on NT or XP, i can't imagine msSQL on a Solaris. Furthermore, Java is ubiquitous on the server side, but msSQL's java drivers pale in comparison to Oracle drivers. And being associated with VB just makes me feel like vomiting. Yuck.
7/17/02: DVY says: If you've got issues with Win2k stability, don't run your mission-critical apps on boxes your kid builds from CheapParts.com. As Samer said, Win2k on Dell server boxes (what I recommend) is incredibly stable. As for the points that Frank P. made, I could make as many against Oracle. Do they really matter? Are you interested in marketing points, or what YOUR app will do in YOUR implementation with YOUR money? That's the point of the article. So Oracle users get stale data instead of waiting for the update in progress, and then they get WRONG data!? You could use locking hints to bypas write locks. And try PINTABLE if you want to force caching a table. Range partition a table? It's called separate tables and a UNION view. The query optimizer even ignores tables you don't need to read based on your WHERE. Missing objects? SQL can do the same things, though. More than 1 way to skin a cat. Planning on moving the DB to another DBMS? Just don't use non-ANSI language. Planning on using SQL for the lifetime of the app? Use the extensions and the ease they allow. A JAVA DB engine? Don't make me laugh! Yeah, I'd really want my DB engine to be running on a software abstraction of some mythical operating system instead of an OS that's compiled and optimized for the CPU. That'd really boost performance (snrk). Procs aren't compiled until run because objects and optimization may change before then. Once run, SQL caches the optimized execution plan (not only for procs, but ad hoc queries). Need to open external files? Plenty of ways. Try external procs for one. Lastly, SQL Server doesn't imply VB, and VB doesn't imply SQL Server. I can write a VB app for Oracle. I can write Cpp components for SQL. Heck, I can write Javascript on an Apache server against a SQL Server and Oracle. The only thing that should matter about front-end language (from a DBMS choice) is, "How easy is it for my developers to get the data the users need, fast?" To paraphrase Dennis Leary, SQL Server is knockin' on your door, and I think it's comin' in. Most of the arguments I see here against it are ignorance of the current version and regurgitation of Sun and Oracle marketing FUD.
8/12/02: Eric says: In the increasingly bottomline-conscious playing field, the element of price asserts dominance while other variables diminish in terms of importance. For smaller & middle size entities, many of them operates on a stand-alone basis and the cost savings offered by SQL Server is definitely attractive. Bigger corporations might need to integrate into a larger global network and thus, still need to plug into the open platform offered by Oracle.
8/24/02: Anonymous says: not so good
10/2/02: scott says: how about DBA, SQL server do not need DBA. it will save the cost
First Page   Previous Page     Next Page   Last Page
Your comment about: “A Decision More Difficult Than the Presidency ”
Name: (optional)
Location: (optional)
E-mail Address: (optional)
Comment:
   

top