Patent classifications
G06F16/2453
System and method for disjunctive joins using a lookup table
Joining data using a disjunctive operator using a lookup table is described. An example computer-implemented method can include receiving a query with a set of conjunctive predicates and a set of disjunctive predicates. The method may also include generating a lookup table for each predicate in the sets of conjunctive predicates and disjunctive predicates. The method, for each row in a probe-side table, may also further include looking up a value associated with that row in each of the lookup tables and adding the row to a results set when there is a match. Additionally, the method may also include returning the results set.
QUERY OPTIMIZATION FOR DEEP CONVOLUTIONAL NEURAL NETWORK INFERENCES
A method may include generating views materializing tensors generated by a convolutional neural network operating on an image. Determining the outputs of the convolutional neural network operating on the image with a patch occluding various portions of the image. The outputs being determined by generating queries on the views that performs, based at least on the changes associated with occluding different portions of the image, partial re-computations of the views. A heatmap may be generated based on the outputs of the convolutional neural network. The heatmap may indicate the quantities to which the different portions of the image contribute to the output of the convolutional neural network operating on the image. Related systems and articles of manufacture, including computer program products, are also provided.
Database System with Run-Time Query Mode Selection
A query is received from a client device and a mode is selected to process the query from a set of possible modes. The possible modes include a fast mode and a low-cost mode. If the fast mode is selected, the query is forwarded to a cloud database to retrieve responsive records. If the low-cost mode is selected, the cloud database is queried for index metadata of responsive records and the index metadata is used to retrieve the responsive records from a datastore other than the cloud database. Regardless of the mode selected, the responsive records are provided to the client device.
Subquery predicate generation to reduce processing in a multi-table join
Provided are techniques for efficient subquery predicate generation to reduce processing in a multi-table join. It is determined that a query is to be rewritten, wherein the query includes a predicate for a first column of a first table and a second column of a second table. The query is rewritten with generated subquery predicates for the first table that are to be applied to the second table and with generated subquery predicates for the second table that are to be applied to the first table. Minimum and maximum ranges for columns of the generated subquery predicates at a cursor open are determined. The minimum and maximum ranges are merged to determine inclusive ranges that exist in the first table and the second table. The generated subquery predicates are rewritten as derived local subquery predicates with the inclusive ranges. The query with the derived local subquery predicates is executed.
Techniques for unifying ETL filter operators
Techniques are provided for unifying filter operators in exchange, transform, load (ETL) plans. Such a technique includes a method that may include receiving, by a computer system, an ETL plan including a split operator and a plurality of filter operators. The may include identifying, by the computer system, that the plurality of filter operators are configured to act on data output by the split operator in the ETL plan. The method may include generating, by the computer system, a unified filter operator using the plurality of filter operators. The method may include generating, by the computer system, an updated ETL plan comprising the unified filter operator providing filtered data to the split operator. The method may also include storing the updated ETL plan in a data store.
Crux detection in search definitions
Crux detection in search definition sets is provided herein. Crux detection can include generating a hierarchical representation of a search definition set. The hierarchical representation can be reduced by removing search definitions unrelated to a target search definition. The search definitions in the reduced hierarchical representation can be focused by removing inapplicable elements or operations in the search definitions. Focusing the search definitions in the reduced hierarchical representation can include removing context-irrelevant elements and/or removing search-definition-irrelevant elements. The focused reduced hierarchical representation can be analyzed to identify implementation cruxes in the search definitions. Cruxes can include performance-impacting elements of the search definitions. The cruxes can be tagged and provided for redevelopment or analysis.
Crux detection in search definitions
Crux detection in search definition sets is provided herein. Crux detection can include generating a hierarchical representation of a search definition set. The hierarchical representation can be reduced by removing search definitions unrelated to a target search definition. The search definitions in the reduced hierarchical representation can be focused by removing inapplicable elements or operations in the search definitions. Focusing the search definitions in the reduced hierarchical representation can include removing context-irrelevant elements and/or removing search-definition-irrelevant elements. The focused reduced hierarchical representation can be analyzed to identify implementation cruxes in the search definitions. Cruxes can include performance-impacting elements of the search definitions. The cruxes can be tagged and provided for redevelopment or analysis.
Hash trie based optimization of database operations
A method may include inserting, into a hash trie, data records from a database table. The inserting may include traversing the hash trie to identify, for each data record included in the database table, a corresponding node at which to insert the data record. The hash trie may be traversed based on a hash of a key value associated with each data record. The node at which to insert a data record may be identified based on an offset forming a binary representation of the hash of a key value associated with that data record. The offset may include a portion of a plurality of binary digits forming the binary representation. A data record may be inserted at a corresponding node by updating a data structure included at the node. A database operation may be performed based on the hash trie filled with the data records from the database table.
Predicting and halting runaway queries
Operations include halting a runaway query in response to determining that a performance metric of the query exceeds a performance threshold. The runaway query halting system receives a query execution plan associated with a query and divides the received execution plan into one or more components. For each component, the system determines a predicted resource usage associated with executing the component. The system further determines a predicted resource usage associated with the query execution plan based on the predicted resource usage associated with each component. The system executes the query associated with the received query execution plan and compares the predicted resource usage associated with the query to a resource usage threshold. In response to determining that the predicted resource usage of the query execution plan exceeds the resource usage threshold, the system halts execution of the query associated with the query execution plan.
Cross-language search
In accordance with one disclosed method, a computing system may receive, via a first version of an application presenting an interface in a first language, a first query entered in a second language different from the first language. The computing system may search resources accessible to a second version of the application to identify at least a first resource corresponding to the first query, the second version of the application being in the second language. Based at least in part on a result of the searching, an indication of the first resource may be returned to the interface.