Database Comparision
1.Introduction
2.Operational
Concerns
a.Scalability
b.Platform
Availability
c.Networking
& Internet Readiness
3.Vendor
Related Issues
a.Licensing
b.Support
and Maintenance
4.User
Considerations
a.DBA
Concerns
b.Programmability
5.Conclusion
Appendix
A - System Requirements for Microsoft SQL Server 7.0
SQL
Server 7.0 Introduction
SQL
Server 7.0 is designed to scale from laptop databases and small business
servers all the way up to terabyte-size databases.SQL
Server 7.0 is designed to operate on Microsoft’s Windows 95, 98 and NT
operating systems.However, the Windows
95 & 98 versions of SQL Server 7.0 only support desktop, laptop and
small workgroup applications.SQL
Server 7.0 for Windows NT Workstation has been developed for applications
that involve a large numbers of users and transactions.
Microsoft
SQL Server had 30% of the Windows NT database market in 1998, while Oracle
had 46.1% of the Windows NT market, which was a 55% growth in 1998.This
statistic must be understood in the context that it applies only to the
Windows NT platform, since that is the only platform that both Microsoft
and Oracle have in common.
Although,
Microsoft has taken a big step forward in enterprise capability with the
SQL Server 7.0, it seems like their product is more appropriate for departmental
and small to mid-sized companies.“Rewritten
for ease of use, Microsoft’s SQL Server 7.0 is far and away the best choice
for smaller organizations or branch offices that need a full-featured relational
database.Larger organizations will
find SQL Server a better performer than ever before, although competing
databases including Oracle 8 and DB2 continue to provide better programmability
and scalability.”[ii]
In
speaking with a few experienced database administrators and programmers,
SQL Server really is not known as a competitor with the “big boys” of the
relational database software market.The
well-known database software products include Oracle, IBM’s DB2, Sybase
and Informix.These companies remain
leaders in database technology at the enterprise level.
Oracle
8i is a database product that is built upon a mature Oracle 8 product,
but also brings increased capabilities to develop and integrate with Internet
applications.Oracle’s databases
have been developed and proven to handle the largest of enterprise databases.But
Oracle also targets smaller, mid-tier companies who find it necessary to
have 24 hours by 7 days availability due to increasing Internet business
needs.Oracle’s 8i databases are
available on a wide variety of platforms.Dell,
IBM, Linux, Sun, Fujitsu and Unisys are a few of the 21 listed on Oracle’s
web site.
Oracle’s
products are definitely not the cheapest on the market. If an evaluation
of the application necessitates a high need for reliability, scalability,
security and performance then Oracle should be considered. Oracle is the
world’s leading supplier of software for information management, holding
27% of the database market share across all platforms.Oracle
is the undisputed database leader on UNIX platforms, commanding 60.9% of
the market share according to Dataquest.[iii],[iv]
2.Operational
Concerns
Scalability
in the context of database software is defined as the software’s ability
to continue to perform at a similar level with a larger amount of data
and a growing number of users and transactions.
SQL
Server 7.0 can grow up to 1,048,516 terra-bytes.Microsoft
uses SMP (systems with > 4 processors) technology to distribute databases.
Other maximum sizes and numbers can be referenced in Appendix C, which
outlines other technical specifications of SQL Server 7.0.
Oracle
8i is scalable up to hundreds of terabytes to manage very large databases
(VLDB).Oracle takes advantage of
distributed processing and storage capabilities through architectural features
that use more than one processor to divide the processing for a set of
related jobs.This distributed architecture
is a good example of the expression “the sum of the parts is greater than
the whole”, because as individual processors work on a subset of related
tasks, performance of the whole system is improved.
Number of Simultaneous Users
Theoretically,
there is no limit to the number of users that can access either the Oracle
8i or SQL Server 7.0 database servers at one time, given infinite processors
and infinite speed.In practical
terms, there is a limit, but it should not pose any real issues to be concerned
with in terms of concurrent data.One
consideration is that SQL Servers will require ODBC software to connect
with clients that are not PC based.This
will require some overhead, but should be pretty negligible.
In
a “Score Card” published by ZDNet[v],
which is fully documented in Appendix D, the following ratings were published.These
ratings really demonstrate the equality of SQL Server and Oracle for these
performance criteria.
|
PC
Microsoft SQL Server 7.0
|
Oracle8i
Standard Edition
|
Server
Engine
|
Excellent
|
Good
|
Support
for multiple CPUs
|
Excellent
|
Fair
|
Join
and index selection
|
Excellent
|
Excellent
|
Degree
of concurrency
|
Good
|
Excellent
|
Database
Design
|
Good
|
Excellent
|
Distributed
transactions
|
Excellent
|
Excellent
|
These
issues of are fundamental topics when performance is being discussed.
b.Platform
Availability As
discussed in the Introduction, SQL Server 7.0 is designed to operate on
Microsoft’s Windows 95, 98 and NT 4.0 operating systems.However,
the Windows 95 & 98 versions of SQL Server 7.0 will only support desktop,
laptop and small workgroup applications and requires an Intel platform. SQL
Server 7.0 for Windows NT Workstation has been developed for applications
that involve a large numbers of users and transactions and is limited to
Intel or Alpha platforms. This
limitation could cause hurdles for large corporations in terms of performance
that can be expected.Brian McCarthy,
CEO of Insurance Holdings said “Microsoft said we’d need an all-Microsoft
application if we wanted full scalability, but who’s going to rebuild the
whole system?”[vi]
It’s
especially important to note that although other platforms can be used
for clients to access the SQL Server 7.0, a third party ODBC software must
be used.ODBC is an interface that
allows for data to be accessed in relational databases, independent of
the database vendor. Oracle
8i is supported by a large number of hardware manufacturers, as well as
several operating systems.There
are currently 21 hardware vendors listed on Oracle’s website, with at least
6 operating systems, counting UNIX as one although the flavors may vary
by manufacturer.Reference Appendix
F for details on some of the platforms and operating systems that Oracle
runs on.Further details can be
found on specific platforms at Oracle’s dedicated website:www.platforms.oracle.com. a.Licensing SQL
Server Pricing
structures of software can be complex.Microsoft
recognizes this and even offers “A Guide to BackOffice Pricing and Licensing”
to help readers understand some of the subtleties and complexities before
“cutting a check”. SQL Server can be purchased by itself in either of the
above-mentioned versions, as an upgrade to certain other database products
or as a part of Microsoft BackOffice.A
license for the server is distinct from the licenses for the CAL (client
access license), but every server is accompanied with a certain number
of CALS.Although the number of
CALS may vary by application, there would always be a need for at least
one CAL or the database could not be accessed to retrieve data. To
compare prices the details of the system architecture must be well understood.Some
of those details include the number of servers required to support the
database, how many processors a server will have, the number of users needing
to access the database, whether the system will be serving an Internet
or intranet application. Based
on an application where 250 or more users (CALs) will be accessing one
database server, the cost of SQL Server 7.0 Enterprise Version is listed
as $28,999 on Microsoft web site.To
get an understanding of the price differences between the Enterprise version
and the Standard version, SQL Server 7.0 Standard Version and Five CALs
would cost $3,999, while the Enterprise version with Five CALs lists at
$7999.An upgrade of the SQL Server
7.0 Enterprise version for a customer who is also upgrading the clients
accessing the database costs $3969, while a customer who is buying licenses
for new clients along with the server license costs $7099. The
benefits of the Enterprise Edition over the Standard Edition cited in the
Microsoft publications get blurred in the marketing jargon.The
Enterprise version is used for increased system scalability and reliability
by providing support for SMP (systems with multiple processors) and extended
memory These
prices are negotiable and the price varies in terms of how customer acquires
the SQL Server.For example, if a
customer purchases software that runs on SQL Server or purchases it from
an independent software vendor then the pricing would obviously be different. A
named user is defined as “an
individual who is authorized by his/her company to use the Oracle Software
programs, regardless of whether the individual is actively using these
programs at any given time.”[vii] A concurrent device
is defined as “an input device accessing the program on the designated
system at any given point in time. The number of "Concurrent Devices" you
are licensed for is the maximum number of input devices accessing the programs
on the Designated System at any given point in time. If multiplexing hardware
or software (e.g., a TP Monitor or a Web server product) is used, this
number must be measured at the multiplexing front-end.”vii A
power unit is defined
as one MHz of power in any Intel compatible or RISC processor in any computer
of the Designated Systems on the Order Confirmation page on which the Oracle
software programs are installed and operating. (Intel refers to Intel Solaris,
Linux, and Windows NT; RISC refers to Sun SPARC Solaris, HP-UX, and IBM/AIX.
A "Processor" license shall be for the actual number of processors installed
in the licensed computer and running the Oracle program(s), regardless
of the number of processors which the computer is capable of running.)”vii A
named user licensing unit costs $600, a concurrent device costs $1495 and
a power unit costs $200 for the Oracle 8i Enterprise Edition.These
prices are 5 times more than what Oracle charges for the Standard Edition. The
Enterprise Editions includes these advanced features on top of the Standard
Edition:large-database partitioning
(which helps you keep monster gigabyte-size databases under control), flexible
security features, and speed features such as bitmapped indexes, summary
tables, and parallelism. Two
other modules that Oracle offers for enhanced web integration and multi-media
handling are Oracle JServer Standard Edition and WebDB, which if necessary
add to the total cost of the Oracle solution.They
are also priced based on the licensing unit discussed above. b.Support
and Maintenance Availability
of qualified database administrators (DBA) and programmers is one issue
that cannot be overlooked in considering which database will be best for
the given organization and application.Due
to the relationship between supply, demand and cost, the shortage of Oracle
DBAs and programmers can mean only mean one thing.They
are hard to find and when one is available, they command a very high salary. The
nature of Oracle is that it can be more difficult to program and administer,
so it requires specially trained personnel.SQL
Server, on the other hand, is an easier product to learn and administer
so the number of available programmers is higher and less expensive to
staff a database project. No
cost information could be obtained on the annual maintenance fees to remain
current on the licensing agreements with either Oracle or SQL Server. SQL
Server 7.0 is an exceptionally easy product to administer and is more forgiving
than previous SQL Server versions.SQL
Server 7.0 has an auto-tuning feature that allows for memory to be self-managed
and there are several new wizards that simply advanced tasks such as creating
databases, scheduling backups, importing and exporting data and configuring
replication.This should make the
training of database administrators much easier. Oracle 8i databases can be administered
and controlled very tightly, but it is a complex
and requires trained database administrators to do so proficiently.“Oracle8i
tools are Java-based and can even be run from a Web browser. They provide
all the essentials for designing and setting up a database, including some
advanced features like letting you selectively delegate authority to users
of its Enterprise Manager administration console. This is a handy tool
for branch office deployment.Like
previous releases of Enterprise Manager, though, this one is a version
behind the database, and it doesn't know a thing about new Oracle8i features
such as Java stored procedures.”[viii] b.Programmability There
are languages supported within the database software for programming and
controlling the database.For example,
since PL/SQL can be stored in the database, network traffic between applications
and the database is reduced, thereby increasing application and system
performance. SQL
Server 7.0 comes with an internal programming language called Transact-SQL,
which has received a poor rating in several reviews.“While
everyone else in the SQL database market is moving (or has already moved)
to a modern programming language like Java, SQL Server customers are still
stuck in the programming Dark Ages—no object orient development, no big
class libraries to use, and no code interoperability with anything else.”[ix]The
programming can be done, but it will require a lot more work. Oracle
gets an excellent rating for it’s internal language offerings, which include
Java and PL/SQL. 5.Conclusion In
comparing these two database products, it became apparent they each hold
a different place and purpose in the market.They
don’t compete in the same niche.Microsoft
SQL Server, a client-server database, continues to make strides toward
the enterprise database market, but is still most appropriate for a departmental
or small to mid-sized company whose database doesn’t have such high scalability,
reliability and availability needs.SQL
Server’s greatest weakness is the Windows NT platform, which it operates
on, is not mature enough to provide the kind of availability that enterprise
worthy systems require.“In the
small-business market, the differentiating factors are ease of database
administration, Web connectivity, the speed and features of the database
server engine, branch-office and mobile support, and the ability to warehouse
data efficiently. SQL Server 7.0 shines in all of these areas except Web
connectivity. Its administration tools include many wizards and self-tuning
settings that make it the only database we reviewed that might not require
a specially trained administrator.”[x] Oracle,
also a client-server database, operates on the high end of the database
market and is also reaching out to start ups, small to medium sized businesses
who have a need for a complete, integrated platform for critical applications
for the internet. Oracle is harder to administer is an expensive choice,
unless the application being developed requires its Java or multimedia
features.Another selling point
to Oracle is that is it sold on a multitude of platforms, in comparison
to SQL Server 7.0, which may be appealing to some customers who are seeking
a more mature platform. Appendix A
System
Requirements for Microsoft SQL Server 7.0* Client
Access Licenses required Server ·PC
with a Pentium (166 MHz or higher) or Alpha processor ·Microsoft
Windows NT Server operating system version 4.0 or Windows NT Server 4.0
Enterprise Edition with Service Pack 4 or later (Service Pack 4 included) ·Microsoft
Internet Explorer 4.01 with Service Pack 1 or later (both included) ·32
MB of RAM ·Hard-disk
space required: ·65–180
MB for Server; approximately 170 MB for typical installation ·35–50
MB for OLAP services; approximately 50 MB for typical installation ·24–36
MB for English Query; approximately 36 MB for typical installation ·CD-ROM
drive ·VGA
or higher-resolution monitor; Super VGA recommended ·Microsoft
Mouse or compatible pointing device
Note SQL Server 7.0 can utilize up to four processors. Additional
processor support is available with SQL Server 7.0 Enterprise Edition. Desktop
·Each
installation of SQL Server Desktop requires a per-seat client access license
for SQL Server 7.0; SQL Server Desktop will only interact with SQL Server
in per-seat mode ·65–180
MB available hard-disk space; approximately 170 MB for typical installation
Networking
Support
Windows 95, Windows 98, or Windows NT built-in network software (additional
network software is not required unless you are using Banyan VINES or AppleTalk
ADSP; Novell NetWare client support is provided by NWLink) Clients
Supported
Windows 95, Windows 98, or Windows NT Workstation, UNIX,** Apple Macintosh,**
and OS/2** *Actual
requirements will vary based on your system configuration and the features
you choose to install. **Requires
ODBC client software from a third-party vendor.
Appendix
B * Database objects
include all tables, views, stored procedures, extended stored procedures,
triggers, rules, defaults, and constraints.
Appendix
C Scorecard of Microsoft’s SQL Server & Oracle’s
8i
Appendix D
Summary of Features of Microsoft’s SQL Server &
Oracle’s 8i
Appendix E
Oracle 8 and Oracle 8i Standard Edition Platform
Availability
[vii]
“Licensing Terms.”November 1, 1999
<http://oraclestore.oracle.com/cec/cstage?eccookie=&ecaction=ecpassthru&template=help_licensing.en.htm>. Other
References “Oracle 8.0 Concepts Volume 1 Release 8.0.”December
1997.
“Oracle 8.0 Concepts Volume 2 Release 8.0.”December
1997.
“SQL Server 7.0 Product Enhancements Guide.”November
1998.
“Oracle 8i for Windows NT.”February
1999.
Networking & Internet Readiness
The
need for a database to be Internet ready is quickly becoming a necessity
in today’s rapidly growing web based world. At
every turn in the software industry, the topic of e-business and e-commerce
is a top issue for companies wanting to compete in the future. Therefore,
the need for database software to support and enhance Internet application
development is a must.
SQL Server 7.0
still lags behind in its ability to support multimedia data support and
in programmability, which are necessary for many Internet applications. Third
party software will have to be used to store special images, sound, video
or geographic data support. SQL
Server 7.0 doesn’t support Java, which is an industry standard for developing
network applications.
Oracle 8i is
the best product for companies wanting to move their database applications
to the Web. Oracle leads the
market in handling of multimedia objects. Multimedia
support is particularly relevant when building Web-based applications like
online stores that include multimedia items such as pictures or video clips
of items for sale. Oracle
uses a product call JServer, which brings Java and relational databases
together. It allows for controlling
the database through Java and supports the creation of JavaBeans. JavaBeans
are the basic building blocks for Java-based Internet applications, and
are (or will be) supported by just about every high-end Internet application
server on the market.
In
the ZDNet Scorecard (Appendix D), SQL Server 7.0 and Oracle 8i were rated
as follows, in respect to their internet readiness features:
3. Vendor
Related Issues
Oracle 8i
4. User Considerations
a. Database Administrator (DBA) Concerns
Recovery &
Backup
In
every database system, the possibility of a system or hardware failure
always exists. Should a failure
occur and affect the database, the database must be recovered. The
goals after a failure are to ensure that the effects of all committed transactions
are reflected in the recovered database and to return to normal operations
as quickly as possible while insulating users from problems caused by the
failure. Databases can fail
due power outages, operating system crashes, disk failure or operator error.
Both
SQL Server 7.0 and Oracle make commitments on a two-phase commit approach,
which allows for users to control a logical set of SQL statements so they
all either succeed or fail as a unit. This
two-phase mechanism guarantees that no matter what type of system or network
failure might occur, a distributed transaction either commits on all involved
nodes or rolls back on all involved nodes to maintain data consistency
across the global distributed database.
Monitoring &
Tuning Capabilities
Identical to Server requirements with the following exceptions:
Note The Desktop version of SQL Server 7.0 can utilize up to
two processors.
Maximum
Sizes and Numbers
of SQL Server 7.0