Benchmarking @ Adatb haladóknak
Adatbáziskezelők teljesítménymérése
Frigó Erzsébet
[email protected] Adatbázisok haladóknak 2012. 2012. november 18.
Konkrét dolgok
Általános – Metrikák
●
• Mit kell mérni, mi legyen kevés/sok
– Benchmarkok ●
●
●
Mi az a benchmark? Milyen fajták vannak? Tulok
2012. november 13.
Frigó Erzsébet
Népszerű/neves benchmarkok ●
●
TPC-C, E, H
Benchmark alapjául használt adatok
2.
Kérdések, válaszok
Benchmarking @ Adatb haladóknak
Miről lesz szó?
Benchmarking @ Adatb haladóknak
Metrikák (1) Adatbázis-kezelő rendszerek teljesítményét mérjük. Milyen célból mérünk? – – – –
különböző rendszerek összehasonlítása bottleneck/queue keresése teljesítmény jóslása nagyobb terhelés esetére a mérnökök szeretnek mérni
A kérdés: Milyen mennyiségeket mérjünk? 2012. november 13.
Frigó Erzsébet
3.
Benchmarking @ Adatb haladóknak
Metrikák (2) Ár jellegű mennyiség: → idő, pénz[, energia] Eredmény jellegű mennyiség: → lekérdezések száma Metrikák: – lekérdezés/s – $/(lekérdezés/s) – [watt/lekérdezés] 2012. november 13.
Frigó Erzsébet
4.
Benchmarking @ Adatb haladóknak
Benchmarkok Nem mindegy, hogy – kis lekérdezés-nagy lekérdezés – kis adatbázis-nagy adatbázis
Megoldás: standardizálás.
2012. november 13.
Frigó Erzsébet
5.
Benchmarking @ Adatb haladóknak
Mi az a benchmark? Mi az a benchmark? – Olyan a benchmark az adatbáziskezelőnek, mint a zh az évfolyamnak. – kontrollált környezet – standard módszer – különböző rendszerek összehasonlítására alkalmas
2012. november 13.
Frigó Erzsébet
6.
Benchmarking @ Adatb haladóknak
Benchmarkok típusai custom – pontos eredmények, de drága fenntartani
generic – sok hasonló, gyakori eset lefedhető eggyel
domain-specific – online tranzakciós (TPC-C) – döntéstámogató (TPC-H) – engineering database, XML, tudományos adatbázisok, vektorok adatai
hybrid 2012. november 13.
Frigó Erzsébet
7.
Benchmarking @ Adatb haladóknak
Benchmarkok jellemzői Mit várunk el egy benchmarktól? Attól függ... Milyen tulajdonságai lehetnek egy benchmarknak? – – – – – –
releváns az adott domainen érthető, egyszerű, elfogadható nem egyszerűsíti túl a domaint jó metrikák (lineáris, független, monoton) skálázhatóság vendor neutrality
2012. november 13.
Frigó Erzsébet
8.
Benchmarking @ Adatb haladóknak
Ki az a TPC? TPC = Transaction Processing Performance Council non-profit társaság adatbázis-benchmarkokat készítenek objektív, ellenőrizhető adatokat tesznek közzé
2012. november 13.
Frigó Erzsébet
9.
Benchmarking @ Adatb haladóknak
TPC benchmarkjai 3 különböző benchmark: – TPC-C: 1992-es OLTP benchmark – TPC-E: újabb (2007?) OLTP benchmark – TPC-H: döntéstámogató adatbázishoz való benchmark
Mit kapsz a benchmarkhoz? – olyan leírást, mintha fizikai kísérletet végeznél – adatbázis leírása, végrehajtási szabályok, eredmény formája, hol használható 2012. november 13.
Frigó Erzsébet
10.
Benchmarking @ Adatb haladóknak
TPC eredmények
2012. november 13.
Frigó Erzsébet
11.
Benchmarking @ Adatb haladóknak
TPC eredmények
2012. november 13.
Frigó Erzsébet
12.
Benchmarking @ Adatb haladóknak
TPC-C – OLTP benchmark – 1992, azóta 5. verzió → fenntartják, fejlesztik – Keretmese: nagybani piac, raktár, kerületek és vásárlók – 9 tábla, ötféle tranzakció • • • • •
New-order: új rendelés egy vásárlótól Payment: vásárló egyenlegének frissítése fizetés miatt Delivery: rendelés beszállítása (batch tranzakcióként fut) Order-status: egy vásárló utolsó rendelése státusának lekérdezése Stock-level: egy raktár készletének megtenkintése
– Skálázható – Metrika: new-order transaction rate (tpmC, Maximum Qualified Throughput (MQTh), percenként feldolgozott rendelkezések száma)
2012. november 13.
Frigó Erzsébet
13.
Benchmarking @ Adatb haladóknak
TPC-C – minták a dokumentációból This test demonstrates isolation for readwrite conflicts of Order-Status and NewOrder transactions. Perform the follow ing steps: 1. Start a New-Order transaction T1. 2. Stop transaction T1 immediately prior to COMMIT. 3. Start an Order-Status transaction T2 for the same customer used in T1. Transaction T2 attempts to read the data for the order T1 has created. 4. Verify that transaction T2 waits. 5. Allow transaction T1 to complete. T2 should now complete. 6. Verify that the results from T2 match the data entered in T1.
2012. november 13.
Frigó Erzsébet
14.
Benchmarking @ Adatb haladóknak
TPC-E Olyan, mint a TPC-C, csak újabb és nagyobb és jobb. – Keretmese: borkerage house, customers, accounts, securities – Több tábla, oszlop, tranzakció, kulcs, idegen kulcs, adattípus stb. – Pseudo-real data
2012. november 13.
Frigó Erzsébet
15.
Benchmarking @ Adatb haladóknak
TPC-C vs. TPC-E méretek Characteristic TPC-E
TPC-C
Tables
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 27 Keys
7
Check Constraints
22
0
Referential Integrity
Yes
No
2012. november 13.
Frigó Erzsébet
16.
Benchmarking @ Adatb haladóknak
TPC-C vs. TPC-E ER-diagram COMPANY _ COMPETITOR PK,FK 1,I1 PK,FK 2 PK,FK 3
COMPANY
CP_ CO _ ID CP_ COMP _ CO _ ID CP_ IN_ ID
CO _ID
FK3 U1 FK2,U2
CO _ST_ID CO _NAME CO _SC_ID CO _SP_RATE CO _CEO CO _AD _ID CO _DESC CO _OPEN _ DATE
FK1
INDUSTRY PK
PK,U 2,U 1
IN _ID
FINANCIAL PK ,FK1 PK PK
PK
COMPANY _ INDUSTRY
BROKER PK,U 1
B_ ID
ST_ NAME
FK1 U1
B_ ST_ ID B_ NAME B_ NUM _TRAD _ YTD B_ COMM _ YTD
STATUS _TYPE foreign key relationship lines omitted for diagram clarity
ZC _CODE ZC _TOWN ZC _DIV
U1
SC_NAME
PK
NEWS _ ITEM NI_ ID
FK1
LAST _TRADE
NI_ HEADLINE NI_ SUMMARY NI_ ITEM NI_ DTS NI_ SRC NI_ AUTH
PK ,FK1
T_ ID
U 2,U 1 FK 3 FK 4
T_ DTS T_ ST _ID T_ TT_ ID T_ IS_ CASH T_ S _SYMB T_ QTY T_ BID _ PRICE T_ CA _ ID T_ EXEC _ NAME T_ TRAD _ PRICE T_ CHRG T_ COMM T_ TAX T_ LIFO
FK 2,U 2
CUSTOMER _ACCOUNT PK ,U2,U 1
CA _ ID
FK 1 ,U2 FK 2 ,U2 ,U1
CA _ B_ ID CA _ C_ ID CA _ NAME CA _ TAX _ST CA _ BAL
ADDRESS
PK
TRADE PK ,U2 ,U1
ZIP_ CODE PK
SECTOR SC_ID
TR_ T_ ID TR_ DTS TR_ ST_ ID TR_ TT_ ID TR_ S_ SYMB TR_ QTY TR_ BID _PRICE TR_ CA _ID
FK 3 ,U 2 FK 5 ,U 2 FK 2 ,U 2 U2 FK 1 ,U 1
CI_ CO _ID CI_ IN_ ID
PK ,U1
TRADE _ REQUEST
ST_ ID
PK ,FK4 ,U1 ,U 2
FI_ QTR _START _DATE FI_ REV FI_ NET _EARN FI_ BASIC _ EPS FI_ DILUT _ EPS FI_ MARGIN FI_ INVENT FI_ ASSETS FI_ LIAB FI_ DIVID FI_ OUT _BASIC FI_ OUT _DILUT
IN _NAME
PK ,FK1 PK ,FK2
STATUS _TYPE
FI_ CO _ ID FI_ YEAR FI_ QTR
AD _ID
FK 1,U 1
AD_ LINE 1 AD_ LINE 2 AD _ZC _ CODE AD_ CTRY
TRADE _TYPE PK
TT_ ID TT_ NAME TT_ IS_ SELL TT_ IS_ MRKT
CHARGE PK ,FK1 PK
SETTLEMENT
LT_ S _SYMB
PK,FK 2,U1
SE _T_ ID
LT_ DTS LT_ PRICE LT_ OPEN _ PRICE LT_ VOL
FK1,U1
SE SE SE SE
CH _ TT_ ID CH _ C _TIER CH _ CHRG
_CA _ ID _CASH _TYPE _CASH _DUE _ DATE _AMT COMMISSION _ RATE
CASH _ TRANSACTION
EXCHANGE NEWS _XREF PK,FK 2,U 1 PK,FK 1,U 1
CUSTOMER
PK
EX_ ID
FK1
EX_ NAME EX_ NUM _ SYMB EX_ OPEN EX_ CLOSE EX_ DESC EX_ AD _ ID
NX _NI _ ID NX _CO _ID
DAILY _ MARKET PK,U 1 PK,FK 1,U 1
DM _ DATE DM _ S_ SYMB DM _ CLOSE DM _ HIGH DM _ LOW DM _ VOL
PK,U 1
S_SYMB
U1 FK3
S_ISSUE S_ST_ID S_NAME S_EX_ID S_CO _ID S_NUM _ OUT S_START _DATE S_EXCH _ DATE S_PE S_52 WK _ HIGH S_52 WK _ HIGH _ DATE S_52 WK _ LOW S_52 WK _ LOW _DATE S_DIVID S_YIELD
C_ ID
U1 FK 2
C_ TAX _ID C_ ST_ ID C_ L_ NAME C_ F_ NAME C_ M _ NAME C_ GNDR C_ TIER C_ DOB C_ AD _ ID C_ CTRY _ 1 C_ AREA _ 1 C_ LOCAL _ 1 C_ EXT_ 1 C_ CTRY _ 2 C_ AREA _ 2 C_ LOCAL _ 2 C_ EXT_ 2 C_ CTRY _ 3 C_ AREA _ 3 C_ LOCAL _ 3 C_ EXT_ 3 C_ EMAIL _ 1 C_ EMAIL _ 2
FK2,U1 FK1,U1
FK 1
CUSTOMER _ TAXRATE TAXRATE PK
TX_ID
PK ,FK2 PK ,FK1
CX _ TX_ ID CX _ C_ ID
TX_NAME TX_RATE
CT_ T_ID
FK1 ,U1 U1
CT_ CA _ ID CT_ DTS CT_ AMT CT_ NAME
TRADE _ HISTORY
PK ,U1
SECURITY
PK,FK 2,U 1
PK,FK 2,U1 PK,FK 1,U1
TH_T_ ID TH_ST _ID
U1
TH_DTS
PK PK ,FK2 PK ,FK1 PK
CR _ C_TIER CR _ TT_ ID CR _ EX_ ID CR _ FROM _ QTY CR _ TO _QTY CR _ RATE
HOLDING PK ,FK3 ,U2,U 1
H_ T_ ID
FK 1 ,U2 ,U1 FK 2 ,U2 ,U1 U1
H_ CA _ ID H_ S_ SYMB H_ BUY _ DTS H_ PRICE H_ QTY
U2
HOLDING _ HISTORY PK,FK 1 ,U1 PK,FK 2 ,U1
HH _ H_ T_ID HH _ T_ ID HH _ BEFORE _ QTY HH _ AFTER _QTY
ACCOUNT WATCH _ITEM PK ,FK2 PK ,FK1
WI_WL_ID WI_S_ SYMB
2012. november 13.
WATCH _ LIST PK
WL _ID
FK1
WL _C _ ID
PK ,FK 1 PK
_PERMISSION AP _ CA_ ID AP _ TAX_ ID AP _ ACL AP _ L_NAME AP _ F_NAME
Frigó Erzsébet
17.
Benchmarking @ Adatb haladóknak
TPC-C vs. TPC-E adatok 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]
2012. november 13.
Frigó Erzsébet
18.
Benchmarking @ Adatb haladóknak
TPC-H (1) Benchmark döntéstámogató rendszerhez Miben más, miért kell másik benchmark? – nagy adatmennyiség (de itt már tényleg) • sok index
– – – –
összetett, ad-hoc lekérdezések más felhasználók inkább csak olvasás adattárház
2012. november 13.
Frigó Erzsébet
19.
Benchmarking @ Adatb haladóknak
TPC-H (2) – Feltételezések: • 24/7 elérhetőség • időnként frissítés az OLTP adatbázisból
– metrika: TPC-H Power@Size = – lekérdezések: • • • •
nagyon komplex ad-hoc jellegű sok adatot vizsgál mind különböző
2012. november 13.
Frigó Erzsébet
20.
Benchmarking @ Adatb haladóknak
TPC-H ER-diagram
2012. november 13.
Frigó Erzsébet
21.
Benchmarking @ Adatb haladóknak
Benchmark alapjául használt adatbázisok Milyen áladatokat generáljunk a benchmarkba, és milyen módszerrel? – kezdetben simán ismétlődő adatok voltak, egyenletes eloszlással – TPC-C – furcsa, random stringek • NURand – data skew
– TPC-E – igazi adatok megkeverve – csillagászati adatbázis
2012. november 13.
Frigó Erzsébet
23.
T P C - C N U R a n d f u n c t io n : f r e q u e n c y v s 0 ...2 5 5 0 .1 0 .0 9
R e la t iv e F r e q u e n c y o f A c c e s s t o T h is R e c o r d
0 .0 8 0 .0 7 0 .0 6 0 .0 5
c u m u la t iv e d is t r ib u t io n
0 .0 4 0 .0 3 0 .0 2 0 .0 1
R e c o r d Id e n t it iy [ 0 ..2 5 5 ]
2012. november 13.
Frigó Erzsébet
24.
250
240
230
220
210
200
190
180
170
160
150
140
130
120
110
100
90
80
70
60
50
40
30
20
10
0 0
Benchmarking @ Adatb haladóknak
NURand
Benchmarking @ Adatb haladóknak
Kérdések…
…válaszok (?)
2012. november 13.
Frigó Erzsébet
26.
Benchmarking @ Adatb haladóknak
Köszönöm a figyelmet!
Frigó Erzsébet
[email protected] Adatbázisok haladóknak 2012. 2012. november 13.
Frigó Erzsébet
27.szeptember 18. 2012.