skew aware automatic
play

Skew-Aware Automatic Database Partitioning in Shared- Nothing, - PowerPoint PPT Presentation

Skew-Aware Automatic Database Partitioning in Shared- Nothing, Parallel OLTP Systems SIGMOD 2012, Pavlo et al. Hefu Chai Credit Part of slides from Andy Pavlo There is a saying Girls are really only interested in two things. They


  1. Skew-Aware Automatic Database Partitioning in Shared- Nothing, Parallel OLTP Systems SIGMOD 2012, Pavlo et al. Hefu Chai

  2. Credit • Part of slides from Andy Pavlo

  3. There is a saying… • Girls are really only interested in two things. They want a guy that is good looking, or they want a guy that really knows a lot about databases. Andy Pavlo

  4. Transaction Transaction Procedure Name Execution Result Input Parameters Client Application Database Cluster Database Cluster 4

  5. 5

  6. Existing database partitioning Techniques • Notion of data declustering • Overhead of maintaining transaction consistency • Lock contention Not applicable to OLTP systems !

  7. OLT OLTP Tr P Transac ansactio tions ns Fa Fast st Re Repe petitive titive Sma Small ll

  8. We need an approach that supports… • Stored Procedure • Load balancing in the presence of time-varying skew • Complex schemas • Deployments with larger number of partitions

  9. Automatic Database Design Tool for Parallel Systems Skew-Aware Automatic Database Partitioning in Shared-Nothing, Parallel OLTP Systems SIGMOD 2012

  10. What are the key issues • Distributed transactions • Temporal workload skew

  11. Distributed transactions TPC-C NewOrder txn/s 150,000 No Distributed Txns 20% Distributed Txns 125,000 100,000 75,000 50,000 25,000 Partitions 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 11

  12. What are the key issues • Distributed transactions • Temporal workload skew

  13. Temporal workload skew • Think about the example of Wikipedia • Even though the average load of the cluster for the entire day is uniform, the load across the cluster for any point is unbalanced • Static Skew Vs. Temporal Skew

  14. DDL DDL SELECT * FROM SELECT * FROM WAREHOUSE WHERE W_ID DTxn SELECT * FROM WARE REHO HOUSE USE WHERE DDL DDL = 10; SELECT * FROM WARE REHOUSE HOUSE WHERE Estimator W_ID = 10; WARE REHO HOUSE USE WHERE Schema CUSTOMER W_ID = 10; SELECT * FROM DISTRICT W_ID = 10; SELECT * FROM DISTRICT RICT Skew WHERE D_W_ID = 10 AND INSERT INTO ORDERS ERS ------- D_W_ID = 10 AND D_ID ------- Estimator ------- D_ID =9; INSERT INTO ORDERS ERS ORDERS (O_W_ID, O_D_ID, =9; Workload (O_W_ID, O_D_ID, O_C_ID) VALUES (10, 9, INSERT INTO ORDERS O_C_ID) VALUES (10, 9, INSERT INTO ORDERS ERS ITEM 12345); (O_W_ID, O_D_ID, 12345); (O_W_ID, O_D_ID, ⋮ O_C_ID,…) VALUES ⋮ O_C_ID) VALUES (10, 9, (10, 9, 12345,…); … 12345); CUSTOME CUSTOME CUSTOME CUSTOME ⋮ R R R R ⋮ ORDERS ORDERS ORDERS ORDERS ITEM ITEM ITEM ITEM 14

  15. • Maintain the tradeoff • • Extend design space Organically handling between distributed to include replicated stored procedure transactions and secondary indexes routing temporal skew Large Neighborhood Search Skew-Aware Cost Model

  16. What are the design options For each table: • Horizontally partition • Replicate on all partitions • Replicate a secondary index for a subset of its column • Effectively route incoming transaction requests

  17. CUSTOMER ORDERS Horizontal Partitioning c_id c_w_id id c_last st … o_id o_c_id _id o_w_id id … 1001 5 RZA - 78703 1004 5 - 1002 3 GZA - 78704 1002 3 - 1003 12 Raekwon - 78705 1006 7 - 1004 5 Deck - 78706 1005 6 - 1005 6 Killah - 78707 1005 6 - 1006 7 ODB - 78708 1003 12 - CUSTOMER CUSTOMER CUSTOMER ORDERS ORDERS ORDERS 17

  18. ITEM Table Replication i_id i_name i_price ice … 603514 XXX 23.99 - 267923 XXX 19.99 - 475386 XXX 14.99 - 578945 XXX 9.98 - 476348 XXX 103.49 - 784285 XXX 69.99 - CUSTOMER CUSTOMER CUSTOMER ORDERS ORDERS ORDERS ITEM ITEM ITEM 18

  19. CUSTOMER Secondary Index c_id c_w_id id c_last st … 1001 5 RZA - 1002 3 GZA - 1003 12 Raekwon - 1004 5 Deck - 1005 6 Killah - 1006 7 ODB - CUSTOMER CUSTOMER CUSTOMER ORDERS ORDERS ORDERS ITM ITEM ITEM 19

  20. Stored Procedure Routing NewOrder (5, “Method Man”, 1234) Client Application CUSTOMER CUSTOMER CUSTOMER ORDERS ORDERS ORDERS ITEM ITEM ITEM 20

  21. What are the key technique contributions • Large-Neighborhood Search • Skew-Aware Cost Model

  22. Large-Neighborhood Search Input Initial Design • Select the most frequently accessed column for horizontal partitioning DD DD ------- ------- • Greedily replicate read-only tables until no space left L ------- • Select next most frequently accessed, read-only column as secondary Schema Workload • Index attribute • Select the routing parameter for stored procedures Initial Design 22

  23. Large-Neighborhood Search Initial Design Relaxation Relaxation • Allow LNS to escape a local minimum and jump to a new neighborhood of potential solutions • Horticulture must decide: • How many tables to relax • Which tables to relax • What design options will be examined for each relaxed table 23

  24. Large-Neighborhood Search Local Search Best Design Restart Relaxation Local Search 24

  25. What are the key technique contributions • Large-Neighborhood Search • Skew-Aware Cost Model

  26. Cost Model + Distributed Workload Transactions Skew Factor

  27. Skew-Aware Cost Model • Accentuates the properties that are important in a DB • Compute quickly • Estimate the cost of an incomplete design • The cost estimates must increase monotonically as more variables are set

  28. Skew-Aware Cost Model • Measure • How much workload executes as a single-partition transactions • How uniformly load is distributed across the cluster Tradeoff!

  29. Skew-Aware Cost Model Coordinator Cost Total number of partitions accessed divided by total number of partitions could have been accessed, and scale it up.

  30. Skew-Aware Cost Model Skew Factor To avoid time varying skew, divide W into finite intervals

  31. Incomplete Designs • Query that references a table with an unset attribute in a design as being unknown • For each unknown query: • Coordinator Cost: Assume that any unknown query is single-partitioned • Skew Factor: Assume that unknown queries execute on all partitions in the cluster • ‘Unknown’ change to ‘known’ • ‘Known’ cannot change to ‘Unknown’ monotonically increase!

  32. Optimizations • Access Graphs • Workload Compression

  33. Access Graph Vertex: Table Edge: tables are co-accessed Weight of edges: the number of times the queries forming the relationship

  34. Optimizations • Access Graphs • Workload Compression

  35. Workload Compression • combine sets of similar queries in individual transactions into fewer weighted records • combine similar transactions into a smaller number of weighted records in the same manner

  36. Th Throu roughp ghput ut Horticulture State-of-the-Art (txn/s /s) 80, 80,000 000 60,000 60, 000 14, 14,000 000 70,000 70,000 12,000 12,000 50,000 50,000 60,000 60,000 10,000 10,000 40,000 40,000 50,000 50,000 8,000 8, 000 40,000 40,000 30,000 30,000 6, 6,000 000 30,000 30,000 20,000 20,000 4,000 4, 000 20,000 20,000 10,000 10,000 2, 2,000 000 10,000 10,000 0 0 0 4 8 16 16 32 32 64 64 4 8 16 16 32 32 64 64 4 8 16 16 32 32 64 64 TATP TA TP TPC TPC-C TPC TPC-C C Sk Skew ewed ed +88% +88% +16% +16% +183% +183%

  37. Se Searc arch Tim h Times es TATP SEATS % Single-Partitioned Transactions TPC-C TPC-C Skewed AuctionMark TPC-E

  38. Andy: it works ! 38

Recommend


More recommend