tpc - e tpc-e benchmark overview tpc-pr subcommittee feb 2007 © 2007 tpc

23
TPC - E TPC-E Benchmark Overview TPC-PR Subcommittee Feb 2007 © 2007 TPC

Upload: charles-bizzell

Post on 31-Mar-2015

247 views

Category:

Documents


7 download

TRANSCRIPT

TP

C -

E

TPC-E Benchmark Overview

TPC-PR SubcommitteeFeb 2007

© 2007 TPC

TP

C -

ETPC-E Goals

•OLTP Database-centric workload

•Comparability of results (*)

•Familiar business model – easy to understand

•Reduce cost/complexity of running benchmark

•Enhance schema complexity

•Encourage DB uses which are more representative of what customers do

•Address aspects of PDG(*) TPC-E results are intended for OLTP database testing and are not an indicator for past or future market performance, nor should they be used as such.

TP

C -

E

StockExchange

BrokerageHouse

Customers

Synchronous Txns•C2B Environment•Customer Initiated•Request a Trade•Check Status of Trade•Portfolio Summary

Asynchronous Txns•B2B Environment•Send Trade to Market•Receive Trade Result

TickerFeed

CustomerRequest

BrokerageResponse

CustomerRequest

BrokerageResponse

BrokerageRequest

BrokerageRequest

MarketResponse

MarketResponse

TickerFeed

Business Model – Financial Market

TP

C -

E

DRIVER

SUT

StockExchange

BrokerageHouse

Customers

TickerFeed

CustomerRequest

BrokerageResponse

CustomerRequest

BrokerageResponse

BrokerageRequest

BrokerageRequest

MarketResponse

MarketResponse

TickerFeed

Business Model – Financial Market

TP

C -

EBusiness Model – Comparison

TPC-C•Wholesale supplier•Organized by

•Warehouses•Districts•Customers

TPC-E•Brokerage house•Organized by

•Customers•Accounts•Securities

TP

C -

EDatabase Tables

Customer Broker Market ACCOUNT_PERMISSION BROKER COMPANY SECTOR

CUSTOMER CASH_TRANSACTION COMPANY_COMPETITOR SECURITY

CUSTOMER_ACCOUNT CHARGE DAILY_MARKET

CUSTOMER_TAXRATE COMMISSION_RATE EXCHANGE

HOLDING SETTLEMENT FINANCIAL Dimension HOLDING_HIST ORY TRADE INDUSTRY ADDRESS

HOLDING_SUMMARY TRADE_HISTOR Y LAST_TRADE STATUS_TYPE

WATCH_ITEM TRADE_REQUEST NEWS_ITEM TAXRATE

WATCH_LIST TRADE_TYPE NEWS_XREF ZIP_CODE

TP

C -

EDatabase Scaling

Customer Broker Market ACCOUNT_PERMISSION BROKER COMPANY SECTOR

CUSTOMER CASH_TRANSA CTION COMPANY_COMPETITOR SECURITY

CUSTOMER_ACCOUNT CHARGE DAILY_MARKET

CUSTOMER_TAXRATE COMMISSION_RATE EXCHANGE

HOLDING SETTLEMENT FINANCIAL Dimension HOLDING_HISTORY TRADE INDUSTRY ADDRESS

HOLDING_SUMMARY TRADE_HISTOR Y LAST_TRADE STATUS_TYPE

WATC H_ITEM TRADE_REQUEST NEWS_ITEM TAXRATE

WATCH_LIST TRADE_TYPE NEWS_XREF ZIP_CODE

Legend: Fixed Tables Growing Tables Scaling Tables

TP

C -

E

Characteristic TPC-E TPC-CTables 33 9

Columns 188 92

Min Cols / Table 2 3

Max Cols / Table 24 21

Data Type Count Many 4

Data Types UID, CHAR, NUM, DATE, BOOL, LOB

UID, CHAR, NUM, DATE

Primary Keys 33 8

Foreign Keys 50 9

Tables w/ Foreign Keys

27 7

Check Constraints

22 0

Referential Integrity

Yes No

Database Schema Summary

TP

C -

EDatabase – Mile High View

SECTOR

PK ,U1 SC_ID

U 1 SC_NAME

TRADE _TYPE

PK TT_ID

