Download presentation
Presentation is loading. Please wait.
Published byNathaniel Shepherd Modified over 9 years ago
1
@andy_pavlo Automatic Database Partitioning in Parallel OLTP Systems SIGMOD May 22 nd, 2012
2
2
3
3
4
4
5
5
6
Main Memory Parallel Shared-Nothing Transaction Processing H-Store: A High-Performance, Distributed Main Memory Transaction Processing System Proc. VLDB Endow., vol. 1, iss. 2, pp. 1496-1499, 2008.
7
7 Client Application Database Cluster Procedure Name Input Parameters Procedure Name Input Parameters Transactio n Execution Transactio n Execution Database Cluster Transactio n Result Transactio n Result
8
TPC-C NewOrder 8
9
9
10
10
11
Automatic Database Design Tool for Parallel Systems Skew-Aware Automatic Database Partitioning in Shared-Nothing, Parallel OLTP Systems SIGMOD 2012
12
… Sche ma Worklo ad -------------- ------- D DL SELECT * FROM WAREHOUSE WHERE W_ID = 10; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID) VALUES (10, 9, 12345); ⋮ SELECT * FROM WAREHOUSE WHERE W_ID = 10; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID) VALUES (10, 9, 12345); ⋮ SELECT * FROM WAREHOUSE WHERE W_ID = 10; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID) VALUES (10, 9, 12345); ⋮ SELECT * FROM WAREHOUSE WHERE W_ID = 10; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID) VALUES (10, 9, 12345); ⋮ SELECT * FROM WAREHOUSE WHERE W_ID = 10; SELECT * FROM DISTRICT D_W_ID = 10 AND D_ID =9; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID) VALUES (10, 9, 12345); ⋮ SELECT * FROM WAREHOUSE WHERE W_ID = 10; SELECT * FROM DISTRICT D_W_ID = 10 AND D_ID =9; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID) VALUES (10, 9, 12345); ⋮ SELECT * FROM WAREHOUSE WHERE W_ID = 10; SELECT * FROM DISTRICT WHERE D_W_ID = 10 AND D_ID =9; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID,…) VALUES (10, 9, 12345,…); ⋮ SELECT * FROM WAREHOUSE WHERE W_ID = 10; SELECT * FROM DISTRICT WHERE D_W_ID = 10 AND D_ID =9; INSERT INTO ORDERS (O_W_ID, O_D_ID, O_C_ID,…) VALUES (10, 9, 12345,…); ⋮ NewOrde r DDL CUSTOM ER ORDERS ITEM 12
13
o_ido_c_ido_w_i d … 7870310045- 7870410023- 7870510067- 7870610056- 7870710056- 78708100312- c_idc_w_idc_last… 10015RZA- 10023GZA- 100312Raekwo n - 10045Deck- 10056Killah- 10067ODB- CUSTOMERORDERS CUSTO MER ORDER S CUSTO MER ORDER S CUSTO MER ORDER S ITEM i_idi_namei_price… 603514XXX23.99- 267923XXX19.99- 475386XXX14.99- 578945XXX9.98- 476348XXX103.49- 784285XXX69.99- ITEMITEMITEM CUSTOMER c_idc_w_idc_last… 10015RZA- 10023GZA- 100312Raekwo n - 10045Deck- 10056Killah- 10067ODB- 13
14
CUSTO MER ORDER S CUSTO MER ORDER S CUSTO MER ORDER S ITEMITEMITEM Client Application NewOrder(5, “Method Man”, 1234) 14
15
Best Design Input Worklo ad -------------- ------- Sche ma D DL Initial Design Relaxation Local Search Restart Large- Neighborhood Search 15
16
Distributed Transactions Workload Skew Factor + Cost Model
17
Algorithm Comparison (cost estimate) lower is better TATPTPC-CTPC-C Skewed 17 HorticultureState-of-the-Art
18
+88%+16%+183% HorticultureState-of-the-Art Throughput TATPTPC-CTPC-C Skewed 18 (txn/sec) higher is better
19
19
20
Conclusion: Dating scene is still difficult. But partitioning your database is now easier.
21
http://github.com/apavlo/h-store http://hstore.cs.brown.edu
22
TATPTPC-C TPC-C Skewed TPC-E % Single-Partitioned Transactions Search Times 22
23
Improvement Breakdown 23 TATP – 64 Partitions (txn/sec)
24
Scaling Search Times 24 (minutes) 10 Partitions100 Partitions1,000 Partitions10,000 Partitions
25
FastRepetitiveSmall OLTP Transactions
26
Database Cluster Client Application Transactio n Result Transactio n Result 26 Two-Phase Commit Prepare Two-Phase Commit Prepare Two-Phase Commit Finish Two-Phase Commit Finish
27
27
28
NoSQL+OldSQL
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.