×

Method and apparatus for performing query aware partitioning

  • US 10,394,813 B2
  • Filed: 08/15/2016
  • Issued: 08/27/2019
  • Est. Priority Date: 07/30/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method for processing a query, the method comprising:

  • receiving, via a processor, a query plan comprising a plurality of queries;

    classifying, via the processor, each one of the plurality of queries;

    computing, via the processor, an optimal partition set for each one of the plurality of queries;

    reconciling, via the processor, the optimal partition set of each one of the plurality of queries with a subset of queries of the plurality of queries, wherein the reconciling is performed after the computing, wherein reconciling comprises;

    testing the optimal partition set of each one of the plurality of queries against all other queries to ensure compatibility;

    selecting an optimal partition set that is compatible with at least two queries of the plurality of queries and has a lowest cost based upon a lowest cost computation, wherein the lowest cost computation comprises a reconciled optimal partition set that provides a least amount of data transfer between a plurality of nodes, wherein a cost is defined as 0 when a query node of the query plan processes only local data, as an input rate of the query node when the query node is incompatible with the optimal partition set and as an output rate of the query node when the query node is compatible with the optimal partition set; and

    using the optimal partition set for the at least two queries of the plurality of queries;

    selecting, via the processor, the reconciled optimal partition set to be used by each query of the plurality of queries;

    storing, via the processor, the reconciled optimal partition set in a computer readable medium;

    applying, via the processor, the reconciled optimal partition set to the query plan to transform the query plan into an optimized query plan, wherein the applying the optimized query plan comprises;

    assigning an operator to each node of a plurality of nodes that each node will execute, wherein at least two of the plurality of nodes perform different operators;

    providing a parameter for each operator at each of the plurality of nodes; and

    informing each node of the plurality of nodes a source and a destination of a data stream;

    applying, via the processor, the optimized query plan to the data stream; and

    outputting, via the processor, a result of the applying to a user.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×