benchmarking hybrid oltp amp olap database systems
play

Benchmarking Hybrid OLTP&OLAP Database Systems Florian Funke - PowerPoint PPT Presentation

Benchmarking Hybrid OLTP&OLAP Database Systems Florian Funke Alfons Kemper Thomas Neumann TU Mnchen The Real-Time Business Intelligence Challenge OLTP and OLAP: very different workloads Separate systems Extract-Transform-Load


  1. Benchmarking Hybrid OLTP&OLAP Database Systems Florian Funke Alfons Kemper Thomas Neumann TU München

  2. The Real-Time Business Intelligence Challenge ◮ OLTP and OLAP: very different workloads ◮ Separate systems ⇒ Extract-Transform-Load process required ◮ Costly ◮ Stale data in OLAP system ◮ Unsuitable for real-time Business Intelligence ⇒ Hybrid DBMS ◮ Various approaches to reconcile OLAP and OLTP ◮ Update staging ◮ Versioning ◮ . . . ⇒ Benchmark for hybrid DBMS ++OLAP ++OLTP Dedicated OLAP-Engines Dedicated OLTP-Engines MonetDB, Vertica, VoltDB, SAP P*Time, SAP T-REX (BWA), TimesT en, SolidDB, IBM ISAO (BLINK) many Start-ups --OLTP --OLAP

  3. The Real-Time Business Intelligence Challenge ◮ OLTP and OLAP: very different workloads ◮ Separate systems ⇒ Extract-Transform-Load process required ◮ Costly ◮ Stale data in OLAP system ◮ Unsuitable for real-time Business Intelligence ⇒ Hybrid DBMS ◮ Various approaches to reconcile OLAP and OLTP ◮ Update staging ◮ Versioning ◮ . . . Hybrid OLTP&OLAP ⇒ Benchmark for hybrid DBMS In-Memory DB-Systems SAP NewDB, SanssouciDB, HyPer ++OLAP ++OLTP Dedicated OLAP-Engines Dedicated OLTP-Engines MonetDB, Vertica, VoltDB, SAP P*Time, SAP T-REX (BWA), TimesT en, SolidDB, IBM ISAO (BLINK) many Start-ups --OLTP --OLAP

  4. Related Work ◮ OLTP ◮ TPC-C & TPC-E ◮ OLAP ◮ TPC-H & TPC-DS ◮ Composite Benchmark for Online Transaction Processing by HPI ◮ Focus: Comparing DBMS for specific use case ⇒ CH-BenCHmark

  5. Benchmark Design ◮ Primary design goal: Comparability of DBMS ◮ Merge of TPC benchmarks ◮ Schema: TPC-C + 3 relations of TPC-H ◮ OLTP workload: TPC-C transactions ◮ OLAP workload: Adapted TPC-H queries

  6. Benchmark Design: Schema Warehouse District W W · 10 History W · 30 k + Customer Stock W · 100 k W · 30 k Neworder W · 9 k + Orderline Item Order 100 k W · 300 k + W · 30 k +

  7. Benchmark Design: Schema Warehouse District W W · 10 Region History 5 W · 30 k + Supplier Nation Customer Stock W · 100 k W · 30 k 10 k 62 Neworder W · 9 k + Orderline Item Order 100 k W · 300 k + W · 30 k +

  8. Benchmark Design: Schema Warehouse District W W · 10 Region History 5 W · 30 k + Supplier Nation Customer Stock W · 100 k W · 30 k 10 k 62 Neworder W · 9 k + Orderline Item Order 100 k W · 300 k + W · 30 k + Computed relationships: ◮ Stock ↔ Supplier ◮ Customer ↔ Nation

  9. Benchmark Design: OLTP Workload NewOrder ◮ 5 TPC-C transactions: (10 OrderLines) ◮ New-Order (44%) 44% ◮ Payment (44%) StockLevel Payment ◮ Order-Status (4%) 4% 44% ◮ Delivery (4%) ◮ Stock-Level (4%) ◮ Distribution & semantics: TPC-C O ) ◮ Differences to TPC-C s r y r d r e e d e v r r i O S l e ◮ No simulated terminals 4 t D 0 a % 1 t % u h s c 4 t ◮ No think-time a b (

  10. Benchmark Design: OLAP Workload ◮ 22 TPC-H queries, adapted to schema, but with original ◮ Business semantics ◮ Syntactical structure ◮ Query 5 TPC-H SELECT n_name , SUM( l_extendedprice * (1 - l_discount)) AS revenue FROM customer , orders , lineitem , supplier , nation , region WHERE c_custkey = o_custkey AND l_orderkey = o_orderkey Q 1 Q π(1) AND l_suppkey = s_suppkey AND c_nationkey = s_nationkey AND s_nationkey = n_nationkey AND n_regionkey = r_regionkey Q 2 Q π(2) AND r_name = ’[REGION]’ AND o_orderdate >= DATE ’[DATE]’ AND o_orderdate < DATE ’[DATE]’ + INTERVAL ’1’ YEAR Q 3 Q π(3) GROUP BY n_name ORDER BY revenue DESC ... ... ◮ Query 5 CH-BenCHmark ... ... ... SELECT n_name , SUM(ol_amount) AS revenue FROM customer , "order", orderline , stock , supplier , nation , region Q 20 Q π(20) WHERE c_id=o_c_id AND c_w_id=o_w_id AND c_d_id=o_d_id AND ol_o_id=o_id AND ol_w_id=o_w_id AND ol_d_id=o_d_id Q 21 Q π(21) AND ol_w_id=s_w_id AND ol_i_id=s_i_id AND mod (( s_w_id * s_i_id) ,10000)=su_suppkey AND ascii(SUBSTRING(c_state , 1, 1))= su_nationkey Q 22 Q π(22) AND su_nationkey = n_nationkey AND n_regionkey = r_regionkey AND r_name=’[REGION]’ AND o_entry_d >=’[DATE]’ GROUP BY n_name ORDER BY revenue DESC

  11. Benchmark Parameters ◮ Size: Number of warehouses ◮ OLTP sessions: Random TPC-C transactions ◮ OLAP sessions: 22 TPC-H queries ◮ Isolation level ◮ Data freshness NewOrder Q 1 Q π(1) (10 OrderLines) 44% Q 2 Q π(2) l e v e Payment L Q 3 Q π(3) % k c 44% 4 o t S ... ... ... ... ... OrderStatus (batch 10 Orders) Delivery Q 20 Q π(20) 4% 4% Q 21 Q π(21) Q 22 Q π(22) OLAP Workload OLTP Workload (n ≥ 1 parallel Query Streams)

  12. The contestants ◮ System X: Universal database system ◮ Popular, commercial DB ◮ Disk-based ◮ MonetDB: OLAP-focused ◮ In-memory column store ◮ “10-year Best Paper Award” + MonetDB, (VLDB 2009) HyPer, VectorWise, SAP NewDB T-REX (BWA), ◮ VoltDB: OLTP-focused OLAP Performance (SanssouciDB) ISAO (BLINK) ◮ H-Store (Stonebraker) successor ◮ In-memory TPC-H CH ◮ Private partitions with BenCHmark serial execution ◮ Java stored procedures DB2, VoltDB, TimesT en ◮ HyPer: Hybrid OLTP & OLAP Oracle 11g, SQL Server TPC-C - - OLTP Performance +

  13. The contestants: HyPer ◮ Main-memory hybrid OLTP&OLAP database system ◮ Kemper&Neumann @ ICDE 2011 ◮ Hardware-/OS-based snapshots to reconcile OLTP & OLAP ◮ Ultra-efficient shadow paging (cf. Lorie ’77) ◮ No synchronization necessary between OLAP & OLTP OLAP Queries c d OLTP Requests /Tx c c d * b a Virtual Memory

  14. The contestants: HyPer Pages OLTP Process Transactions able Page T

  15. The contestants: HyPer Pages fork OLTP Process OLAP Process Transactions Queries able able Page T Page T

  16. The contestants: HyPer Pages OLTP Process OLAP Process Transactions Queries able able Page T Page T Attempted Modification

  17. The contestants: HyPer Pages OLTP Process OLAP Process Transactions Queries able able Page T Page T Copy on Write: 2µs

  18. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A able able Page T Page T

  19. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A able able Page T Page T

  20. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A OLAP Process B able able able Page T Page T Page T

  21. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A OLAP Process B able able able Page T Page T Page T

  22. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A OLAP Process B able able able Page T Page T Page T

  23. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A OLAP Process B OLAP Process C able able able able Page T Page T Page T Page T

  24. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A OLAP Process B OLAP Process C able able able able Page T Page T Page T Page T

  25. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A OLAP Process B OLAP Process C able able able able Page T Page T Page T Page T T erminate B

  26. The contestants: HyPer Multiple Snapshots Pages OLTP Process OLAP Process A OLAP Process B OLAP Process C able able able able Page T Page T Page T Page T T erminated

  27. Experiments ◮ Setup ◮ 2 × quad-core 2.93 GHz Xeon, 64GB memory, RHEL 5.4 ◮ Benchmark size: 12 warehouses ◮ System X ◮ 3 query sessions ◮ 25 OLTP sessions, group commit (5 transactions) ◮ MonetDB ◮ 3 query sessions ◮ no OLTP ◮ VoltDB ◮ No OLAP ◮ 12 “sites” ◮ No partition crossing transactions ◮ HyPer ◮ 3 OLAP sessions or 8 OLAP sessions ◮ 5 OLTP sessions or 1 OLTP session (incl. partition crossing Tx) ◮ Snapshot taken before 1 st transaction

  28. Results System (# OLAP Sessions / # OLTP Sessions) System X (3/25) HyPer (8/1) HyPer (3/5) MonetDB (3/0) VoltDB (0/12) NO tps 222 tps 25 166 tps 112 217 tps – 16 274 tps Total tps 493 tps 55 924 tps 249 237 tps – 36 159 tps Q1 4221 76 70 72 – Q2 6555 282 156 218 – Q3 16410 112 72 112 – Q4 3830 348 227 8168 – Q5 15212 2489 1871 12028 – Q6 3895 24 15 163 – Q7 8285 2622 1559 2400 – Q8 1655 563 614 306 – Q9 3520 457 241 214 – Q10 15309 4288 2408 9239 – Q11 6006 48 32 42 – Q12 5689 324 182 214 – Q13 918 403 243 521 – Q14 6096 420 174 919 – Q15 6768 1407 822 587 – Q16 6088 2157 1523 7703 – Q17 5195 187 174 335 – Q18 14530 240 123 2917 – Q19 4417 292 134 4049 – Q20 3751 313 144 937 – Q21 9382 48 47 332 – Q22 8821 10 9 167 – Queries/s 0.38 q/s 10.49 q/s 5.96 q/s 1.21 q/s –

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend