CPC G06F 16/24542 (2019.01) [G06F 11/3414 (2013.01); G06F 16/24575 (2019.01)] | 19 Claims |
1. A non-transitory machine-readable storage medium comprising instructions that upon execution cause one or more processors to:
receive an input graph representation of one or more query plans for one or more database queries, wherein a query plan of the one or more query plans comprises input graph nodes representing executable steps to be executed to satisfy a database query of the one or more database queries, and input graph edges between the input graph nodes, the input graph edges representing a relationship between the executable steps;
obtain an intermediate graph representation of the one or more query plans, the intermediate graph representation comprising intermediate graph nodes and intermediate graph edges between the intermediate graph nodes, wherein the intermediate graph nodes are associated with node attributes and the intermediate graph edges are associated with edge attributes, the node attributes and the edge attributes forming a collection of attributes, and wherein the intermediate graph nodes represent executable steps of the one or more query plans and input and output data structures used by the executable steps of the one or more query plans;
generate, by an embedding machine learning model based on the intermediate graph representation, a feature vector that provides a distributed representation of the one or more query plans, wherein the feature vector has fewer features than a quantity of attributes in the collection of attributes associated with the intermediate graph representation; and
determine, using the feature vector, one or more user behaviors and/or workload characteristics of one or more workloads in one or more database systems.
|