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 each unit of work list comprises one or more units of work and each unit of work comprises at least a portion of instructions for an analytic query and build cluster (AQBC) to build a dataset;
- 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;
- 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;
- 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 each unit of work list comprises one or more units of work and each unit of work comprises at least a portion of instructions for an analytic query and build cluster (AQBC) to build a dataset;
- 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;
- 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;
- 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 each unit of work list comprises one or more units of work and each unit of work comprises at least a portion of instructions for an analytic query and build cluster (AQBC) to build a dataset;
- 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:
- 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;
- 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.