通过DB2 TPC-C基准实现探索SQL(1)

简介

在过去一年半的时间里,在 标准TPC-C基准方面有很多DB2 for LUW 活动,这个基准常用于测试在线事务处理环境中的性能。其结果跨度很大,在具备通常配置的机器上,它可能是非常小的数字,在那些家庭和工作中不多见的特殊配置上,又可能是非常大的数字。

虽然填充数据库模式的行的数量可能被调整到一定规模,但有一个地方仍然是相同的:SQL。在本文中,您将认识 TPC-C 基准的逻辑,理解 SQL 技术,并发现如何在实际的客户环境中使用 SQL 技术。

为了达到这个目的,作者 Serge Rielau 这样来组织这篇文章:首先介绍该基准的 DB 模式以及它的事务。接着,他将分析每个事务,并解释每个事务的 SQL 特性。到本文的最后,您应该对 TPC-C 基准以及 DB2 的高级 SQL 特性,包括它们背后的机理有更好的理解。

TPC-C: 基准简述

TPC-C 基准使用一小组事务和表来模拟一家分销企业,该企业有一个产品销售周期。每个事务的外部模式和语义都被 正式指定。为了简短地概述一下,并提供一个基本模式以供使用,下面给出了一个概要。 其中,表用 粗体标记,事务用 斜体 显示:

用于该基准的数据库主要由仓库(warehouses)、地区(districts)、产品(items)和客户(customers)组成。在每个 WAREHOUSE 中的 STOCK(库存)里有 100,000 个 ITEM。每个仓库为 10 个 DISTRICT 服务。每个地区为 3000 名 CUSTOMER 服务,这些客户 ORDER(订购)新产品。 每份 ORDER(订单)最多可以由 15 种不同产品组成,称作 ORDER_LINE(订购项)。在给订单发货之前,订单作为一个 NEW_ORDER 进行排队,仓库中每种产品的库存要进行调整……在 DELIVERY(发货)时,要向客户收费。在 PAYMENT(支付)时,该事务被存档在 HISTORY(历史)中,收入要记帐。

此外,客户可以查问他们的 ORDER STATUS(订单状态),仓库管理员可以查问订单上所订产品的 STOCK LEVEL(库存水平)。

为了更切合实际,客户容易忘记他们的客户 ID,因此必须能够按用户的姓氏(last name)查找客户 ID,但客户的姓可能有重复现象。而且,本地的仓库可能无法满足所有的订单,这要求从远处的仓库发货过来。

一个仓库所能处理的新订单的数量限制在每分钟 9 到 12.86 个事务之间。这意味着,为了达到 320 万 TpmC (NEW ORDER Transactions per minute TPC-C),至少需要借助 256,000 多个仓库。这意味着有 77 亿 注册客户。因此,除非您有足够的磁盘和一个大的保险丝,否则不要试。

时间: 2024-11-02 12:51:02

通过DB2 TPC-C基准实现探索SQL(1)的相关文章

通过DB2 TPC-C基准实现探索SQL(2)

PAYMENT事务 PAYMENT事务有两种版本.对于那些提供了客户id 的客户,使用第一种版本.对于不记得客户ID,而只提供了姓氏的客户,使用第二种版本.这里只讨论第二种版本,因为其中提出了第一种版本中所没有的挑战. 在支付事务(按姓氏)中,必须发生以下步骤: 检索地区的名称和地址. 根据姓氏发现客户的客户 id.如果在该地区有多个同姓的客户,则正确的客户应该是根据客户的名字得来的"中间"客户. 检索客户的个人信息. 增加该地区至今为止的收入. 增加仓库至今为止的收入. 增加客户的支

DB2 for i5/OS上的SQL性能优化目标评测

简介 DB2 for i5/OS on V5R4 提供了一些新方法来通过一些流行的动态 SQL 接口提高数据库查询的性能.SQL Call Level Interface (CLI) 为用户提供了一个新的连接属性,用于调优数据库查询使用的优化目标.用于 IBM Developer Kit for Java 的 Java Database Connectivity (JDBC) 接口(也称 Native JDBC)和 Toolbox 也提供了一个新的可控制查询优化目标的连接属性.那些熟悉 Syst

DB2中两种语言:SQL/XML和XQuery的使用

