Scaling for elastic query service system
AssigneeSap SE
InventorsMohsen Asadi, Jacky Hu, Thanh Nguyen
Life of this patent
Estimating the term…
Abstract
Some embodiments provide a non-transitory machine-readable medium that stores a program. The program receives a set of queries for data from a dataset stored in a first database instance. The program further determines that a value calculated based on a set of metrics associated with processing the set of queries for data from the dataset stored in the first database instance exceeds a threshold value. In response to the determination, the program also replicates the dataset from the first database instance to a second database instance.
Claims20
A non-transitory machine-readable medium storing a program executable by at least one processing unit of a computing device, the program comprising sets of instructions for:
- managing a resource pool comprising a set of available database instances;
- receiving a first set of queries for data from a dataset stored in a first database instance included in a set of candidate database instances;
- determining that a first value calculated based on a first set of metrics associated with processing the first set of queries for data from the dataset stored in the first database instance exceeds a first threshold value;
- in response to determining that the first value exceeds the first threshold value:
- calculating a score for each database instance in the set of available database instances in the resource pool;
- selecting a second database instance from the set of available database instances in the resource pool based on the calculated scores;
- removing the second database instance in the set of available database instances from the resource pool;
- adding the second database instance to the set of candidate database instances;
- replicating the dataset from the first database instance to the second database instance;
- determining that a second value calculated based on a second set of metrics associated with the processing of a second set of queries for data from the dataset stored in the second database instance falls below a second threshold value;
- and
- in response to determining that the second value falls below the second threshold value removing the second database instance from the set of candidate database instances and adding the second database instance to the set of available database instances in the resource pool.
A method comprising:
- managing a resource pool comprising a set of available database instances;
- receiving a first set of queries for data from a dataset stored in a first database instance included in a set of candidate database instances;
- determining that a first value calculated based on a first set of metrics associated with processing the first set of queries for data from the dataset stored in the first database instance exceeds a first threshold value;
- in response to determining that the first value exceeds the first threshold value:
- calculating a score for each database instance in the set of available database instances in the resource pool;
- selecting a second database instance from the set of available database instances in the resource pool based on the calculated scores;
- removing the second database instance in the set of available database instances from the resource pool;
- adding the second database instance to the set of candidate database instances;
- replicating the dataset from the first database instance to the second database instance;
- determining that a second value calculated based on a second set of metrics associated with the processing of a second set of queries for data from the dataset stored in the second database instance falls below a second threshold value;
- and
- in response to determining that the second value falls below the second threshold value removing the second database instance from the set of candidate database instances and adding the second database instance to the set of available database instances in the resource pool.
A system comprising:
- a set of processors;
- and
- a non-transitory computer-readable medium storing instructions that when executed by at least one processor in the set of processors cause the at least one processor to:
- manage a resource pool comprising a set of available database instances;
- receive a first set of queries for data from a dataset stored in a first database instance included in a set of candidate database instances;
- determine that a first value calculated based on a first set of metrics associated with processing the first set of queries for data from the dataset stored in the first database instance exceeds a first threshold value;
- in response to determining that the first value exceeds the first threshold value:
- calculate a score for each database instance in the set of available database instances in the resource pool;
- select a second database instance from the set of available database instances in the resource pool based on the calculated scores;
- remove the second database instance in the set of available database instances from the resource pool;
- add the second database instance to the set of candidate database instances;
- replicate the dataset from the first database instance to the second database instance;
- determine that a second value calculated based on a second set of metrics associated with the processing of a second set of queries for data from the dataset stored in the second database instance falls below a second threshold value;
- and
- in response to determining that the second value falls below the second threshold value remove the second database instance from the set of candidate database instances and add the second database instance to the set of available database instances in the resource pool.
Dependencies are inferred from the claim text.