Managing queries in a distributed database system
AssigneeSap SE
InventorLeonardo Weiss F Chaves
Life of this patent
Estimating the term…
Abstract
Queries in a distributed database system are received at computer devices participating in the database system. A determination is made as to which of the respective, participating computer devices has data relevant to the query. Information about the computer devices(s) which has or have the relevant data is communicated to the participating computer devices. Such information is used to determine, at each of the respective participating computer devices, a benefit value for at least one of the participating computer devices. A determination is made as to which the participating computer devices will process the query by comparing the benefit values for the participating computer devices.
Claims18
A computer-implemented method comprising:
- receiving a query at computer devices participating in a database system, the query including a clause with a foreign key that identifies a product being tracked by fewer than all of the computer devices participating in the database system;
- formulating a sub-query at the computer devices, the sub-query including the foreign key that identifies the product as a condition;
- performing the sub-query at the computer devices;
- selecting a subset of the computer devices having data relevant to the query, based on a result of performing the sub-query;
- communicating, among the subset of computer devices having data relevant to the query, information about each computer device of the subset, the information including an amount of data identified at each respective device as a result of the sub-query, an amount of updates made to the identified data during a time interval, and information processing capabilities of each respective device;
- using the information communicated to determine, at each computer device of the subset, a benefit value for at least one of the computer devices of the subset;
- selecting, from among computer devices of the subset, a single computer device having the highest benefit value;
- and
- processing the query using the single computer device having the highest benefit value;
- wherein the information processing capabilities of each respective device further comprises:
- an amount of time to download the identified data from each of the other computer devices of the subset,
- an amount of bandwidth used when downloading updates made to the identified data, and
- an amount of memory used by the identified data.
A database system comprising:
- one or more computer devices;
- and
- a computer-readable medium coupled to the one or more computer devices having instructions stored thereon which, when executed by the one or more computer devices, cause the one or more computer devices to perform operations comprising:
- receiving a query at the computer devices participating in the database system, the query including a clause with a foreign key that identifies a product being tracked by fewer than all of the computer devices participating in the database system,
- formulating a sub-query at the computer devices, the sub-query including the foreign key that identifies the product as a condition,
- performing the sub-query at the computer devices,
- selecting a subset of the computer devices having data relevant to the query, based on a result of performing the sub-query,
- communicating, among the subset of computer devices having data relevant to the query, information about each computer device of the subset, the information including an amount of data identified at each respective device as a result of the sub-query, an amount of updates made to the identified data during a time interval, and information processing capabilities of each respective device,
- using the information communicated to determine, at each computer device of the subset, a benefit value for at least one of the computer devices of the subset,
- selecting, from among computer devices of the subset, a single computer device having the highest benefit value, and
- processing the query using the single computer device having the highest benefit value;
- wherein the information processing capabilities of each respective device further comprises:
- an amount of time to download the identified data from each of the other computer devices of the subset,
- an amount of bandwidth used when downloading updates made to the identified data, and
- an amount of memory used by the identified data.
A computer-readable storage medium encoded with a computer program comprising instructions that, when executed, operate to cause a computer to perform operations comprising:
- receiving a query at computer devices participating in the database system, the query including a clause with a foreign key that identifies a product being tracked by fewer than all of the computer devices participating in the database system;
- formulating a sub-query at the computer devices, the sub-query including the foreign key that identifies the product as a condition;
- performing the sub-query at the computer devices;
- selecting a subset of the computer devices having data relevant to the query, based on a result of performing the sub-query;
- communicating, among the subset of computer devices having data relevant to the query, information about each computer device of the subset, the information including an amount of data identified at each respective device as a result of the sub-query, an amount of updates made to the identified data during a time interval, and information processing capabilities of each respective device;
- using the information communicated to determine, at each computer device of the subset, a benefit value for at least one of the computer devices of the subset;
- selecting, from among computer devices of the subset, a single computer device having the highest benefit value;
- and
- processing the query using the single computer device having the highest benefit value;
- wherein the information processing capabilities of each respective device further comprises:
- an amount of time to download the identified data from each of the other computer devices of the subset,
- an amount of bandwidth used when downloading updates made to the identified data, and
- an amount of memory used by the identified data.
Dependencies are inferred from the claim text.