Author
charles-bizzell
View
238
Download
7
Embed Size (px)
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