IP Library Granted Patent US 10,572,450
Granted Patent B2
US 10,572,450 · App. 15/844,203 · Granted Feb 25, 2020

Reducing database fragmentation

Inventors: Thomas Manville (Mountain View, CA); Julio Lopez (Mountain View, CA)
Assignee: Maginatics LLC
G06F16/1724G06F16/2282G06F16/2365
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,572,450
App. No.
15/844,203
Granted
Feb 25, 2020
Kind
B2
Abstract

Techniques to reduce database fragmentation are disclosed. In various embodiments, an indication is received to store an attribute value for an entity that has a row or other entry in a first database table, wherein the first database table does not have a column for the attribute. It is determined that the value corresponds to a mapped value that is associated with not having an entry in a separate, second database table configured to store the attribute. Entries are made in the second database table only for values of the attribute other than the mapped value. Application level software code is configured to associate absence of a row in the second database table with the mapped value for the attribute.

Claims (32)

1. A method of storing data, comprising:

storing, by one or more processors, first information associated with a chunk in a first database table, wherein the chunk is associated with a file and the first information associated with the chunk comprises data associated with a first attribute, and wherein the storing of the first information comprises storing a null value in the first database table in place of a first attribute value, the first attribute value being mapped to the null value in connection with storing the first attribute value in the first database table; and

reducing, by one or more processors, fragmentation associated with storing the null value in place of the first attribute value in the first database table, the fragmentation being reduced based at least in part on by storing one or more values for the first attribute in one or more other database tables.

2. The method of claim 1 , further comprising:

determining, for the first attribute, a value that is to be mapped to null.

3. The method of claim 1 , wherein entries made in the one or more other database tables are only for values of the first attribute that are different from the first attribute value that is mapped to the null value.

4. The method of claim 3 , wherein application level software code is configured to determine that a value for a corresponding chunk is a mapped value for the first attribute based on a determination that a row in the third database table for the corresponding chunk does not exist.

5. The method of claim 1 , further comprising:

receiving, by one or more processors, an indication to store second information associated with a corresponding chunk, wherein the second information associated with the corresponding chunk comprises data associated with a second attribute; and

determining that the data associated with the second attribute corresponds to a value that is mapped to the null value.

6. The method of claim 1 , wherein the reducing the fragmentation comprises forming a second database table, and wherein the second database table does not have a column for the first attribute at least in part as a result of a transformation of the first database table.

7. The method of claim 6 , wherein the forming of the second database table comprises transforming the first database table by removing from the first database table a former column configured to store the data associated with the first attribute, and a third database table is created and configured to store only those values in the former column that were not mapped to the null value.

8. The method of claim 1 , wherein application level software code is configured to associate the null value for the first attribute with the mapped value.

9. The method of claim 1 , wherein the first attribute value corresponds to a most common value for the attribute.

10. The method of claim 1 , further comprising receiving an indication to update a row in at least one of the one or more other database tables, determining that an updated attribute value comprising the update is associated with a mapping to the null value, and deleting the row from the at least one of the one or more other database tables based at least in part on the determination.

11. A system, comprising:

one or more processors configured to:

store first information associated with a chunk in a first database table, wherein the chunk is associated with a file and the first information associated with the chunk comprises data associated with a first attribute, and wherein the storing of the first information comprises storing a null value in the first database table in place of a first attribute value, the first attribute value being mapped to the null value in connection with storing the first attribute value in the first database table; and

reduce fragmentation associated with storing the null value in place of the first attribute value in the first database table, the fragmentation being reduced based at least in part on by storing one or more values for the first attribute in one or more other database tables.

12. The system of claim 11 , wherein the one or more processors are further configured to determine, for the first attribute, a value that is to be mapped to null.

13. The system of claim 11 , wherein entries made in the one or more other database tables are only for values of the first attribute that are different from the first attribute value that is mapped to the null value.

14. The system of claim 11 , wherein the one or more processors are further configured to:

receive an indication to store second information associated with a corresponding chunk, wherein the second information associated with the corresponding chunk comprises data associated with data associated with a second attribute; and

determine that the data associated with a second attribute corresponds to a value that is mapped to the null value.

15. The system of claim 11 , wherein the reducing the fragmentation comprises forming a second database table, and wherein the second database table does not have a column for the first attribute at least in part as a result of a transformation of the first database table.

16. The system of claim 15 , wherein the forming of the second database table comprises transforming the first database table by removing from the first database table a former column configured to store the data associated with the first attribute, and a third database table is created and configured to store only those values in the former column that were not mapped to the null value.

17. The system of claim 11 , wherein application level software code is configured to associate the null value for the first attribute with the mapped value.

18. The system of claim 11 , wherein the first attribute value corresponds to a most common value for the attribute.

19. The system of claim 11 , wherein the one or more processors is further configured to receive an indication to update a row in at least one of the one or more other database tables, determine that an updated attribute value comprising the update is associated with a mapping to the null value, and delete the row from the at least one of the one or more other database tables based at least in part on the determination.

20. A computer program product to store data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

storing, by one or more processors, first information associated with a chunk in a first database table, wherein the chunk is associated with a file and the first information associated with the chunk comprises data associated with a first attribute, and wherein the storing of the first information comprises storing a null value in the first database table in place of a first attribute value, the first attribute value being mapped to the null value in connection with storing the first attribute value in the first database table; and

reducing, by one or more processors, fragmentation associated with storing the null value in place of the first attribute value in the first database table, the fragmentation being reduced based at least in part on by storing one or more values for the first attribute in one or more other database tables.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
MERGER Recorded Feb 2, 2021
From: MAGINATICS LLC
To: EMC CORPORATION
Reel/Frame 055118/0382 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: MANVILLE, THOMAS; LOPEZ, JULIO
To: MAGINATICS LLC
Reel/Frame 044752/0514 →