IP Library Granted Patent US 9,830,342
Granted Patent B2
US 9,830,342 · App. 14/548,401 · Granted Nov 28, 2017

Optimizing database deduplication

Inventors: Blaine H. Dolph (Western Springs, IL); Nataraj Nagaratnam (Cary, NC); Sandeep R. Patil (Pune, IN); Riyazahamad M. Shiraguppi (Pune, IN)
Assignee: International Business Machines Corporation
G06F17/30303G06F17/30371
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 9,830,342
App. No.
14/548,401
Granted
Nov 28, 2017
Kind
B2
Abstract

A method and associated systems for optimized deduplication of a database stored on multiple tiers of storage devices. A database-deduplication system, upon receiving a request to update a database record, uses memory-resident logs and previously generated database-maintenance tables to identify a first logical block that identifies an updated value, stored in a first physical block of storage, to be used to update a database record and to further identify a second logical block that stores in the database a corresponding existing value of the same record. After determining that the first and second logical blocks reside within the same storage tier, the system directs a deduplication module to associate both logical blocks with the first physical block.

Claims (35)

1. A database-deduplication optimization system comprising one or more processors, one or more memories coupled to the one or more processors, and one or more computer-readable hardware storage devices coupled to the one or more processors, wherein one or more of the computer-readable hardware storage devices contains program code configured to be run by one or more of the processors via one or more of the memories to implement a method for optimizing deduplication of a database that is stored on a set of database storage devices organized into two or more tiers, the method comprising:

the database-deduplication optimization system retrieving a transaction request from a database log, wherein the transaction request identifies: an existing record stored in the database; a type of transaction to be performed upon the existing record; and an updated data value to be written to the existing record;

the database-deduplication optimization system, in response to the retrieving, identifying a first logical block that corresponds to a first physical block and that stores the updated data value identified by the transaction request;

the database-deduplication optimization system further identifying a second logical block that stores, on a storage device of the set of database storage devices, an existing data value comprised by the existing record; and

the database-deduplication optimization system directing a deduplication module to associate the first logical block and the second logical block with a same physical block.

2. The database-deduplication optimization system of claim 1 , wherein the same physical block is the first physical block.

3. The database-deduplication optimization system of claim 1 , wherein the first logical block and the second logical block are associated with a same tier of the two or more tiers as a function of a first characteristic of the updated data value and of a second characteristic of the existing data value.

4. The database-deduplication optimization system of claim 1 , wherein the first characteristic and the second characteristic are selected from a group comprising: an expected frequency with which the updated value will be accessed, an expected type of usage of the updated value, and an importance of the updated value to a user of the database.

5. The database-deduplication optimization system of claim 1 , wherein each storage device of the set of database storage devices is associated with a particular tier of the two or more tiers as a function of a characteristic of the each storage device, and wherein the characteristic is selected from a group comprising: a data read time, a data write time, and a storage capacity.

6. The database-deduplication optimization system of claim 1 , further comprising:

the database-deduplication optimization system determining that the second logical block identifies sufficient storage capacity to store the updated data value.

7. The database-deduplication optimization system of claim 1 , wherein the retrieving the transaction request from the database log, the identifying the first logical block, and the further identifying the second logical block, are performed by accessing only records that are stored in the one or more memories.

8. A method for optimizing deduplication of a database that is stored on a set of database storage devices organized into two or more tiers, the method comprising:

a database-deduplication optimizer retrieving a transaction request from a database log, wherein the transaction request identifies: an existing record stored in the database; a type of transaction to be performed upon the existing record; and an updated data value to be written to the existing record;

the database-deduplication optimizer, in response to the retrieving, identifying a first logical block that corresponds to a first physical block and that stores the updated data value identified by the transaction request;

the database-deduplication optimizer further identifying a second logical block that stores, on a storage device of the set of database storage devices, an existing data value comprised by the existing record; and

the database-deduplication optimizer directing a deduplication module to associate the first logical block and the second logical block with a same physical block.

9. The method of claim 8 , wherein the same physical block is the first physical block.

10. The method of claim 8 , wherein the first logical block and the second logical block are associated with a same tier of the two or more tiers as a function of a first characteristic of the updated data value and of a second characteristic of the existing data value.

11. The method of claim 8 , wherein the first characteristic and the second characteristic are selected from a group comprising: an expected frequency with which the updated value will be accessed, an expected type of usage of the updated value, and an importance of the updated value to a user of the database.

12. The method of claim 8 , wherein each storage device of the set of database storage devices is associated with a particular tier of the two or more tiers as a function of a characteristic of the each storage device, and wherein the characteristic is selected from a group comprising: a data read time, a data write time, and a storage capacity.

13. The method of claim 8 , further comprising:

the database-deduplication optimizer determining that the second logical block identifies sufficient storage capacity to store the updated data value.

14. The method of claim 8 , wherein the retrieving the transaction request from the database log, the identifying the first logical block, and the further identifying the second logical block, are performed by accessing only records that are stored in the one or more memories.

15. The method of claim 8 , further comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable program code in the computer system, wherein the computer-readable program code in combination with the computer system is configured to implement the retrieving, identifying, further identifying, and directing.

16. A computer program product, comprising a computer-readable hardware storage device having a computer-readable program code stored therein, said program code configured to be executed by a processor of a computer system to implement a method for optimizing deduplication of a database that is stored on a set of database storage devices organized into two or more tiers, the method comprising:

a database-deduplication optimizer retrieving a transaction request from a database log, wherein the transaction request identifies: an existing record stored in the database; a type of transaction to be performed upon the existing record; and an updated data value to be written to the existing record;

the database-deduplication optimizer, in response to the retrieving, identifying a first logical block that corresponds to a first physical block and that stores the updated data value identified by the transaction request;

the database-deduplication optimizer further identifying a second logical block that stores, on a storage device of the set of database storage devices, an existing data value comprised by the existing record; and

the database-deduplication optimizer directing a deduplication module to associate the first logical block and the second logical block with the first physical block.

17. The computer program product of claim 16 , wherein the first logical block and the second logical block are associated with a same tier of the two or more tiers as a function of a first characteristic of the updated data value and of a second characteristic of the existing data value, and wherein the first characteristic and the second characteristic are selected from a group comprising: an expected frequency with which the updated value will be accessed, an expected type of usage of the updated value, and an importance of the updated value to a user of the database.

18. The computer program product of claim 16 , wherein each storage device of the set of database storage devices is associated with a particular tier of the two or more tiers as a function of a characteristic of the each storage device, and wherein the characteristic is selected from a group comprising: a data read time, a data write time, and a storage capacity.

19. The computer program product of claim 16 , further comprising:

the database-deduplication optimizer determining that the second logical block identifies sufficient storage capacity to store the updated data value.

20. The computer program product of claim 16 , wherein the retrieving the transaction request from the database log, the identifying the first logical block, and the further identifying the second logical block, are performed by accessing only records that are stored in the one or more memories.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2014
From: DOLPH, BLAINE H.; NAGARATNAM, NATARAJ; PATIL, SANDEEP R.; SHIRAGUPPI, RIYAZAHAMAD M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034216/0185 →
Continuity (1)
Related Publication 20160147797A1 · May 26, 2016