TT_NAMETT_IS_SELLTT_IS_MRKT

TRADE

PK ,U2,U1 T_ID

U 2,U 1 T_DTSFK 3 T_ST _IDFK 4 T_TT_ID

T_IS_CASHFK 2,U 2 T_S _SYMB

T_QTYT_BID _PRICE

FK 1,U 1 T_CA _IDT_EXEC _NAMET_TRAD _PRICET_CHRGT_COMMT_TAXT_LIFO

SECURITY

PK,U 1 S_SYMB

U1 S_ISSUEFK3 S_ST_ID

S_NAMEFK2,U1 S_EX_IDFK1,U1 S_CO _ID

S_NUM _OUTS_START _DATES_EXCH _DATES_PES_52WK _HIGHS_52WK _HIGH _DATES_52WK _LOWS_52WK _LOW _DATES_DIVIDS_YIELD

ACCOUNT _PERMISSION

PK ,FK 1 AP _CA_IDPK AP _TAX_ID

AP _ACLAP _L_NAMEAP _F_NAME

EXCHANGE

PK EX_ID

EX_NAMEEX_NUM _SYMBEX_OPENEX_CLOSEEX_DESC

FK1 EX_AD _ID

HOLDING _HISTORY

PK,FK 1,U1 HH _H_T_IDPK,FK 2,U1 HH _T_ID

HH _BEFORE _QTYHH _AFTER _QTY

COMPANY

PK,U 2,U 1 CO _ID

FK3 CO _ST_IDU1 CO _NAMEFK2,U2 CO _SC_ID

CO _SP_RATECO _CEO

FK1 CO _AD _IDCO _DESCCO _OPEN _DATE

WATCH _ITEM

PK ,FK2 WI_WL_IDPK ,FK1 WI_S_SYMB

ADDRESS

PK AD _ID

AD_LINE 1AD_LINE 2

FK1 AD _ZC _CODEAD_CTRY

WATCH _LIST

PK WL _ID

FK1 WL _C _ID

INDUSTRY

PK IN _ID

IN _NAME ZIP_CODE

PK ZC _CODE

ZC _TOWNZC _DIV

LAST _TRADE

PK ,FK1 LT_S _SYMB

LT_DTSLT_PRICELT_OPEN _PRICELT_VOL

FINANCIAL

PK ,FK1 FI_CO _IDPK FI_YEARPK FI_QTR

FI_QTR _START _DATEFI_REVFI_NET _EARNFI_BASIC _EPSFI_DILUT _EPSFI_MARGINFI_INVENTFI_ASSETSFI_LIABFI_DIVIDFI_OUT _BASICFI_OUT _DILUT

BROKER

PK,U 1 B_ID

FK1 B_ST_IDU1 B_NAME

B_NUM _TRAD _YTDB_COMM _YTD

COMPANY _COMPETITOR

PK,FK 1,I1 CP_CO _IDPK,FK 2 CP_COMP _CO _IDPK,FK 3 CP_IN_ID

CUSTOMER _ACCOUNT

PK ,U2,U 1 CA _ID

FK 1,U2 CA _B_IDFK 2,U2,U1 CA _C_ID

CA _NAMECA _TAX _STCA _BAL

CASH _TRANSACTION

PK,FK 2,U 1 CT_T_ID

FK1,U1 CT_CA _IDU1 CT_DTS

CT_AMTCT_NAME

TRADE _HISTORY

PK,FK 2,U1 TH_T_IDPK,FK 1,U1 TH_ST _ID

U1 TH_DTS

SETTLEMENT

PK,FK 2,U1 SE _T_ID

FK1,U1 SE _CA _IDSE _CASH _TYPESE _CASH _DUE _DATESE _AMT

NEWS _ITEM

PK NI_ID

NI_HEADLINENI_SUMMARYNI_ITEMNI_DTSNI_SRCNI_AUTH

COMPANY _INDUSTRY

PK ,FK1 CI_CO _IDPK ,FK2 CI_IN_ID

CUSTOMER

PK ,U1 C_ID

U 1 C_TAX _IDFK 2 C_ST_ID

C_L_NAMEC_F_NAMEC_M _NAMEC_GNDRC_TIERC_DOB