您可以单独使用 XQuery 和 SQL,但也可将 XQuery 嵌入 SQL 中使用(反之亦可).每一种可选方案在特定环境下都非常有用.本文将讨论这些可选方案,介绍其各自的优缺点,并给出根据您的需求选择恰当方案的指导原则. DB2 中的 pureXML 支持为管理 XML 数据提供了高效且通用的功能.DB2 以 XML 数据自身固有的分层格式存储和处理这些数据,避免因为将 XML 存储为 CLOB 中的文本或将它映射为关系表而导致的性能和灵活性限制.与仅使用 XML 的数据库不同,DB2 V9

MS SQL Server 大战 IBM DB2

数据库技术是计算机科学中发展最快的领域之一,数据库的诞生和发展给计算机信息管理带来了一场巨大的革命. 数据库的诞生和发展给计算机信息管理带来了一场巨大的革命, 作为关系数据库领域的开拓者和领航人,IBM在1983年推出第一款数据库DB2 for MVSV1 ,目前,其最新版本为DB2 9.7 版. Microsoft SQL Server提供了良好的性能和扩展性.高有效性.行业领先的安全性且便于管理,但只能用于Windows操作系统,最新版本为SQL Server 2008. 下面对这两类操作系

SQL Server与Oracle、DB2的优劣对比

SQL Server与Oracle.DB2的优劣对比: 1.开放性: SQL Server 只能在Windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的.Windows9X系列产品是偏重于桌面应用,NT Server只适合中小型企业.而且Windows平台的可靠性,安全性和伸缩性是非常有限的.它不象unix那样久经考验,尤其是在处理大数据量的关键业务时. Oracle 能在所有主流平台上运行(包括 windows).完全支持所有的工业标准.采用完全开放策略.可以使客户选

使用SQL语句优化DB2应用程序性能

当我们设计一个新的或分析一个现存的系统时,其中所要考虑的一个重要问题就是应用程序的设计问 题.即使数据库设计得很好而且还经过优化处理,应用程序设计不适当还是会引起性能问题的 数据库. 实践证明,如果应用程序存在设计上的问题,那么修改这些问题比调整数据库配置参数更能改善应用程序 的性能. 例如,SQL是一种高级语言,具有很大的灵活性,从数据库中提取相同的数据可以用不同形式的SELECT 语句来实现,但是,应用程序的性能却随着SELECT语句形式的不同而大相径庭,这是因为不同形式的 SELECT语句

调优IBM DB2 UDB SQL存取路径

简介 Visual Explain 是 IBM DB2 Universal Database 中的杰出工具,程序员和 DBA 用它来详细说明 DB2 优化器为 SQL 语句所选择的存取路径.事实上,Explain 应该是您性能监控策略的 关键组件.Explain 为解决许多类型的性能问题提供了价值无法估量的信息,因为它提供这样的细节: DB2 在"幕后"所做的工作,以实现 SQL 请求的数据需求 DB2 是否使用可用的索引,如果使用,DB2 如何使用它们 为满足连接条件而访问 DB2

SQL Server 2008与IBM DB2对比

Microsoft SQL Server 2008提供了更好的性能和扩展性.高有效性.行业领先的安全性.更容易的管理能力.提高的开发人员生产力.领先的商业智能和数据仓储能力.一个用于主机OLTP的平台和SAP集成--所有这些都以低于IBM DB2的总体拥有成本提供.基于此,许多公司从DB2移植到了SQL Server.目前SQL Server在新的关系型数据库管理系统许可证市场中所占的份额高于DB2. 对比方面 · 总体拥有成本(TCO)和ROI · 性能和可扩展性 · 高有效性 · 安全性 ·

SQL Server链接服务器访问DB2设置步骤图解

原文 http://database.51cto.com/art/201108/283240.htm SQL Server可以使用链接服务器功能来连接其他的数据库,以实现不同数据库之间的操作.本文我们主要介绍了利用SQL Server利用链接服务器连接访问DB2数据库的操作步骤,并给出了详细的截图,接下来就让我们一起来了解一下这部分内容吧. 使用SQL SERVER的链接服务器连接DB2 1.下载安装Microsoft OLEDB Provider for DB2,SQL SERVER链接服务器