Presentation is loading. Please wait.

Presentation is loading. Please wait.

@andy_pavlo Automatic Database Partitioning in Parallel OLTP Systems SIGMOD May 22 nd, 2012.

Similar presentations


Presentation on theme: "@andy_pavlo Automatic Database Partitioning in Parallel OLTP Systems SIGMOD May 22 nd, 2012."— Presentation transcript:

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


Download ppt "@andy_pavlo Automatic Database Partitioning in Parallel OLTP Systems SIGMOD May 22 nd, 2012."

Similar presentations


Ads by Google