| CPC G06F 16/2458 (2019.01) [G06F 16/284 (2019.01); G06N 5/04 (2013.01); G06N 20/00 (2019.01)] | 20 Claims |

|
1. A system, comprising:
a processor and a memory having computer-executable instructions stored thereupon which, when executed by the processor, cause the processor to:
receive an inference query to apply on data local to a relational database management system, the inference query comprising one or more database operators and one or more machine learning operators relating to a decision tree;
perform static analysis of the inference query and the decision tree to generate a unified intermediate representation of the inference query;
perform cross-optimization of the unified intermediate representation based, at least in part, upon the one or more machine learning operators and the one or more database operators, the cross-optimization involving pruning the decision tree based at least in part on a particular database operator of the inference query specifying a where condition;
based, at least in part, upon the cross-optimization, determine a first portion of the unified intermediate representation to be executed by a database relational engine of the relational database management system, and, a second portion of the unified intermediate representation to be executed by a machine learning runtime integral to the relational database management system;
generate code for the database relational engine based, at least in part, upon the cross-optimization and the first portion of the unified intermediate representation;
within the relational database management system, execute the generated code for the database relational engine using the database relational engine, and, execute the second portion of the unified intermediate representation using the machine learning runtime integral to the relational database management system; and
provide a result to the inference query based, at least in part, upon execution of the first portion of the unified intermediate representation using the database relational engine, and, execution of the second portion of the unified intermediate representation using the machine learning runtime.
|