FK 1 C_AD _IDC_CTRY _1C_AREA _1C_LOCAL _1C_EXT_1C_CTRY _2C_AREA _2C_LOCAL _2C_EXT_2C_CTRY _3C_AREA _3C_LOCAL _3C_EXT_3C_EMAIL _1C_EMAIL _2

TRADE _REQUEST

PK ,FK4,U1,U 2 TR_T_ID

TR_DTSFK 3,U 2 TR_ST_IDFK 5,U 2 TR_TT_IDFK 2,U 2 TR_S_SYMB

TR_QTYU 2 TR_BID _PRICEFK 1,U 1 TR_CA _ID

CUSTOMER _TAXRATE

PK ,FK2 CX _TX_IDPK ,FK1 CX _C_ID

CHARGE

PK ,FK1 CH _TT_IDPK CH _C _TIER

CH _CHRG

STATUS _TYPE

PK ST_ID

ST_NAME

NEWS _XREF

PK,FK 2,U 1 NX _NI _IDPK,FK 1,U 1 NX _CO _ID

DAILY _MARKET

PK,U 1 DM _DATEPK,FK 1,U 1 DM _S_SYMB

DM _CLOSEDM _HIGHDM _LOWDM _VOL

TAXRATE

PK TX_ID

TX_NAMETX_RATE

HOLDING

PK ,FK3,U2,U 1 H_T_ID

FK 1,U2,U1 H_CA _IDFK 2,U2,U1 H_S_SYMBU 1 H_BUY _DTS

H_PRICEU 2 H_QTY

COMMISSION _RATE

PK CR _C_TIERPK ,FK2 CR _TT_IDPK ,FK1 CR _EX_IDPK CR _FROM _QTY

CR _TO _QTYCR _RATE

STATUS _TYPE foreign key relationship lines omitted for

diagram clarity

BrokerCustomerMarketDimension

TP

C -

EDatabase – Content

•Populated with pseudo-real data•Distributions based on:

–2000 U.S. and Canada census data (*)

•Used for generating name, address, gender, etc.•Introduces natural data skew

–Actual listings on the NYSE and NASDAQ

•Benefits–Realistic looking data–Compressible for backup testing, etc.–Closer match to actual customer databases–Anticipate usage well beyond benchmark

(*) only names of 2000 census have been used – all other data are fictional and any similarities are purely coincidental

TP

C -

EDatabase – Content

C_FIRST C_MIDDLE C_LAST C_STREET_1 C_CITY

RONpTGcv5ZBZO8Q OE BARBARABLE bR7QLfDBhZPHlyDXs OmWlmelzIJ0GeP kYM

e8u6FMxFLtt6p Q OE BARBARPRI eEbgKxoIzx99ZTD S 4V1t1VmdVcXyoTOMwpPz

bTUkSuVQGdXLjGe OE BARBARPRES QCGLjWnsqSQPN D S jVHBwIGFh2k oTOMwpPz

18AEf3ObueKvubUX OE BARBARESE JnBSg4RtZbALYu S 5g8XMnlegn oTOMwpPz

mFFsJYeYE6AR bUX OE BARBARANTI MLEwwdy3dXfqngFcE yVVR4iEtj0ADEwe wpPz

C_TAX_ID C_L_NAME C_F_NAME C_M_NAME C_GNDR C_DOB C_EMAIL_1

757FI2006HD923 Mexicano Courtney T F 1997-11-30 [email protected]

922SN3775RQ823 Udley Judith F F 1954-09-27 [email protected]

006GT3444BE624 Buchanan John R M 1971-06-13 [email protected]

181UZ4114LR434 Soloman Clinton D M 1938-02-27 [email protected]

355IE4773VF335 Orner Harry P M 1974-11-15 [email protected]

• Sample data from TPC-E CUSTOMER table

•Sample data from TPC-C CUSTOMER table

TP

C -

EDatabase – Content

•Database creation is vendor specific, but…

•Database population can be vendor neutral

•TPC-E includes a data generator for database loading

•C++ code to generate data•MSSQL ODBC interface provided•Flat file generation provided•Sponsor is free to customize interface

TP

C -

ETransactions - Overview

Name Symbol Access DescriptionBroker-Volume BV RO DSS-type medium query

Customer-Position CP RO “What am I worth?”

