|
|
|
|
|
|
|
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 independent consultant, trainer, and author of Oracle 8i DBA: SQL & PL/SQL Certification Bible (ISBN 0764548328), Oracle 8i DBA: Architecture and Administration Certification Bible (ISBN 0764548174) from Wiley & Sons, as well as a number of titles on Windows, Active Directory and SQL Server. He holds several industry designations including Oracle OCP DBA (in 4 Oracle versions), MCSE, MCDBA, MCT and CTT+. He can be reached at .
|
|
|
|
More articles by Damir Bersinic:
|
Post your comment below, or better yet, go to our Discussion Forums and really post your mind.
|
|
Current user Comments for "A Decision More Difficult Than the Presidency "
|
12/26/00 - Jose says: |
When writing about Data Partitioning I think the autor has forgotten the possibility of creating a database link in Oracle. Oracle allows database links for a long time, and you can connect databases, running on diferent machines and different plataforms, and exchange data in the way written in the article for SQL Server. If you don't like database links, you can use replication in two aways: synchronous or asynchronous. Comments welcome |
12/26/00 - Damir says: |
Jose, I did not forget about database links. However, they do not preovide the same functionality as a federated database in SQL Server 2000. The way the optimizer is tweaked and used in the SQL Server 2000 scenario is not something that Oracle is capable of today. I believe that it is something we might see in 9i. Thanks for your input.....Damir |
1/10/01 - Jim says: |
One of the biggest advantages of SQL Server 2000 not mentioned in the article is the tight integration with Active Directory, allowing for a single security database. I suspect that dual certification MCSE/MCDBA will become very popular once the SQL 2000 exams are released (70-028, 70-029). The savings in admin salaries could be substantial. The tight integration with the OS also makes high end features like failover clustering affordable for smaller companies. I suspect that Oracle and other Microsoft competitors like Novell have a lot to worry about. |
1/26/01 - Michael says: |
I think the only question to answer is: How critical is your data and what kind of up time does your organization require? If you need availablity you are going to choose UNIX and Oracle, regardless of the cost. Just like when you have cancer...you really dont give a damn what the doctor charges as long as your healed. On the other hand if you can handle running Windows as your OS and dont need the extra availabilty, flexibility and recoverabily Oracle provides definately go with SQL Server 2000 and save your money. Just keep in mind that SQL Server only runs on Windows and it has not had the time to prove its self in the real world. (Sorry Microsoft your Marketing machine is the best but it doesnt have a time machine) The only thing SQL Server 2000 has is some lab tests saying that its slices and dices, but lab tests are not always a good indicator of real performance. Read the white papers and see if the equipment matches your companies...I bet it doesnt even come close. Just remember, Oracle is expensive but you get what you pay for. |
2/16/01 - austin says: |
l want the past examination question paper.at present am studing oracle client&server application.am find bit,difficult to understand.lf there is way,you can email previous or pass question paper.because l want to take examine,to be certified. |
3/9/01 - James says: |
SQL Server is better from the technology perspective. Oracle is better for the resume. |
3/16/01 - Francois says: |
No one can beat a good open-source Database like PostgreSQL. lol! Only trying to make you laugh! |
3/16/01 - Winston says: |
Ever called Oracle for support??? What a bunch of no nothing techs. At the absolute least, Microsoft stands behind their work and will help you when you need it most. Oracle? Good Luck, maybe Mr. Ellison should go into BioTech and get out of the con game. |
3/19/01 - Jolanta says: |
I have two simple questions (not enough to put it to forum : SQL statements for: 1. Getting a list of all table_names available for current user. 2. List of all column names and column types for every table. Jola |
3/20/01 - Victor says: |
If anyone out there thinks that Oracle is more stable than SQL Server, their not particularly familiar with the term "core dump (by the way, I got some swamp land here in FL. to sell ya cheap)! The message in all of this is the mere fact that such a debate is possible, meaning that the technologies/benefits of each - with the advent of the upgrades to SQL Server - are now similar enough to even compare at all. This makes the argument of price that much more valid. Sun and Oracle WANT us to keep believing that we must pay thru the nose for their proprietary (Sun) hardware and db (Oracle) solutions. It just ain't so! You get OLAP, OLTP, data mining services, and distributed trx capabilitites out of the box with SQL Server; any additional ribustness from Oracle, and - you guessed it! - you'll pay thru the nose. Probably the primary benefit of the technology inherent in server federations is the implementation of "Shared-Nothing" clustering; Oracle still uses "Shared-Disk" clustering, which places the point of failure right on the shared resource. Using federations (thereby dispersing the data across servers) and "Shared-Nothing" increases the uptime and recovery considerably in SQL Server by spreading out the failure points. |
4/27/01 - trishala says: |
Hello Sir, I am working on a project which deals with around 60 tables and we have been using oracle till now.. after the increase in the license fee of oracle i have been told to look into other databases.. what do you think should be the correct choice after oracle.. is sql server the correct choice? thanks for the help vvv |
5/17/01 - Bill says: |
SQL Server's partitioning is not an implementation of a federated database system. A distributed database is not a federated database system. |
5/18/01 - Ron says: |
Sun H/W and Oracle Licences are now at a level that everyone can consider it. |
5/18/01 - Saleem says: |
From both Technology and economy wise i belive SQL Server is the best bet,. having worked with all the 3 (Sybase,Oracle & Microsoft) Database systems, i belive Microsoft has released a revolutionary database management system which is not just easy to use but easy @ everybody's pockets too.. When it comes to DBMS systems tell me one thing that SQL Server is lacking of.. Michael Ritacco I'd like to know what kind of technical comparisions did you do? and remember TPC.ORG people are not Microsoft People.. they speak on everybody's behalf.. Still i'd like to know what technical difference did you find between both of them.. |
5/22/01 - Deepak says: |
Oracle DBA: I would be amazed if SQL Server has the same functionality, configurability or concurrency performance as Oracle, and the last financials environment I managed had not been re-booted for one and a half years (HP-UX), and the database only restarted for patching requirements ! But is that really the issue these days ? SQL-Server would take over tomorrow I expect if Microsoft wanted to support any other platform, managers find them easier to manage though costs are always higher than claimed - but thats not their [MS'] style, they are going for all out domination in exactly the same way as Oracle - more so in fact because of the platform issue. Oracle's support (UK) I thought was superb, but they may well have shot themselves in the foot with their pricing strategy - yesterday's company ? Going MS now is nothing short of experimental if there are any large or mission-critical type of needs, and you can haggle sun and oracle down anyway. In three years time it might be different, but whether MS really understands connectivity, distribution & Performance/reliability - we've never seen it in their products before. I think it'll be slow coming. I'm happy to be corrected/informed on any point I've made. thx Deepak |
5/23/01 - Anonymous says: |
Roderick, Here is that article on Oracle vs SQL Server. |
5/28/01 - Dave says: |
People need to understand that we are not comparing Operating Systems here, we are talking about Database Systems. if you just compare both Oracle and SQL Server tell me who takes the lead. OFF-COURSE SQL SERVER let's compare this how ? : Few of the SQL Server features include : Data Transformation Services(DTS) Data Mining Analysis Services Closed-Loop Analysis Indexed Views Meta Data Services Office 2000 Integration Web Enabled Analysis English Query Rich XML Support Web Access to data Distributed Partitioned Views Log Shipping, Online Backups, Failover Clusters Multiple Instances of SQL Server on a single O/S Simplified Database Administration Clickstream Analysis Integration with .NET Enterprise Servers Support if VI SAN Full text Search 32 CPU's and 64 GB Ram Support Support for Hand-Held devices Easy Replication These are the few features that Microsoft SQL Server provides. (The list is very long) Let's do a price comparisions : (For Enterprise Editions) CPU MHz Oracle(Ent) SQL Server You Save _________________________________________________ 1 550 $55,000 $19,999 $35,001 2 700 $140,000 $39,998 $100,002 2 1000 $200,000 $39,998 $160,002 4 700 $280,000 $79,996 $200,004 4 1000 $400,000 $79,996 $320,004 8 700 $560,000 $159,992 $400,008 8 1000 $800,000 $159,992 $640,008 16 700 $1,120,000 $319,984 $800,016 32 700 $2,240,000 $639,968 $1,600,032 32 1000 $3,200,000 $639,968 $2,560,032 One of the best thing about Microsoft is it provides Free Analysis Services bundled with SQL Server. can Oracle think about it? Please visit TPC.ORG for performance benchmark. One more thing i'd like to point about Microsoft is they keep releasing updates/service packs. what about Oracle? they have numerous bugs in their product but do they release any service packs like Microsoft.? NO THEY DON'T. Oracle needs to change the way they think about the market, they need to think like Microsoft Nemourous features and low price.. Check out the following link : http://www.microsoft.com/sql/evaluation/compare/TCOAberdeen.doc Oracle has been offering $1 million for guranteed web site performance (I don't know if they still have that offer or not) which had many strings attached to it like : While this offer was intended specifically for SQL Server and DB2 customers, the proposed metric for performance, "Web pages viewed per second," is a function of Web caching technology and has little to do with database performance. Customers must purchase all products and services recommended by Oracle under "standard terms and conditions" regardless of the outcome. (LOL) Customers must pay to tune the database for 90 days after the conversion, to improve performance to meet the guarantee (Strings attached .. didn't i tell you that) Customers receive no relief to convert back to their original platform if the site runs more slowly. The customer is obligated to pay maintenance and support. For scalibility and performance metrics please visit www.tpc.org Does anybody know how many Oracle customers have moved to SQL Server.. (excuse me if i sound anti-oracle but the fact is fact) Last year atleast hundreds of companies have converted from Oracle to Microsoft has anybody seen the other way round? From my point This is just the beginning of Microsoft SQL Server and it's the beginning of the end of Oracle (and it's very hard for Oracle to accept this) Dave Romeo. |
7/24/01 - Justin says: |
The author of this article, Jim Middleton, and Dave Romeo have some research to do on this topic. For starters, answer me this, are there any applications, other than custom built ones that can reside in a federated database architecture? No, unless you custom code for it. Secondly, don't even begin to mention price software price when to truly federate a database, you must have multiple boxes of the same configuration. Thirdly, Microsoft cannot really partition tables, they can only supply union-views of one table or create separate database tables on each box in the federation. Can't you implement separate databases on separate boxes with Oracle, and set up DB Links to all. Yes. And can't you also implement Oracle Real Aplication Clusters to be able to reach the same instance of the same database and physically partitioned tables from any number of boxes on 80 different platforms? Why yes you can.
On the Active Directory side: Oracle can actually store more in the active directory than can Microsoft. Read the Oracle documentation on Microsoft Active Directory, then read the MS docs. The proof is in the API's - oh yeah, did I mention the API's come in multiple flavors not just Visual Basic.
Lastly, Oracle9i is much faster than MS plus it runs real applications - not just the TPC benchmark. Does Dave even know exactly how they come up with the TPC benchmark. Plus, on the support front, if Dave were to license a copy of the Oracle DBMS after he downloaded it for free, he would find that Oracle's support, via the web, is just as up to date if not more than Microsoft's. Oh yeah, and there were far more than 100 companies that Migrated to Oracle last year from SQL Server, in fact there are far more large customers using Oracle than SQL Server.
|
Display Page: 01 02
|
|
|