Timing of reassignment of data to different configurations of processing units in database systems
First Claim
1. A computer-implemented method of reassigning data portions of a database from one or more maps to one or more other maps for processing by multiple processing units of a database system configured to at least process data stored in the database, wherein the computer-implemented method is implemented by one or more physical processors configured to at least process data of the database stored in a non-transitory computer storage medium, and wherein the computer-implemented method comprises:
- obtaining multiple groups of data portions assigned to one or more maps for reassignment to the other one or more maps, wherein at least one of the one or more maps assign the data portions to a first configuration of processors for processing the data portions, and at least one of the other one or more maps assign the data portions to a second configuration of processors, different than the first configuration, for processing the data portions, and wherein the multiple groups of data portions are ranked in a priority order based on a priority of the reassignment from the one or more maps for the reassignment to the other one or more maps;
obtaining an available reassignment time as a time available to make the reassignment from the one or more maps for the reassignment to the other one or more maps;
determining a reassignment time for each one of the multiple groups of data portions as a reassignment time needed to reassign a particular group of data portions from the one or more maps for the reassignment to the other one or more maps;
reassigning a first one of the multiple groups of data in the priority order ranked based on the priority of the reassignment with a reassignment time that is equal of less than the available reassignment time.
1 Assignment
0 Petitions
Accused Products
Abstract
Data portions of a database can be grouped and ranked in order of priory for reassignment from one or more maps to another one or more maps. It should be noted that a first map can assign the data portions to a first configuration of processors for processing the data portions, and a second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The data portions are reassigned in groups during an available time (window) for reassignment by taking the first one of the groups can be reassigned (“moved”) in the available, then the second one in the available reaming time, and so on, until no group of data portions can be moved in the remaining time or all of them have been moved.
-
Citations
20 Claims
-
1. A computer-implemented method of reassigning data portions of a database from one or more maps to one or more other maps for processing by multiple processing units of a database system configured to at least process data stored in the database, wherein the computer-implemented method is implemented by one or more physical processors configured to at least process data of the database stored in a non-transitory computer storage medium, and wherein the computer-implemented method comprises:
-
obtaining multiple groups of data portions assigned to one or more maps for reassignment to the other one or more maps, wherein at least one of the one or more maps assign the data portions to a first configuration of processors for processing the data portions, and at least one of the other one or more maps assign the data portions to a second configuration of processors, different than the first configuration, for processing the data portions, and wherein the multiple groups of data portions are ranked in a priority order based on a priority of the reassignment from the one or more maps for the reassignment to the other one or more maps; obtaining an available reassignment time as a time available to make the reassignment from the one or more maps for the reassignment to the other one or more maps; determining a reassignment time for each one of the multiple groups of data portions as a reassignment time needed to reassign a particular group of data portions from the one or more maps for the reassignment to the other one or more maps; reassigning a first one of the multiple groups of data in the priority order ranked based on the priority of the reassignment with a reassignment time that is equal of less than the available reassignment time. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer comprising one or more physical processors, wherein the one or more physical processors are configured to:
-
reassign data portions of a database from one or more maps to one or more other maps for processing by multiple processing units of a database system configured to at least process data stored in the database; obtain multiple groups of data portions assigned to one or more maps for reassignment to the other one or more maps, wherein at least one of the one or more maps assign the data portions to a first configuration of processors for processing the data portions, and at least one of the other one or more maps assign the data portions to a second configuration of processors, different than the first configuration, for processing the data portions, and wherein the multiple groups of data portions are ranked in a priority order based on a priority of the reassignment from the one or more maps for the reassignment to the other one or more maps; obtain an available reassignment time as a time available to make the reassignment from the one or more maps for the reassignment to the other one or more maps; determine a reassignment time for each one of the multiple groups of data portions as a reassignment time needed to reassign a particular group of data portions from the one or more maps for the reassignment to the other one or more maps; and reassign a first one of the multiple groups of data in the priority order ranked based on the priority of the reassignment with a reassignment time that is equal of less than the available reassignment time. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium storing at least computer executable code that reassigns data portions of a database from one or more maps to one or more other maps for processing by multiple processing units of a database system configured to at least process data stored in the database, wherein the executable code when executed:
-
reassigns data portions of a database from one or more maps to one or more other maps for processing by multiple processing units of a database system configured to at least process data stored in the database; obtains multiple groups of data portions assigned to one or more maps for reassignment to the other one or more maps, wherein at least one of the one or more maps assign the data portions to a first configuration of processors for processing the data portions, and at least one of the other one or more maps assign the data portions to a second configuration of processors, different than the first configuration, for processing the data portions, and wherein the multiple groups of data portions are ranked in a priority order based on a priority of the reassignment from the one or more maps for the reassignment to the other one or more maps; obtains an available reassignment time as a time available to make the reassignment from the one or more maps for the reassignment to the other one or more maps; determines a reassignment time for each one of the multiple groups of data portions as a reassignment time needed to reassign a particular group of data portions from the one or more maps for the reassignment to the other one or more maps; and reassigns a first one of the multiple groups of data in the priority order ranked based on the priority of the reassignment with a reassignment time that is equal of less than the available reassignment time.
-
-
16. The non-transitory computer readable medium 15, wherein the executable code when executed further:
-
determines a time taken for the reassignment of the first one of the multiple groups of data; determines a remaining available reassignment time by subtracting the time taken for the reassignment of the first one of the multiple groups of data from the available reassignment time; reassigns a second one of the multiple groups of data in the priority order with a reassignment time that is equal of less than the remaining available reassignment time.
-
-
17. The non-transitory computer readable medium 15, wherein the reassignment time is determined for each one of the multiple groups of data at least partly based on the respective size of their data.
-
18. The non-transitory computer readable medium 15, wherein the reassignment time is determined for at least one of the multiple groups of data at least partly based on a dynamic adjustment by at least comparing an estimate of time for the reassignment with an actual time taken for the reassignment.
-
19. The non-transitory computer readable medium 15, wherein the executable code when executed further:
-
stores the actual time taken for reassignment of at least one of the multiple groups of data; and uses the stored actual time to estimate reassignment time of at least another one of the multiple groups of data.
-
-
20. The non-transitory computer readable medium 15, wherein the reassignment time is determined for at least one of the multiple groups of data at least partly based an estimate of time for the reassignment determined based on an actual time taken for the reassignment of a group of data similar to the at least one of the multiple groups of data.
Specification