If you have seen advertising literature from major database
system vendors, invariably you have seen statements about how that database
performed against other systems (benchmark results). All of the major vendors
support and participate in benchmarking tests because, to some degree, they
have to. The mindset must be along the lines of "Everyone else is doing it, so
we'd look odd not participating in the tests ourselves - even though most
analysts agree the tests are somewhat artificial and flawed."
A good introduction into database performance benchmarking
can be found in an Oracle Magazine (March-April 2001) by Fred Sandsmark (http://www.oracle.com/oramag/oracle/01-mar/o21bench.html).
And despite what you may think before reading the article, Mr. Sandsmark does
not give Oracle preferential treatment just because he wrote this article for
Oracle. Who is the referee or judge of database benchmarking? No one is going
to believe Oracle, Microsoft, or anyone else is going to be impartial, and why
should they be? They are businesses with the same end goal in mind: increased
profitability for owners and shareholders. When Oracle, for example, claims it
has the best-performing database on System X using Processor Y, that is
probably true, and the results can be verified, but when you see just how many
system/platform combinations there are in the benchmarking results and what the
results were, the value of the claim may be diminished.
One important concept to take away from this discussion is
that there is no singular, all encompassing, definitive test that allows a
vendor to claim their system is the best one out there, no ands, ifs or buts.
For Oracle, Microsoft, IBM, or Sybase to claim they are the best overall, well,
it's simply not true. A particular system can be the best on a particular
platform under certain conditions, but to say a particular system is the best
overall is going to make that vendor suspect with respect to credibility.
The purpose of this article - from an Oracle DBA standpoint
- is to introduce you to what the benchmark tests are, who controls or
regulates them, and show you how Oracle compares to other database systems.
Three letters will over and over again come into play when vendors compare
themselves to one another, and those letters are TCO (total cost of ownership).
Defining what factors into and how exactly you measure TCO is an issue in of
itself.
When someone (your management at budget time?) says, "Sybase
rocks" or "SQL Server rules, just look at these benchmark results," it is
useful to know what those results mean, where they came from, and how they were
obtained (under what conditions).
The Transaction Processing Performance Council
Yes, it is another one of those somewhere-on-the-Internet
entities that wields power and control over our lives. The TPC "defines
transaction processing and database benchmarks and delivers trusted results to
the industry." The home page is at www.tpc.org,
and you can see who the major members are in the picture below.
As you can readily see, all of the big names - platform,
operating system and database system - are represented.
From the "About the TPC" page, the TPC "produces benchmarks
that measure transaction processing (TP) and database (DB) performance in terms
of how many transactions a given system and database can perform per unit of
time, e.g., transactions per second or transactions per minute." Two commonly
used metrics are variations of transactions per unit of time and cost per
transaction.
The TPC benchmarks are divided into four categories: TPC-C,
TPC-H, TPC-R, and TPC-W, and each category has it own set of metrics as just mentioned.
In the interest of space and time, let's focus on two of them: TPC-C and TPC-R.