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 (OLAF) 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.
Claims22
A method of controlling deployment of units of work to an analytic query and build cluster (referred to as analytics cluster), following dataflow build specifications defined in the units of work, creating multiple non-updatable online analytic processing (abbreviated OLAP) databases, using hardware resources of the analytics cluster that are shared between building databases and responding to user queries, the method including:
- using an execution plan controller executing on hardware separate from the analytics cluster, deploying the units of work in a current step to the analytics cluster according to an execution plan, including:
- responsive to the execution plan, the execution plan controller grouping the units of work into steps for execution and submitting the units of work for a particular step to the analytics cluster, without prerequisites for order of processing among the units of work in the particular step, and
- further responsive to the execution plan, the execution plan controller
- creating bulk updatable-only builder-input-datasets and
- creating, from the bulk updatable-only builder-input-datasets, multiple non-updatable OLAP analytic databases;
- and
- using the execution plan controller, monitoring completion by the analytics cluster of all units of work in the current step of a step list in the execution plan before deploying to the analytics cluster additional units of work at a next step in the step list.
A system including one or more processors coupled to memory, the memory loaded with computer instructions to control deployment of units of work to an analytic query and build cluster (referred to as analytics cluster), following dataflow build specifications defined in the units of work, creating multiple non-updatable online analytic processing (abbreviated OLAP) databases, using hardware resources of the analytics cluster that are shared between building databases and responding to user queries, the instructions, when executed on the processors, implement actions comprising:
- using an execution plan controller executing on hardware separate from the analytics cluster, deploying the units of work in a current step to the analytics cluster according to an execution plan, including:
- responsive to the execution plan, the execution plan controller grouping the units of work into steps for execution and submitting the units of work for a particular step to the analytics cluster, without prerequisites for order of processing among the units of work in the particular step, and
- further responsive to the execution plan, the execution plan controller
- creating bulk updatable-only builder-input-datasets and
- creating, from the bulk updatable-only builder-input-datasets, multiple non-updatable OLAP analytic databases;
- and
- using the execution plan controller, monitoring completion by the analytics cluster of all units of work in the current step of a step list in the execution plan before deploying to the analytics cluster additional units of work at a next step in the step list.
A non-transitory computer readable storage medium impressed with computer program instructions to control deployment of units of work to an analytic query and build cluster (referred to as analytics cluster), following dataflow build specifications defined in the units of work, creating multiple non-updatable online analytic processing (abbreviated OLAP) databases, using hardware resources of the analytics cluster that are shared between building databases and responding to user queries, the instructions, when executed on a processor, implement a method comprising:
- using an execution plan controller executing on hardware separate from the analytics cluster, deploying the units of work in a current step to the analytics cluster according to an execution plan, including:
- responsive to the execution plan, the execution plan controller grouping the units of work into steps for execution and submitting the units of work for a particular step to the analytics cluster, without prerequisites for order of processing among the units of work in the particular step, and
- further responsive to the execution plan, the execution plan controller
- creating bulk updatable-only builder-input-datasets and
- creating, from the bulk updatable-only builder-input-datasets, multiple non-updatable OLAP analytic databases;
- and
- using the execution plan controller, monitoring completion by the analytics cluster of all units of work in the current step of a step list in the execution plan before deploying to the analytics cluster additional units of work at a next step in the step list.
Dependencies are inferred from the claim text.