On September 9, Microsoft posted an impressive 64-bit Transaction Processing Performance Council (TPC-C) benchmark score that will affect the way many people view SQL Server as an enterprise-class database. Microsoft achieved a nonclustered transactions per minute (tpmC) score of 308,620 and a price per tpmC of $14.96. (You can view testing details and the other top TPC-C scores at http://www.tpc.org.) Although it didn't shatter any existing world records, this is one of Microsoft's most important benchmark scores.
Microsoft has held the world's fastest TPC-C scores for more than a year, but to achieve these scores, the company used distributed partitioned views to create a federated database. I'm not going to explore the pros and cons of Microsoft-based federated databases this week, but for better or worse, few real-world customers build solutions that use federated distributed partitioned views. So, past Microsoft clustered systems that recorded the top TPC-C scores don't match the way most customers build and deploy their solutions. Although I believe that scale-out architectures will eventually win the scalability battle, most people conquer performance problems by scaling up on single-node SMP database machines.
Microsoft has had a hard time convincing some enterprise-class customers that single-node SQL Server boxes can compete effectively on pure performance with UNIX databases. Have you also harbored that thought? Microsoft's newest TPC-C score might make you reconsider your position. SQL Server performance discussions inevitably come around to comparisons with Oracle, so let's look at how SQL Server and Oracle TPC-C test scores compare. Oracle's top TPC-C nonclustered score comes in 48 percent faster than SQL Server's at 423,414 tpmC and has a price per tpmC of $15.64. However, testers achieved the most recent SQL Server score by using a beta version of SQL Server 2000 64-bit (code-named Liberty) running on a beta release of Windows .NET Server (Win.NET Server) 2003, Datacenter Edition. SQL Server 64-bit scores will undoubtedly improve after final versions of the products ship. In addition, SQL Server used only 32 processors, whereas Oracle chewed up 64. Historically, Oracle hasn't been more efficient than SQL Server—it just ran on bigger boxes. It's interesting to note that the best Oracle score achieves 6615 tpmC per processor, whereas SQL Server's best score cranks out 9644 tpmC for each processor. How did I get these numbers? I simply divided the real tpmC score by the numbers of processors in each system. Although these numbers aren't official TPC results, they do demonstrate the per-processor efficiency of SQL Server and Wintel. And the comparison tells you that SQL Server and Windows scale effectively and that SQL Server performed more efficiently per processor than Oracle in these latest TPC-C benchmarks.
If you've been running your business on SQL Server, you know that Microsoft continues to push the limits of high-end scalability and that Windows-based platforms continue to close the hardware gap with UNIX as SQL Server scales up to 64-bit processing and Wintel boxes support more and faster processors. Microsoft's new capabilities in the 64-bit database and hardware space produce top-end database performance. Think SQL Server can't handle the performance needs of your business? You owe it to yourself, and your wallet, to reconsider.