parametric query optimization for linear and piecewise
play

Parametric Query Optimization for Linear and Piecewise Linear Cost - PowerPoint PPT Presentation

Parametric Query Optimization for Linear and Piecewise Linear Cost Functions Arvind Hulgeri S. Sudarshan Dept of Computer Science and Engg. Indian Institute of Technology Bombay Parametric query: An example Select * From A, B Where A.x =


  1. Parametric Query Optimization for Linear and Piecewise Linear Cost Functions Arvind Hulgeri S. Sudarshan Dept of Computer Science and Engg. Indian Institute of Technology Bombay

  2. Parametric query: An example Select * From A, B Where A.x = B.y and A.z < ? And B.w < ? � E.g. Cost function f = a 1 .s 1 + a 2 .s 2 + a 3 � Where, s 1 = selectivity of predicate “A.z < ?” s 2 = selectivity of predicate “B.w < ?” a 1 , a 2 , a 3 are constants � (using merge-join assuming relations are sorted on join attribute) VLDB 2002 2

  3. Conventional Opt v/s PQO � Conventional optimization � Assumes complete knowledge of all cost parameters � E.g. selectivity and resource availability � Generates a single optimal plan for a given query � Parametric query optimization (PQO) � Generates multiple candidate plans, each optimal for some region of the parameter space � POSP: Parametrically optimal set of plans � Picks appropriate plan at run time VLDB 2002 3

  4. PQO: A 1-parameter example e c Cost b d a R(a) R(b) R(c) R(d) Parameter R(p) = region of optimality of plan p VLDB 2002 4

  5. Overview � We classify cost functions as: � linear, piecewise linear and non-linear � PQO for linear cost functions � Recursive decomposition algorithm � Cost polytope algorithm � PQO for piecewise linear cost functions � Extend a conventional query optimizer � Non-linear cost functions approximated by piecewise linear cost functions VLDB 2002 5

  6. PQO for Linear Cost Functions � Our solutions use a conventional optimizer as a subroutine � The solutions work for arbitrary number of parameters � Assumption: The conventional optimizer returns the cost function of the optimal plan VLDB 2002 6

  7. Polytope Examples � Convex polytope = intersection of halfspaces Convex polytope Lower convex polytope VLDB 2002 7

  8. Properties of Linear Cost Functions [Ganguly, VLDB98] � If all the vertices of a polytope in the parameter space have same optimal plan then the plan is optimal at all points within that polytope � Each plan in POSP has only one region of optimality and the region is a convex polytope. VLDB 2002 8

  9. Recursive Decomposition Algorithm � Start with the parameter space of interest – a convex polytope � Optimize the vertices of the polytope using a conventional query optimizer � If two of the vertices of a polytope have two different optimal plans then � Partition the polytope into two polytopes � Continue recursively VLDB 2002 9

  10. Shortcomings of the recursive decomposition algorithm � May overpartition the parameter space and may need to merge partitions in a postpass. � We can reduce number of calls to the conventional optimizer using cost polytope algorithm VLDB 2002 10

  11. Cost Polytope Algorithm � Based on an online polytope construction algorithm � The cost function of each plan is represented by a hyperplane in R n+ 1 � N parameter dimensions + 1 cost dimension � Construct the cost polytope � A lower convex polytope that represents the optimal cost at each point in the parameter space VLDB 2002 11

  12. Cost Polytope: An Example Cost b a c R(a) R(b) R(c) Parameter R(p) = region of optimality of plan p VLDB 2002 12

  13. Cost Polytope Algorithm � Start with a initial cost polytope � Put vertices of the parameter space polytope into a queue of vertices to be optimized � Repeat till the queue is empty � Remove and optimize the first vertex in the queue � Intersect the cost hyperplane with the cost polytope � Project new vertices of the cost polytope onto parameter space and insert the projection points into the queue VLDB 2002 13

  14. Cost polytope algorithm: An example Cost a Parameter Not optimized Currently optimized Already optimized VLDB 2002 14

  15. Cost polytope algorithm: An example Cost a c Parameter Not optimized Currently optimized Already optimized VLDB 2002 15

  16. Cost polytope algorithm: An example Cost b c a Parameter Not optimized Currently optimized Already optimized VLDB 2002 16

  17. Cost polytope algorithm: An example Cost b a c Parameter Not optimized Currently optimized Already optimized VLDB 2002 17

  18. Cost polytope algorithm: An example Cost b a c Parameter Not optimized Currently optimized Already optimized VLDB 2002 18

  19. Cost polytope algorithm: An example Cost b a c Parameter Not optimized Currently optimized Already optimized VLDB 2002 19

  20. Faces and facets of a polytope N-D polytope 3-D polytope 0-face facets = (N-1)-faces N-1 U faces = i-faces i = 0 1-face facets = 2-faces F = |faces| faces = f = |facets| = |POSP| 2-faces U 1-faces U 0-faces v = |0-faces| VLDB 2002 20

  21. Complexity of Cost Polytope Algorithm � Cost polytope algorithm makes a maximum of F calls to the optimizer � The lower bound on the number of calls is v � Under certain assumptions, the expected number of calls is (f + v) � In general, in high-dimension, f < < v VLDB 2002 21

  22. Piecewise Linear Cost Functions Cost Parameter � PQO solutions for linear case do not extend to piecewise linear case VLDB 2002 22

  23. Piecewise Linear Cost Function Cost Parameter � Partition the parameter space into convex polytopes � Within each partition the cost function is linear in the parameters � But pre-partitioning the space to make all cost functions linear in each partition is impractical VLDB 2002 23

  24. PQO Algorithm for Piecewise Linear Cost Functions (PLCF) � Extend a conventional query optimizer (System-R or Volcano) � Extensions are intrusive to the query optimizer � Partition space only when necessary (“on demand”) � Extend plan cost: � Cost � Cost function � Extend comparison of alternative operators or plans � Pick min cost plan � MinMergeCostFunctions � Extensions work for arbitrary number of parameters VLDB 2002 24

  25. MinMergeCostFunction: An example Cost Parameter VLDB 2002 25

  26. MinMergeCostFunction: An example Cost Parameter VLDB 2002 26

  27. Extending System-R Algorithm � Extended System-R algorithm is exactly same as basic System-R algorithm except: � Replace cost by cost function � Use AddCostFunction instead of simple cost addition � Use MinMergeCostFunction instead of simple cost comparision VLDB 2002 27

  28. Related Work � Graefe and Karen [SIGMOD'89], Cole and Graefe [SIGMOD'94], Ioannidis, Ng, Shim and Sellis [VLDB'92] � Ganguly and Krishnamurthy [COMAD'94] � Sumit Ganguly [VLDB'98] � Sumit Ganguly, A Framework for Parametric Query Optimization, Unpublished manuscript; Personal Communication, 2001 VLDB 2002 28

  29. Conclusion PQO for linear cost functions: � Simple and minimally intrusive � Works for arbitrary number of parameters PQO for piecewise linear cost functions � Intrusive � Works for arbitrary number of parameters � Very general since nonlinear and discontinuous cost functions can be approximated to piecewise linear form VLDB 2002 29

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