Market-Feed MF RW Processing of Stock Ticker

Market-Watch MW RO “What’s the market doing?”

Security-Detail SD RO Details about a security

Trade-Lookup TL RO Look up historical trade info

Trade-Order TO RW Enter a stock trade

Trade-Result TR RW Completion of a stock trade

Trade-Status TS RO Check status of trade order

Trade-Update TU RW Correct historical trade info

TP

C -

ETransactions – Runtime Flow

System Under Test (SUT)Driver

BrokerageHouse

MarketExchangeEmulator

CustomerEmulator

TO

TR

MF

sT

eT

TOsT

eT

Orders

TR

ACKeT

Ticker

MF

ACKeT

TickersT

sT

Trade Confirmation

CP

MW

TS

TU

TL

SD

Limit Orders

BV

CP

SD

TS

TU

TL

BV MW

Data Maintenance DM DM

sT

eT

LimitOrder

MarketOrder

Asynch . Send To MarketInterface

TriggeredLimit

Orders

Process

TP

C -

E“Real-world” basis for TPC-E

NetworkNetwork

DatabaseServices

ApplicationAnd

Business LogicServices

PresentationServices

Workstation

Laptop

Hand-held

Cell phone

Examples ofUser Interfaces

Stock MarketExchange

Example ofExternal Business

Modeled Business

Legend

Customer

Sponsor Provided

Stock Market

NetworkNetwork

DatabaseServices

ApplicationAnd

Business LogicServices

PresentationServices

Workstation

Laptop

Hand-held

Cell phone

Examples ofUser Interfaces

Stock MarketExchange

Example ofExternal Business

Modeled Business

NetworkNetwork

DatabaseServices

ApplicationAnd

Business LogicServices

PresentationServices

Workstation

Laptop

Hand-held

Cell phone

Examples ofUser Interfaces

Stock MarketExchange

Example ofExternal Business

Modeled Business

Legend

Customer

Sponsor Provided

Stock Market

LegendLegend

Customer

Sponsor Provided

Stock Market

Customer

Sponsor Provided

Stock Market

TP

C -

E

Abstraction of “Real-world”

UserInterfaces

NetworkNetwork

DatabaseServices

Modeled Business

ApplicationAnd

Business LogicServices

PresentationServices

MarketExchange Legend

Customer

Sponsor Provided

Stock Market

UserInterfaces

NetworkNetwork

DatabaseServices

Modeled Business

ApplicationAnd

Business LogicServices

PresentationServices

MarketExchange

UserInterfaces

NetworkNetwork

DatabaseServices

Modeled Business

ApplicationAnd

Business LogicServices

PresentationServices

MarketExchange Legend

Customer

Sponsor Provided

Stock Market

LegendLegend

Customer

Sponsor Provided

Stock Market

Customer

Sponsor Provided

Stock Market

• Points to remember– Data generator code provide by TPC– PDG requested User Interface not be present– Goal: Database-centric workload

TP

C -

EFunctional Components of TPC-E

SponsorProvided

Frame Implementation

Database Logic

EGenTxnHarness Connector

TPC-E Logic and Frame Calls

EGenDriver Connector

EGenDriverCE

CE…

…CE

EGe nDrive rMEE

MEE…

…MEE

EGe nDrive rDM

DM…

…DM

Driving and Reporting

EGenDriver

EGenTxnHarnes s

CommercialProduct

S pons orProvided

S pons orProvided

S pons orProvided

TPC DefinedInterfaces

TPC DefinedInterface

DBMS

Ne twork

Comme rc ial Produc t

TPC Provide d

Spons or Provide d

TPC De fine dInte rfa ce

Le ge nd

Databas e Interface

S pons orProvided

Frame Implementation

Databas e Logic

EGenTxnHarnes s Connector

TP C -E Logic and Frame Calls

EGenDriver Connector

EGe nDrive rCE

CE…

…CE

EGe nDrive rMEE

MEE…

…MEE

EGe nDrive rDM

DM…

…DM

Driving and Reporting

EGenDriver

EGenTxnHarnes s

CommercialProduct

S pons orProvided

S pons orProvided

S pons orProvided

TPC DefinedInterfaces

TPC DefinedInterface

DBMS

Ne twork

Comme rc ial Produc t

