IP Library Granted Patent US 7,792,798
Granted Patent B2
US 7,792,798 · App. 11/849,159 · Granted Sep 7, 2010

Dynamic data compaction for data redistribution

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 7,792,798
App. No.
11/849,159
Granted
Sep 7, 2010
Kind
B2
Abstract

A method and system for optimizing data redistribution in a database. In one embodiment, the method includes moving, during a first scan, outgoing records from a sending partition to one or more receiving partitions, where free space is created in the sending partition due to the outgoing records leaving the sending partition. The method also includes filling, during the first scan, some of the free space with remaining records that do not leave the sending partition.

Claims (36)

1. A method for optimizing data redistribution of a database table, the method comprising:

moving, during a first scan, outgoing records from a sending partition to one or more receiving partitions, wherein free space is created in the sending partition due to the outgoing records leaving the sending partition;

filling, during the first scan, some of the free space with remaining records that do not leave the sending partition wherein filling some of the free space further comprises filling some of the free space with incoming records that arrive from one or more other partitions; and

performing a second scan on the database table, wherein the first scan is from a first end of database table and the second scan is from a second end of the database table;

moving the outgoing records during the first scan from the first end of the database table; and

filling some of the free space with remaining records during the second scan from the second end of the database table.

2. The method of claim 1 further comprising identifying holes and remaining records during the first and second scans.

3. The method of claim 1 wherein the first and second scans are performed simultaneously.

4. The method of claim 1 wherein records at one end of the table are used to fill holes at the other second end.

5. The method of claim 1 comprising:

storing remaining records in a filler page in cache; and

filling some free space with the remaining records stored in the filler page.

6. A computer-readable storage medium containing program instructions for optimizing data redistribution of a database table, the program instructions which when executed by a computer system cause the computer system to execute a method comprising:

moving, during a first scan, outgoing records from a sending partition to one or more receiving partitions, wherein free space is created in the sending partition due to the outgoing records leaving the sending partition;

filling, during the first scan, some of the free space with remaining records that do not leave the sending partition wherein filling some of the free space further comprises filling some of the free space with incoming records that arrive from one or more other partitions; and

performing a second scan on the database table, wherein the first scan is from a first end of database table and the second scan is from a second end of the database table;

moving the outgoing records during the first scan from the first end of the database table; and

filling some of the free space with remaining records during the second scan from the second end of the database table.

7. The computer-readable storage medium of claim 6 wherein records at one end of the table are used to fill holes at the second end.

8. The computer-readable storage medium of claim 6 further comprising identifying holes and remaining records during the first and second scans.

9. The computer-readable storage medium of claim 8 wherein the first and second scans are performed simultaneously.

10. The computer-readable storage medium of claim 6 comprising:

storing remaining records in a filler page in cache; and

filling some free space with the remaining records stored in the filler page.

11. A system for optimizing data redistribution of a database table, the system comprising:

a processor;

a memory coupled to the processor;

a database table stored in the memory, wherein the processor is operable to:

move, during a first scan, outgoing records from a sending partition to one or more receiving partitions, wherein free space is created in the sending partition due to the outgoing records leaving the sending partition;

fill, during the first scan, some of the free space with remaining records that do not leave the sending partition wherein during the fill of some of the free space the processor is further operable to fill some of the free space with incoming records that arrive from one or more other partitions;

wherein the processor is further operable to perform a second scan on the database table, wherein the first scan is from a first end of database table and the second scan is from a second end of the database table;

move the outgoing records during the first scan from the first end of the database table; and

fill some of the free space with remaining records during the second scan from the second end of the database table.

12. The system of claim 11 wherein the processor is further operable to identifying holes and remaining records during the first and second scans.

13. The method of claim 12 wherein the first and second scans are performed simultaneously.

14. The system of claim 11 wherein records at one end of the table are used to fill holes at the second end.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2007
From: TREMAINE, DAVID; LAU, LEO T.M.; SARDAR, ADIL MOHAMMAD; COX, PHILIP SHAWN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019818/0482 →