Management of sparse data for database systems with multiple processing units
First Claim
1. A computer-implemented method of limiting a number of processors that process data in a database system configured to process data using multiple processors, wherein the computer-implemented method is implemented at least partly by a computer that includes one or more physical processors configured to process the data stored in a non-transitory storage medium, and wherein the computer-implemented method comprises:
- obtaining a limit on the number of processors to be used to process the data of the database needed to process a database request of the database, wherein the limit on the number of processors is a positive number that is less than a number of available processors that are available to process the data of the database in response to the database request of the database;
selecting, based on the limit on the number of processors, a subset of the available processors as one or more selected processors to process the data of the database, wherein the number of one or more selected processors selected are less than or equal to the limit on the number of processors to be used to process the data of the database; and
assigning each one of distinct data portions of the data of the database to a distinct one of the one or more selected processors, thereby allowing only a limited number of the processors that are available to process the data to process the data in response to the database request.
1 Assignment
0 Petitions
Accused Products
Abstract
The number of processors that store data can be limited for some data in order to improve efficiency in database system that uses multiple processing units to process data. For example, a map can be provided for one or more sparse database tables (or tables) that are relatively small in view of the number of processors that are available. The map can effectively assign distinct portions of the data, e.g., rows of a database, for processing only to a limited number of processors (or processing units). The database system can use the map to process data accordingly.
5 Citations
20 Claims
-
1. A computer-implemented method of limiting a number of processors that process data in a database system configured to process data using multiple processors, wherein the computer-implemented method is implemented at least partly by a computer that includes one or more physical processors configured to process the data stored in a non-transitory storage medium, and wherein the computer-implemented method comprises:
-
obtaining a limit on the number of processors to be used to process the data of the database needed to process a database request of the database, wherein the limit on the number of processors is a positive number that is less than a number of available processors that are available to process the data of the database in response to the database request of the database; selecting, based on the limit on the number of processors, a subset of the available processors as one or more selected processors to process the data of the database, wherein the number of one or more selected processors selected are less than or equal to the limit on the number of processors to be used to process the data of the database; and assigning each one of distinct data portions of the data of the database to a distinct one of the one or more selected processors, thereby allowing only a limited number of the processors that are available to process the data to process the data in response to the database request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A database system configured to:
-
process data using multiple processors, wherein the data is stored in a non-transitory storage medium; obtain a limit on the number of processors to be used to process the data of the database needed to process a database request of the database, wherein the limit on the number of processors is a positive number that is less than a number of available processors that are available to process the data of the database in response to the database request of the database; select, based on the limit on the number of processors, a subset of the available processors as one or more selected processors to process the data of the database, wherein the number of one or more selected processors selected are less than or equal to the limit on the number of processors to be used to process the data of the database; and assign each one of distinct data portions of the data of the database to a distinct one of the one or more selected processors, thereby allowing only a limited number of the processors that are available to process the data to process the data in response to the database request.
-
-
10. The database system 9, wherein the database system is further configured to:
use only a limited number of the processors that are available to process the data in response to the database request.
-
11. The database system 9, wherein the data is a database table of the database, and wherein each one of the distinct portions of the data is a distinct row of the database table.
-
12. The database system 9, wherein the database system is further configured to:
-
generate a map that assigns the distinct portions of the data of the database to the limited number of the processors that are available to process the data in response to the database request; and obtain the map as input in response to the database query.
-
-
13. The database system 12, wherein the database system is further configured to:
generate the map for two or more database tables such that the map assigns each one of the distinct rows of the two or more database tables to each one of the limited number of the processors.
-
14. The database system 13, wherein the database system is further configured to:
using a primary index to generate the map for the two or more database tables.
-
15. The database system 9, wherein the database system is further configured to:
uniformly distribute to the distinct data portions of the database to the limited number of the processors.
-
16. The database system 9, wherein the number of available processors that are available to process the data of the database is at least one of the following:
-
number of processors that are currently available to process the data; number of processors that are predetermined as an excepted number of processors that are expected to be available for processing of the data.
-
-
17. A non-transitory computer readable medium storing at least computer readable executable code that when executed:
-
obtains a limit on the number of processors to be used to process data of the database needed to process a database request of the database, wherein the limit on the number of processors is a positive number that is less than a number of available processors that are available to process the data of the database in response to the database request of the database; selects, based on the limit on the number of processors, a subset of the available processors as one or more selected processors to process the data of the database, wherein the number of one or more selected processors selected are less than or equal to the limit on the number of processors to be used to process the data of the database; and assigns each one of distinct data portions of the data of the database to a distinct one of the one or more selected processors, thereby allowing only a limited number of the processors that are available to process the data to process the data in response to the database request. - View Dependent Claims (18, 19, 20)
-
Specification