TPC Provide d

Spons or Provide d

TPC De fine dInte rfa ce

Le ge nd

Comme rc ial Produc t

TPC Provide d

Spons or Provide d

TPC De fine dInte rfa ce

Le ge nd

Databas e Interface

TP

C -

EDriver & System Under Test (SUT)

System Under Test

(SUT)

Tier A

Tier B

Mandatory NetworkBetween Driver and Tier A

EGenDriver Connector

EGenDriverCE

CE…

…CE

EGe nDrive rMEE

MEE…

…MEE

EGe nDrive rDM

DM…

…DM

Driving and Reporting

Frame Implementation

Databas e Logic

EGenTxnHarnes s Connector

TP C -E Logic and Frame Calls

DBMS

Driver

Comme rc ial Produc t

TPC Provide d

Spons or Provide d

TPC De fine dInte rfa ce

Le ge nd

Databas e Interface

Tier A

Tier B

Mandatory NetworkBetween Driver and Tier A

EGenDriver Connector

EGe nDrive rCE

CE…

…CE

EGe nDrive rMEE

MEE…

…MEE

EGe nDrive rDM

DM…

…DM

Driving and Reporting

Frame Implementation

Databas e Logic

EGenTxnHarnes s Connector

TP C -E Logic and Frame Calls

DBMS

Driver

Comme rc ial Produc t

TPC Provide d

Spons or Provide d

TPC De fine dInte rfa ce

Le ge nd

Comme rc ial Produc t

TPC Provide d

Spons or Provide d

TPC De fine dInte rfa ce

Le ge nd

Databas e Interface

TP

C -

EImplementation Details

• Transaction Harness– Transaction pseudo

code provided– C++ class for each

transaction– The Harness defines

• Inputs• Outputs• Transaction logic• “Frames”

DBMS

TPC -E Transaction

Frame N

Frame 1

EGenTxnHarness

TPC -E Logic

TPC -E Logic

TPC -E Logic

Frame Call

Frame Return

Frame Call

Frame Return

TPC -E Logic

Input from Driver

Output to Driver

Legend

TPC Provided

Sponsor Provided

Commercial Product

DBMS

TPC -E Transaction

Frame N

Frame 1

EGenTxnHarness

TPC -E Logic

TPC -E Logic

TPC -E Logic

Frame Call

Frame Return

Frame Call

Frame Return

TPC -E Logic

Input from Driver

Output to Driver

DBMS

TPC -E Transaction

Frame N

Frame 1

EGenTxnHarness

TPC -E Logic

TPC -E Logic

TPC -E Logic

Frame Call

Frame Return

Frame Call

Frame Return

TPC -E Logic

Input from Driver

Output to Driver

Legend

TPC Provided

Sponsor Provided

Commercial Product

LegendLegend

TPC Provided

Sponsor Provided

Commercial Product

TPC Provided

Sponsor Provided

Commercial Product

TP

C -

ESample Implementation

System Under Test

Driver Tier A Tier B

Data

Data

Data

Database Server

App. Server

App. Server

App. Server

Mandatory Network between

Driver and Tier A

Network

System Under Test

Driver Tier A Tier B

DataData

DataData

DataData

Database ServerDatabase Server

App. ServerApp. Server

App. ServerApp. Server

App. ServerApp. Server

Mandatory Network between

Driver and Tier A

Network

TP

C -

ESummary - Highlights

•Financial business model

•Rich transaction set

•Major components provided

•Diverse, realistic schema•Extensive use of non-primary key access•Foreign key relationships•Complex DML•Referential integrity

•Availability requirements•Storage media must be fault tolerant•Practical implication: RAID-1 or RAID-5

TP

C -

E

• Server-centric workload with strong DB focus

• Broader coverage: database functions, schema, features

• Realistic application transaction model

• Ease of benchmarking: quicker startup, lower cost

• Reduced I/O requirements

• Comparability of results

• Realistic database schema, population, and transactions

• Learns from TPC history

• Specification provides code where sponsor creativity not being tested

Summary - Benefits

TP

C -

E

• TPC, TPC Benchmark and TPC-C are trademarks of the Transaction Processing Performance Council.All other materials are © 2007 TPC. All rights reserved.

Trademarks and Copyright