Pseudo-synchronous processing by an analytic query and build cluster
Assigneesalesforce.com, inc.
InventorsAlex Gitelman, Ruisheng Shi
Life of this patent
Estimating the term…
Abstract
The technology disclosed relates to creating and frequently updating multiple online analytic processing (OLAP) analytic databases from an online transaction processing (OLTP) transaction updatable system that includes transaction commit, rollback, and field level security capabilities. It also relates to transparently decoupling extraction from rebuilding of frequently updated OLAP analytic databases from the OLTP transaction updatable system.
Claims20
A method for controlling deployment of units of work at an execution plan controller, comprising:
- generating an execution plan indicating a plurality of unit of work lists based at least in part on dependencies between the units of work, wherein at least one unit of work list comprises one or more units of work and at least one unit of work comprises at least a portion of instructions for an online analytic processing (OLAP) analytic query and build cluster (AQBC) to build an OLAP dataset, the dependencies indicating one or more prerequisite units of work to complete before one or more dependent units of work;
- dispatching, to the AQBC, one or more first units of work for a first unit of work list according to an order of the execution plan, the order of the execution plan based at least in part on the one or more prerequisite units of work, and wherein the AQBC is configured to implement a data extraction process to build the OLAP dataset;
- receiving, from the AQBC, one or more responses indicating completion of the one or more first units of work;
- determining completion of all units of work comprised in the first unit of work list based at least in part on receiving the one or more responses;
- and
- dispatching one or more second units of work for a second unit of work list to the AQBC based at least in part on the determined completion and according to the order of the execution plan.
An apparatus for controlling deployment of units of work at an execution plan controller, comprising:
- a processor;
- memory coupled with the processor;
- and
- instructions stored in the memory and executable by the processor to cause the apparatus to:
- generate an execution plan indicating a plurality of unit of work lists based at least in part on dependencies between the units of work, wherein at least one unit of work list comprises one or more units of work and at least one unit of work comprises at least a portion of instructions for an online analytic processing (OLAP) analytic query and build cluster (AQBC) to build an OLAP dataset, the dependencies indicating one or more prerequisite units of work to complete before one or more dependent units of work;
- dispatch, to the AQBC, one or more first units of work for a first unit of work list according to an order of the execution plan, the order of the execution plan based at least in part on the one or more prerequisite units of work, and wherein the AQBC is configured to implement a data extraction process to build the OLAP dataset;
- receive, from the AQBC, one or more responses indicating completion of the one or more first units of work;
- determine completion of all units of work comprised in the first unit of work list based at least in part on receiving the one or more responses;
- and
- dispatch one or more second units of work for a second unit of work list to the AQBC based at least in part on the determined completion and according to the order of the execution plan.
A non-transitory computer-readable medium storing code for controlling deployment of units of work at an execution plan controller, the code comprising instructions executable by a processor to:
- generate an execution plan indicating a plurality of unit of work lists based at least in part on dependencies between the units of work, wherein at least one unit of work list comprises one or more units of work and at least one unit of work comprises at least a portion of instructions for an online analytic processing (OLAP) analytic query and build cluster (AQBC) to build an OLAP dataset, the dependencies indicating one or more prerequisite units of work to complete before one or more dependent units of work;
- dispatch, to the AQBC, one or more first units of work for a first unit of work list according to an order of the execution plan, the order of the execution plan based at least in part on the one or more prerequisite units of work, and wherein the AQBC is configured to implement a data extraction process to build the OLAP dataset;
- receive, from the AQBC, one or more responses indicating completion of the one or more first units of work;
- determine completion of all units of work comprised in the first unit of work list based at least in part on receiving the one or more responses;
- and
- dispatch one or more second units of work for a second unit of work list to the AQBC based at least in part on the determined completion and according to the order of the execution plan.
Dependencies are inferred from the claim text.