October 10, 2002 at 3:50 am
Hi,
I am a strong MS believer.
Recently I got this comparison between Oracle and MSSQL from my Manager which I believe is not completely true.
Please visit the site below:
I believe the points are not completely true.
Can you all be kind enough to give me your point please?
so that I can convince my manager about this.
I know MSSQL is powerful enough and people are running huge dbs with our most beloved technology group.
All help is appreciated.
Thanks
Gopi
October 10, 2002 at 4:38 am
Can someone post the points made here, my company blocks that address at out firewall.
I will say though that Oracle and MS SQL both have there respective places in the Database world and do offer advantages over each other.
Generally smaller, medium, and large size databases or set based operations perform far better on MS SQL Server. Also, the syntax is more conformed to use functionality and ANSI SQL standards than Oracle has done so far. Client and admin tools are far superior than Oracle out of the box (not sure about add on tools offered by Oracle and other vendors).
Oracle on the other hand seems to handle extremely large databases better (this seems to be changing thou start with SQL 2000, 7 was good just not great). Oracle is based more on the cursor way of handling data queries and does work much better in that realm. Oracle offers a lot of internal functionality that is just not available in MS SQL yet.
Now for the points made, I can offer comments on them if only I could see them.
"Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)
October 10, 2002 at 6:10 am
Technical Comparison of Oracle and MS Sql Server 2000
-------------------------------------------------------------
By Faulkner, Kent, USA
Updated by PorusHH, Australia
Version 3.4, August 1 2002
1. Single platform dependancy.
SQL Server is only operable on the Windows platform, and this is a major
limitation for it to be an enterprise solution. Oracle is available on
multiple platforms such as Windows, all flavours of Unix from vendors
such as Ibm, Sun, Digital, HP, Sequent, etc. and VAX-VMS as well as MVS.
The multi-platform nature of Oracle makes it a true enterprise solution.
2. Locking / concurrency
SQL Server has no multi-version consistency model which means that "writers
block readers and readers block writers" to ensure data integrity. In
contrast, with Oracle the rule is "readers dont block writers and writers
dont block readers". This is possible without compromising data
integrity because Oracle will dynamically re-create a read-consistent
image for a reader of any requested data that has been changed but not
yet committed. In other words, the reader will see the data as it was
before
the writer began changing it (until the writer commits). SQL Server's
locking scheme is much simpler (less mature) and will result in a lot
of delays/waits in a heavy OLTP environment.
Also, SQL Server will escalate row locks to page level locks when too many
rows on a page are locked. This locks rows which are uninvolved in any
updates for no good reason.
3. Potential of long uncommited transactions HALTING database activity
In sql server 2K, a long uncommited transaction can stop other
transactions which queue behind it in the single transaction log, and
this can stop all activity on the database,
Whereas in Oracle, if there is a long uncommited transaction, only
the transaction itself will stop when it runs out of rollback
space, because of the use of different rollback segments for
transactions.
Oracle allocates transactions randomly to any of its multiple
rollback segments and areas inside that rollback segment.
When the transaction is committed, that space is released
for other transactions, however Sql server allocates transactions
sequentially to its single transaction log, the space
occupied by commited transactions is not released to
new transactions until the recycling of the transaction
log is complete (in a circular round-robbin manner).
This means if there is an uncommited transaction in the
middle, and the transaction log cannot grow by increasing
the file size, no new transactions will be allowed. This
is the potential of a single uncommited transaction to
halt database activity.
4. PERFORMANCE and TUNING
a. No control of sorting (memory allocation) in Sql Server.
Oracle can fully control the sort area size and allows it
to be set by the Dba.
b. No control over SQL Caching (memory allocation) in Sql Serv.
This is controllable in Oracle.
c. No control over storage/space management to prevent fragmentation in
Sql Serv. All pages (blocks) are always 8k and all extents are always
8 pages (64k). This means you have no way to specify larger extents
to ensure contiguous space for large objects. In Oracle, this is
fully configurable.
d. No range partioning of large tables and indexes in Sql Server,
whereas in Oracle a large table (eg. 100 GB or more) can be seamlessly
partitioned at the database level into range partitions, for eg. an
invoice table can be partitioned into monthly partitions.
Such partitioned tables and partitioned indexes give performance
and maintenance benefits and are transparent to the application.
e. No Log miner facility in Sql Server. Oracle 8i and 9i supply a
Log Miner which enables inspection of archived redo logs. This comes
free with the database. But in the case of Sql Server, external products
from other companies have to be purchased to do this important Dba task.
f. A Sql-Server dba claimed that fully qualifying the name of an object
in Sql Server code would lead to performance gains of 7% to 10%.
There are no dictionary performance problems like that in Oracle.
Oracle would have some gains if it fully qualified all names - say
0.01 percent. This actally shows the difference in the internal
database technology between Oracle and MS and implies that the
technology of resolving object names via the dictionary is
more advanced in the case of Oracle, ie. Oracle seems to better
access its internal dictionary and resolve names, unlike Sql server.
g. A third party database tuning tool expert (the tool works both with
Oracle and Sql Server) said: "Performance tables in Sql Server are not
as *rich* as oracle and incur high overhead for accessing them in the
case of Sql Server."
5. MISSING OBJECT TYPES IN SQL SERVER
a. No public or private synonyms
b. no independent sequences
c. no packages ie. collection of procedures and functions.
6. PROGRAMMING
a. Significant extensions to the ANSI SQL-92 standard in Sql Server,
which means converting applications to a different database later
will be a challenge (code re-write).
b. Sql Server has no inbuilt JAVA database engine as in Oracle.
In Oracle, Java classes can be loaded and executed in the database
itself, thus adding the database's security and scalability to
Java applications.
c. In Sql Server, stored Procedures are not compiled until
executed (overhead). In Oracle, packages and procs/functions
are compiled before execution.
In Oracle 9i it is also possible to translate Pl/Sql into C code
and then compile/link the code, which gives very good performance
gains for numeric itensive operations. SqlServer has no such
ability.
d. In Sql server, there is no ability to read/write from external
files from a stored procedure. Oracle has this ability.
e. Sql Server uses cryptic commands for database adminstration like:
exec sp_addrolemember N'db_datareader', N'davidb'
GO
This is to add the user davidb to the role db_datareader.
On the other hand, Oracle uses standard English-like Sql
commands to do the same:
grant db_datareader to davidb;
This one statement does all, in simple English, what the
cryptic Sql server command does.
f. Oracle Sql and Pl/Sql are more powerful and can do things more
intuitively
than Microsoft Transact-Sql. Try to sum up a column by each month, and
show
the totals for the month, in Sql Server you do it in T-Sql by grouping
on strings, in Oracle it is possible to do this grouping by the
trunc(<datecolumn>,'month') function. This method in Oracle is more
intuitive, it understands the dates, the method in Sql Server does not.
g. In Sql Server, you cannot issue a "create or replace" for either
procedures or views, in Oracle you can. This one facility simplifies
code writing, since in Sql Server the procedure or view must be
dropped first if present and then recreated ie. 2 commands, in
Oracle there is no need - a single command "create or replace" is
enough.
h. In Oracle, a procedure/function/package/view is marked as invalid
if a dependant object changes. In Ms Sql there is no concept of an
invalid procedure, it will run but give unexpected results.
The former is more suitable for change control and preventing
unexpected errors.
i. A recompile reuses the code that is in the Oracle database,
the actual command is "alter procedure <procedure name> compile".
This is applicable to procedures/functions/packages/views.
This concept of recompiling is not there in MS Sql server
where you have to resubmit the whole code if you want to
recompile a procdure.
j. Triggers in Oracle do not allow transactional control ie.
commit/rollback/savepoint statements. Whereas, triggers
in Sql Server allow commits/rollbacks, which is potentially
dangerous and can cause problems with transactions which
fire the trigger. Triggers in Sql Server also can start
transactions of their own which is not very good and
shows lack of maturity of the language.
7. STANDBY DIFFERENCES
Sql Server and Oracle have differences regarding standby databases.
A standby is a database set up on a second server and to which
logs are applied ie. all database changes, so that the standby
can be activated and used in the case of a failover.
a) In the case of Sql server, when there is a failover, the
"master" and "msdb" databases have to be restored from backup
or copied over from the primary to the standby and then the
standby is activated after all logs are applied. In Oracle,
there is no need for a restore to be done, the standby can
be activated at any time after all logs are applied. This
difference exists because of the fact that in Sql server,
new users/roles added to the primary are not carried over
to the standby (these users/roles go in the master/msdb)
and backups have to be done continuously of the master
and msdb, these backups are then restored when the
time comes for a failover. In the case of Oracle,
users/roles when created in the primary are automatically
carried over to the standby. So when the failover time
arrives, all that is needed is to activate the standby.
b) In the case of Sql Server, if the standby is opened
as read only, to switch it back to standby again, a
restore from backup has to be done. In the case of Oracle,
from 8i onwards, if a standby database is opened as
read only, it can be reopened as a standby without
restoring from backup.
c) The time delay to apply logs between the primary and
the standby can be varied, but it can never be 0 minutes
in the case of Sql server. In the case of Oracle,
in 9i it is possible to have logs applied simultaneously
to the primary as well as standby, using Sql-Net.
This means Zero data loss in the case of a failover
whereas Sql Server's log shipping cannot avoid data loss
during the time gap.
d) Sql Server's log shipping mechanism also happens
at the OS level, whereas Oracle's mechanism can take
place directly at the Sql-Net level where logs are
automatically applied to standbys without any
scripts or OS batch files, this mechanism in
Oracle is called managed standby.
e) One deficiency of Oracle in the standby was that
datafiles, if created on the primary, had to be manually
created on the standby whereas Sql Server does this
automatically. However, in 9i, this deficiency is
fixed and data files are created automatically
at the standby.
f) Another deficiency of Oracle in the standby is that
direct loads, if using the unrecoverable facility to
bypass redo logging, require the data files of the
primary database to be manually copied across to the
standby. This is not fixed in 9i. Sql Server's version
of log shipping and direct loads do not require this
copying across.
8. CLUSTER TECHNOLOGY
In clustering technology, in the case of Sql Server,
2 nodes cannot work on the same database, they "share
nothing". At the best, to utilize the power of both nodes,
the application must be manually spit up and redistributed
between the hosts, working on different sets of data, and
it is not possible to seamlessly scale upwards by adding
another node to the cluster in the case of Sql Server.
Most cluster configurations in Sql Server use the power
of only 1 node, leaving the other node to take over only
if there is a problem with the first node.
In the case of Oracle Parallel server, it is possible to have
2 or more instances of the database on different nodes acting
on the SAME data in active-active configurations. Lock management
is handled by the Oracle Parallel server. With the new version of
Parallel Server in Oracle 9i, renamed as the Oracle real application
cluster (9i RAC), there is diskless contention handling of
read-read, read-write, write-read, and write-write
contention between the instances. This diskless contention
handling is called Cache Fusion and it means for the first
time, any application can be placed in a cluster without
any changes, and it scales upwards by just adding another
machine to the cluster.
Microsoft has nothing like this clustering technology
of Oracle, which can best be described as "light years ahead".
9. REPLICATION DIFFERENCES
In Microsoft Sql Server's version of simple replication
ie, publisher-subscriber using transactional replication,
even if only one table is being replicated, the entire
transaction log is checked by the log reader agent
and transactional changes applied to the subscribers.
In Oracle's simple replication, changes to a single
table are stored in a snapshot log and copied across,
there is no need to check all the archive logs.
10. SECURITY EVALUATIONS
As of 2002, Oracle has 14 independant security evaluations,
Microsoft Sql Server has one.
11. TCP Benchmarks:
March 2002 Benchmarks from Tpc.org show that Oracle 9i
is seen in the majority of top benchmarks in "non-clustered"
tpc-c for performance (oltp), whereas Sql Server is seen
in the majority of entries for "clustered" tpc-c for
performance (oltp).
This gives the strange impression that Sql server is
faster in a cluster than in a non-cluster, which is
misleading. The fact is that this result is due to the
use of "federated databases" in clusters by Microsoft
in which pieces of the application are broken up and
placed on separate active-active servers, each working
on separate pieces of the application.
While excellent for theoretical benchmarks, this is not a
practical approach in the real life IT world because it
requires massive changes to any application, and also
ongoing changes to the application when new servers are
added to the cluster (each server has a view that sees
the data in the other servers, adding a new server would
mean rewriting the views for all tables on all servers)
and would be rejected by any practical headed manager.
Using this impractical approach of federated databases
in clusters, the impression is that Sql-server leads
in clustered performance, but the practical reality is
otherwise. This is seen in the way Sql-server is not
to be seen in the non-clustered benchmarks.
Also, Oracle leads the way for Tpc benchmarks for
Decision Support systems with 1000GB and 3000GB sizes
(Tpc-H by performance per scale), whereas Sql server
is only seen to a small extent in the 300GB range.
12. Encryption/Decryption of sensitive data:
Oracle 8i Release2 (8.1.6) provides enhanced security features. Among
them is
the ability to encrypt data stored in the database. This means at the
column
level such as encrypting chemical formulas, credit card numbers,
passwords or
whatever data is sensitive to your business. Until now only Protegrity's
3rd
party product Secure.data had this capability. Oracle is now the only
database
vendor in the world that provides this feature directly in the database
and on
all platforms supporting 8.1.6. Protegrity supports only NT, HP-UX, Sun
Solaris
and AIX.
Oracle allows data to be encrypted and decrypted using the built in
package
DBMS_OBFUSCATION_TOOLKIT.
Sql Server has no built in encryption/decryption facility. Developers
have
to write home-grown DLLs to encrypt/decrypt data. Not so in Oracle,
which
has a built in utility.
13. Rollback not possible in MS Sql Server service pack upgrades:
It is not possible to rollback any service pack upgrades
to Sql Server. When you install a service pack, all original
files are overwritten and MS does not support rollback.
The only solution is to uninstall and reinstall Sql server,
which is tedious.
As compared to this, Oracle has full rollback facilities in releases.
Major Releases are installed in different Oracle Homes and it is easy
to rollback to an earlier release. Patches can also be rolled back.
14. 64 bit version about 4 years behind Oracle's 64 bit version
64 bit version still to be released in Sql server
(Sept 2002). Whereas, Oracle 64 bit on Sun 64 bit
has been available since 1998, so MS is at least
4 years behind Oracle in this regard.
15. XML Support:
XML has emerged as the standard for data interchange on the web.
Oracle8i is XML-enabled to handle the current needs of the market.
Oracle8i is capable of storing the following:
<> Structured XML data as object-relational data
<> Unstructured XML document as interMedia Text data
Oracle8i provides the ability to automatically extract
object-relational data as XML. Efficient querying of XML data
is facilitated using standard SQL. It also provides the ability
to access XML documents using the DOM (Document Object Model) API.
9i enhancements to Xml support:
XMLType datatype was first introduced in Oracle9i to provide a
more native support for XML. Associated XML specific behavior
was also introduced. In addition, built in XML generation
and aggregation operators greatly increase the throughput
of XML processing.
The XMLType datatype has been significantly enhanced in
Oracle9i Release 2 (9.2). In this release, Oracle significantly
adds to XML support in the database server. This fully
absorbs the W3C XML data model into the Oracle database,
and provides new standard access methods for navigating
and querying XML - creating a native integrated XML
database within the Oracle RDBMS.
The key XDB technologies can be grouped into two major classes - XMLType
that provides a native XML storage and retrieval capability strongly
integrated with SQL, and an XML Repository that provides
foldering, access control, versioning etc. for XML resources.
The integration of a native XML capability within the database
brings a number of benefits.
In summation, Oracle9i Release 2's XDB functionality
is a high-performance XML storage and retrieval technology
available with the Oracle9i Release 2 database. It fully
absorbs the W3C XML data model into the Oracle Database,
and provides new standard access methods for navigating
and querying XML. With XDB, you get all the advantages
of relational database technology and XML technology
at the same time.
In contrast to this, Microsoft Sql Server 2000 only has
limited ways to read and write xml from its tables.
16. Sql server magazines and internet articles of the magazine
are only available with paid subscription. Whereas, Oracle
has given its magazine free for many years, all articles are
free on the internet, and the Oracle Technical network (OTN)
is also free on the internet.
17. Some people say Microsoft Sql Server tools, like Enterprise
manager, are easy to use. Oracle Enterprise Manager is a huge
tool and seems daunting to unexperienced people. This is
true to an extent, however ease of use cannot be compared
with the many features in Oracle, and its industrial-level
strength, and its many technical advantages.
SUMMARY.
SQL Server is clearly positioned between MS-ACCESS and ORACLE in terms of
functionality, performance, and scalability. It makes a work group level
solution (small number of users with small amount of data), perhaps at
the departmental level.
Oracle is much more advanced and has more to offer for larger applications
with both OLTP and Data Warehouse applications. Its new clustering features
are ideal for Application service providers (ASPs) on the internet
who can now start with a cluster of 2 small servers and grow by just
adding a server when they need to. Besides, Oracle's multi-platform
capability makes it the most convincing argument for an enterprise.
Footnote:
Oracle is the first commercial Sql database and is 25 years old in 2002,
ie. it has been around since 1977. Larry Ellision the founder of Oracle
has been championing the Sql language before there was any company around
like Microsoft.
October 10, 2002 at 6:40 am
Thanks, I will take a look when I get a chance and feedback.
"Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)
October 10, 2002 at 8:15 am
I won't go into the details of this comparison, maybe I'll go along if someone says something interesting but otherwise I'll just say that you can find details of both Oracle and SQL Server that are both great or total crap. For a general comparison these details are unimportant, it's when you're doing a comparison for a special scenario that you need to compare the details of areas that are going to be important in that scenario.
The person who wrote this (I couldn't find out where the author works, but it sounds as an Oracle employee) clearly is a devoted, and probably very skilled, Oracle DBA. But, he is just as negative to SQL Server. All points are discussed from a MS-negative point of view, either it's something that actually is a not so good part of SQL Server, or the author just chooses to see it that way.
For instance, one of the points made and something that is very often used as a pro-Oracle point is that SQL Server only runs on Windows. Well, that was a strategic decision made by MS when they first implemented their own version of SQL Server apart from Sybase. Because it only runs on Windows it is possible to use many features of Windows that are not present in other OSes and therefore not used in Oracle, DB2 and other RDBMS. It is also interesting to see how the author implies that Oracle is much more true to ANSI SQL, a point that I don't think I have really seen before when someone tries to convince me that Oracle is better than SQL Server. The same thing goes for the point about client tools included, and the one about the log explorer included in Oracle. Please, compare Oracle interMedia Text vs MS Full-Text Search in price and functionality.
Finally, the summary is probably the worst part of all. It does not summarize the points discussed at all, it just states that SQL Server is positioned between Access and Oracle. Where did Access come from? And to say that SQL Server is only usable for small companies and applications is just the best joke of the day. As I said, the 'article' is clearly written from a SQL Server-negative point of view, and I could probably write one just as negative on Oracle that discusses flaws in Oracle. The footnote is just the final laugh, for instance, if Larry has been pioneering SQL then why did Oracle not support ANSI join syntax until just recently? If Oracle's stock would have been worth more than Microsoft's the author would probably have included that as well in the footnote.
The real truth is that you can't choose either Oracle or SQL Server based on just technical factors, there are so many other factors involved. I found a much better article written by an Oracle-expert, who also seems to know SQL Server alright.
http://www.certcities.com/editorial/columns/story.asp?EditorialsID=23
--
Chris Hedgate @ Apptus Technologies (http://www.apptus.se)
October 10, 2002 at 12:27 pm
I'm an MS user and have been working with SQL Server for 12 years. I've only developer (briefly) against Oracle, and that was 7, so I'll admit first off that I cannot speak to the truth or fabrication of the Oracle points. Personally, I'd love to see an objective comparison and I'll contact the author to see about doing one on this site.
I think MS SQL Server 2000 (SS2K) works great, and despite my initial hesitation to upgrade from 7, I firmly believe it is worth is and a far superior product to SQL 7. Just as Windows lacks some of the maturity of Unix, being a much younger product, I'd be willing to admit that Oracle has a little more maturity on SQL Server. But I think SQL Server is catching up fast and even has a leg up in a number of ways.
I'll address a few things in the comparison that I don't believe are correct and add a few more:.
1. Single Platform - Addressed by chrhedga. I'd also add that having to include a Windows platform isn't an argument these days. How many companies, absolute or percentage, do not have Windows or the ability to administer windows? Not enough to say it isn't an enterprise solution.
2. Can't speak to Oracle. SS2K locking is improved and you can specify allow dirty reads. There has been some FUD from MS in the past, not sure how much now, but the locking works very well. Esclations do occur. I believe this was a design decision to improve performance, but I would like to see it configurable.
3. SQL can have multiple virtual log files (as well as physical). A single long uncommitted transaction can block users due to locks, or it may eat up all the CPU cycles. I think this is a design flaw, though not sure it's a log file flaw.
4. There are less tuning options. I'd like to see more, but I also believe that this is one of the downfalls of ORacle. Easy to shoot yourself in the foot by making (or not making) the correct tuning choices. Leads to the "black art" of tuning on Oracle.
Heresay - People have told me that Oracle tunes differently on different platforms (BSD v Linus V Windows V Solaris). Can't speak to this, jsut what I've heard.
I would like to see more options. Especially a CPU governer and a limiting resource control for queries.
b. Caching (percentage) between data and procedures can be grossly controlled. Not sure how many people would want this or need it.
c.You can control storage to some extent. Not changing sizes, but you can place things differently. The defrag routines have greatly improved in SS2K.
d.Paritioning must be done by the DBA. Not automatic (would like to see that) and another place to shoot yourself in the foot.
e. Not often needed. 3rd party covers this.
f.Not sure this is true. Only a security check and will have to test.
g.Don't understand this.
5. Agree. .NET may change this , not the next version, but the 2nd one out.
6.
a. I'd argue this about PL-SQL as well. No one adheres to standards that well.
b. correct. How many great Java apps are there? More Windows apps. Not speaking quality, but this is a religeous thing.
c.Semi correct. First execution will compile the execution plan. Subsequents will likely be from that plan, so no recompile. SS2K has also done work here to prevent compiles even batch SQL as well.
d. Correct. DTS addresses some of this, but I'm not sure I'd like developers able to do this.
e. Goes to the complexity of Oracle tools. This is not cryptic. You are calling a function to perform a task and I'm not sure you need to build this into some basic language.
f. Can't aruge this because I don't know enough PL/SQL. Probably agree it's more powerful in these types of operatiosn, which are more cursor based.
g. Crap. Alter has been around for 4-5 years.
h.This is a problem in SQL. Wish it would get addressed (send it to sqlwish@microsoft.com).
i. Semi crap. Code stored on the server, so you can retrieve it and edit it. you can also sp_recompile wihtout submitting the code. Will recompile on next call. Performance hit once.
j. Not sure how big a problem this is.
7. This is a place where SS2K can grow up a little. The standby, usually involves copying logs and restoring them. Even as often as a minute, this is a delay and could be an issue. You do have some choices:
- Two Phase Commit over DTC. Not recommended by me. If a server is down, then things don't work. Unless you can manage the app to handle this.
- Replicaiton - SQLUp does this to acheive near real time. Still a delay because the change is "copied" transaction by transaction to the other server, but I suspect since everything works sequentially (unless SQLNet can simultaneously run 2 CPUs to 2 separate network cards) that this isn't materially or practically different than Oracle. I will aruge the failback can be painful here. HAven't done it, just don't know how it couldn't be.
If you've planned for this. USers/groups/logins aren't an issue. They just have to be managed before the disaster.
c - Doubt Oracle is simulaneous, but probably pretty close.
d - Not sure that SQLNet is better than the OS level. Can't argue
e - ?? No idea
f - ?? No idea
8. Correct, SQL is shared nothing. One node controls the db. HOwever you can have up to 4 nodes, so you can run 3 with 1 standby for whichever fails. Not sure about Oracle "seemlessly" scaling upwards (always some cost ), but it does scale (heresay for me) better than SQL. Question is, with 16 and 32 way Wintel boxes, how big a scale do you have to be to outgrow SS2K?
I have heard (heresay again) that even with Parallel server one node "controls" activity and is a point of bottleneck. Can't verify this, just what more than one person has said. You need to check this with someone more knowledgable.
9. Not sure this is materially different. I'd argue MS's model is more scalable because I can separate teh distributor to a separate box (if there's a heavy load) and not eat cycles on my RDBMS server. How is an "archive log" different from a "transaction log"?
10. Who cares. Both companies have shown that their security is less than perfect. This is a maturity question. Have all 14 of Oracles been on 11i? 9i? Same with SS2K. It's C2 certified. Big deal.
11. Benchmarks are just that. They use RAID 0 (never used in production) and tweak crap. SAP benches are better. Bottom line is your app will be written and run better on one. The one you buy. And by the way, massive changes are not needed for federated db clusters. You can use them to spread the load, though one server still ends up with more load to receive queries. For that matter, you could probably use a load balancer if all tables were hidden behind distributed patitioned views.
12. Encryption - One of my Worst Practices for SQL Server becuase it's not built into the product. Course, needs to be in the app as well otherwise things on the wire aren't secure. Toolkits are available for SQL Server (www.protegrity.com).
Can't argue against oracle. Haven't seen anyone crack it, though I'm suspcious that it's not as great as Oracle would hype it to be. Course, most security products aren't/
13. HUGE SQL Server problem. Won't argue here. If you've ever had a Service pack fail, it sucks. Send to sqlwish@micrsoft.com
14. FUD. From what I know, SS2K is 64 bit comliant. Issue: Windows isn't. Until the Intel 64 bit chips come out and Windows hits 64bit we won't know. How is this an issue when TPC-C shows SQL Server ahead? Again, do you need 64 bit? Very, very, very (repeat a few times) people need this.
15. XML - Immature, not thrilled with the IIS dependency, memory leak issues with the internal XML prepare/release stuff. Don't know about Oracle, but keeps gettig better in SS2K. Do you need this? Not many people (relatively) have done a lot of XML.
16. See this site. TechNet and other MS stuff is free and you don't have to register. Lots of SQL resources, not going to argue more than Oracle. Don't look and don't care. Sure they're lacking as well.
17. EM is easier to use. That being said, in (not un) experienced people shouldn't be managing a db. SS2K is easier to manage for non DBAs, but as Chris Rock says, that don't mean it's a good #$%#$% idea. You still need a DBA. MS should not market otherwise. Non-DBAs just get themselves into trouble. Though they do provide us with some hits 🙂
Summary - Access is a piece of sh**. It works in places, but it sucks for many things. It's not an RDBMS, it's a desktop database. Like dBase. SQL works in enterprises. There are plenty of SAP and JD Edwards (my company) systems using it. Plenty on DB2 as well (don't see that mentioned). Oracle is more mature (I think), but SS2K is closing the gap quickly and in places. DTS is free and works as a great ETL tool for MOST people. Not everyone. Analysis Services work for MOST people. And SS2K is cheaper. That gap is closing as well, but for now it's cheaper.
Footnote - Larry Ellison is a pompous, arrogant a**. He played account games early in Oracle's history to make more $$ and almost lost the company. It's a good product and has nothing to do with Larry. Bill Gates is arrogant as well and isn't much better. Stupid to include this in a comparison.
Steve Jones
October 10, 2002 at 1:07 pm
Read and completely agree with Chris, and I like the other article. The key is both have there strong point and there week points, it is just a matter of which suites your needs with consideration of of TCO (Total Cost of Ownership). That is the key for MS, they are working to build a product as superior for the business world for average apps not even large scale, as you are more likely to have tens, hundreds, or thousands of avergae size DBs, and in that case you most assurredly don't want to spend hundreds of thousands of dollars of keeping those databases, but you also don't want to go with access as you may suffer major user issues. There is a lot that can be debunked in any article or post written, a person will be biased one way or another, and even an objective article can show this leaning or apprehension for another technology.
I laugh at the whole single OS statement as who cares when Windows is probably run on 90% or more of your desktops and you probably have a few or more machines laying around to handle the task. Plus, have you compared cost of UNIX, AIX, Mainframe to a Windows server (many times off the scale).
The 64bit thing was too much. Do you understand how it utilizes the 64bit memory registers and can they prove it utilizes them in a way they bennifit more than on a 32bit machine.
Oracle rollbacks by the way can lock the server. I have seen this. That is more of a database design issue thou than with the server.
The code rewrite statment about who's sql is better. Well the key is to stay away from anything platform specific that has not been adopted for ANSI SQL Standard. TSQL does containt extensions that are specific to MS but why do you think Oracle calls theirs PL/SQL, it is not because it means Pure Language, it does in fact containt Oracle extensions to the ANSI SQL Standard.
quote:
In Sql Server, stored Procedures are not compiled untilexecuted (overhead). In Oracle, packages and procs/functions
are compiled before execution.
I know in SQL 7 they were recompiled every time. In 2000 they are compiled on the first run. You really don't need a compile till the first run and compile time is not as long as the statement would impress it takes.
quote:
. Sql Server uses cryptic commands for database adminstration like
Obviously not aware of what SQL does support. However GRANT db_owner TO whomever doesn't sound the same as exec sp_addrolemember N'db_datareader', N'davidb' which is highly english in terms of reading as you know you are adding davidb to a role and not giving him access to the db_owner collection. GRANT CREATE TABLE to davidb sounds like it should. It is all a matter of symantics and sorry neither way is the way english would say it, let's try MAKE davidb A db_owner member would be the speaking way.
I could go on and on, what specifically about the article does your manager specifically feel is acurate if you want to debunk a myth or two. Otherwise debunk the whole thing is easy as saying "Have you tried the same thing on SQL Server before? Are all our DBAs going to be ORACLE trained and possibly certified? Finally, do you really want to waste money without exploring at least the option of a lower cost platform?"
Plus throw out the facts, many businesses have adopted SQL in some form or other, event if they run Oracle boxes as well. And lastly, you can test drive SQL for 120 days on a small machine and see how easy and stable it is for yourself as a demonstration of if it will meet your needs.
"Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)
October 10, 2002 at 5:28 pm
Pleased to see most of the responses here are reasonable sane! I have zero experience with Oracle so can't really do a fair comparision, just pretty much agree with what everyone posted to clarify/counter the issues identified with SQL.
Right now the only reasons I can see switching away from SQL would be price (and other than flat out free, the price isn't prohibitive right now and MSDE makes more sense to me than mySQL) or you need some super feature that it doesn't have.
Andy
October 11, 2002 at 2:47 am
One detail in the article that is worth mentioning though is #4d. This range partitioning is a great feature in Oracle, that I would love to see in SQL. Right now I'm working on a project for a bank in Sweden where we are helping them out with a couple of huge log tables that are growing fast. We have to manually do a lot of work partioning these tables, whereas in Oracle we could set up an 'automatic' range partioning on them.
--
Chris Hedgate @ Apptus Technologies (http://www.apptus.se)
October 11, 2002 at 7:09 am
The BIGGEST thing about ORACLE and MS SQL Server that was left out was ADMINISTERING the databases. I originally was looking for work as an Oracle Programmer. When I applied/interviewed at ORACLE they told me they work in teams. Everyone that works with ORACLE databases says the same thing, administering it takes more than one person. Some large databases have four or more person per shift 24/7. The MS SQL Server DBAs are usually the only person administering their database and it's not covered 24/7 (if anything happens outside of 'normal' work hours, the DBA gets called in).
So, that's a big difference in manpower between the two.
-Bill
October 14, 2002 at 2:31 am
This discussion could also be Apple VS Windows
Somebody who is in favor op product A writes an article and people who are in favor of product B comment on them.
From the article it became very clear the person who compared the two prodcts had no experience whatsoever with MS SQL Server........
And then there peole who are commenting on the article who have no experience at all in the other product.....
Well what I am trying to say is, Can you really compare an Audi with a BMW ?. Sure they have different logo's and different styling.... But they are both cars and Drive very well.
I think both SQL Server and Oracle are very good products.
Anyone who tries to compare them should do so with thorough knowledge of both systems.
As a MS SQL Server DBA I know the market share of SQL Server is growing fast.
And maybe this is important to keep in mind. Because it is not always the best product that wins the battle but the product with the biggest market share........ And beeing the first can be a disadvantage.....
( do you know anybody who is using Wordperfect these days........ )
October 14, 2002 at 6:40 am
Both databases have a reason of existence, neither of them renders the other obsolete ...
There are points where MS Sql server rules:
1) ease of installation
2) user-friendlyness of enterprise manager
3) abilities of DTS to transfer data
4) more GUI / lower learning curve
There are points where Oracle rules:
1) multi-version consistency model (readers don't block writers, writers don't block readers) dirty reads are NOT a replacement for this
2) performance tuning goes much further (and therefore is a lot more difficult)
3) storage management goes much further (and is more complex)
4) clustering (load balancing/scalability) really outscales SQL server 😉
October 14, 2002 at 6:41 am
We are currently going through the SS2k/Oracle question too. We're looking at migrating a 1.2TB database from DB2 to SS2K or Oracle. Has anybody got any tales to tell relating to this much data on SS2K?
October 14, 2002 at 8:33 am
acudlip,
Please tell something more about your needs:
number of users
types of transactions (many small, many large, reporting, ...)
OLTP/OLAP
number of concurrent users
...
October 14, 2002 at 9:46 am
I'll agree that to do a good comparision you need knowledge of both, therefore I can't heavily comment about Oracle. But I would agree the author above had little current knowledge of SQL Server. Many of his points may have been true in the past, but many are long gone.
I will throw in a couple of comments.
Tuning, do the DB and application design right and DBMS tuning becomes minimally important. Unfortunately (Or fortunately for us DBAs) this is the exception, not the rule.
Too often I have gone back into a DB after it is in production, and shown or made minor changes that produce astonomical performance improvements.
Or where the locking issue's are related to App design, ever seen what a deadly embrace does to locking on a DBMS. Some simple app design steps eliminates the problem.
I have a similiar battle where I am at, DB2 vs. SQL Server. We don't have too many huge DBs, but the difference in my time alone can (should) justify the use of SQL server in many cases. Not all, but many.
But I have to work with both UDB and SQL, my opinion is really that UDB/DB2 on the mainframe is top notch, move it to AIX or NT very questionable.
KlK, MCSE
KlK
Viewing 15 posts - 1 through 15 (of 29 total)
You must be logged in to reply to this topic. Login to reply