IP Library › Granted Patent US 10,552,400
Granted Patent B2
US 10,552,400 · App. 15/391,394 · Granted Feb 4, 2020

Management of intelligent data assignments for database systems with multiple processing units

Inventors: Louis Martin Burger (Escondido, CA); Frederick S. Kaufmann (Irvine, CA)
Assignee: Teradata US, Inc.
G06F16/2282G06F16/24542
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,552,400
App. No.
15/391,394
Granted
Feb 4, 2020
Kind
B2
Abstract

Data of a database (e.g., database tables) can be reassigned from a first map to a second map in a database system that uses maps to assign data for processing to multiple processing units of a database system in accordance with one or more distributions schemes. Data portions can be selected in groups and moved in the selected groups in an efficient manner. The selection and/or movement of the data portions can be automated without requiring input for users of database systems.

Claims (33)

1. A computer-implemented method of reassigning data portions assigned to a first map to a second map for processing by multiple processing units of a database system configured to process data stored in a database, wherein the computer-implemented method is implemented by one or more physical processors configured to access at least computer executable code stored in a non-transitory computer storage medium, and wherein the computer-implemented method comprises:

selecting a set of the distinct data portions assigned to the first map for assignment to the second map as selected data portions, wherein the first map assigns each one of the distinct data portions to one or more multiple processing units of the database system for processing in accordance with one or more distributions schemes; and

determining multiple reassigning groups for the selected data portions, wherein at least one the reassigning groups identifies two or more of the selected data portions from the first map for reassigning together as a group to the second map.

2. The computer-implemented method of claim 1 , wherein the selecting selects the distinct data portions assigned to the first map at least partly based data pertaining to execution of one or more database query plans that have used the first map and/or second map.

3. The computer-implemented method of claim 1 , wherein the determining of the at least one reassigning group for the selected data portions is determined at least partly based on the relationship between two or more of the selected data portions.

4. The computer-implemented method of claim 1 , wherein the determining of at least one reassigning group for the selected data portions is determined at least partly based on one or more of the following:

number of times two or more of the selected data portions have been involved in one or more database operations needed to execute one or more database query plans that have used the two or more of the selected data portions; and

cost associated with performing one or more data operations performed in relation to the two or more of the selected data portions in order to execute one or more database query plans that have used the two or more of the selected data portions.

5. The computer-implemented method of claim 4 , wherein the determining of at least one reassigning group for the selected data portions is determined at least partly based on determining frequencies and aggregated join costs associated with the performing of the one or more data operations performed in relation to the two or more of the selected data portions.

6. The computer-implemented method of claim 5 ,

wherein each one of the distinct data portions includes a database table of the database, and

wherein the computer implemented method further:

recursively analyzing logged query plan operations to identify inplace join paths associated with the two or more of the selected database tables; and

assigning database tables to groups to perverse the dominant query level join paths.

7. The computer-implemented method of claim 5 , wherein he second map is a relatively newer map than the first map.

8. The computer-implemented method of claim 1 ,

wherein the multiple reassigning groups include first and a second reassigning groups to be reassigned to the second map, and wherein each one of the first and a second groups identifies one or more of the selected data portions; and

wherein the computer-implemented method further comprises:

determining a first time or a first time period for reassigning the one or more data portions of the first group from the first map to the second map.

9. The computer-implemented method of claim 8 , wherein the determining of the first time or the first time period is made at least partly based on more or more of the following: the size of the data portions of the first group, the time needed to reassign the first group, and a determined workload of the database system.

10. The computer-implemented method of claim 9 , wherein the computer-implemented method further comprises:

determining a second time or second time period for reassigning the one or more data portions of the second group from the first map to the second map.

11. The computer-implemented method of claim 9 , wherein the computer-implemented method further comprises:

facilitating reassignment of the first group at the first time or during the first time period.

12. The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises:

monitoring database query execution plans.

13. A device comprising:

one or more physical processers configured to:

execute computer executable code stored in a non-transitory computer storage medium; select a set of the distinct data portions assigned to a first map for assignment to a second map as selected data portions, wherein the first map assigns each one of the distinct data portions to one or more multiple processing units of a database system for processing in accordance with one or more distributions schemes; and

determine multiple reassigning groups for the selected data portions, wherein at least one the reassigning groups identifies two or more of the selected data portions from the first map for reassigning together as a group to the second map.

14. A non-transitory computer readable medium storing at least computer readable executable code that when executed:

selects a set of the distinct data portions assigned to a first map for assignment to a second map as selected data portions, wherein the first map assigns each one of the distinct data portions to one or more multiple processing units of a database system for processing in accordance with one or more distributions schemes; and

determines multiple reassigning groups for the selected data portions, wherein at least one the reassigning groups identifies two or more of the selected data portions from the first map for reassigning together as a group to the second map.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2017
From: BURGER, LOUIS MARTIN; KAUFMANN, FREDERICK S.
To: TERADATA US, INC.
Reel/Frame 040945/0821 →
Continuity (7)
Continuation In Part 14696711 · Apr 27, 2015
Provisional Application 62272606 · Dec 29, 2015
Provisional Application 62272639 · Dec 29, 2015
Provisional Application 62272647 · Dec 29, 2015
Provisional Application 62272658 · Dec 29, 2015
Provisional Application 62088862 · Dec 8, 2014
Related Publication 20170177642A1 · Jun 22, 2017