IP Library Granted Patent US 9,053,100
Granted Patent B1
US 9,053,100 · App. 13/650,005 · Granted Jun 9, 2015

Systems and methods for compressing database objects

Inventors: Raghupathi Malige (San Jose, CA); Daniel Fillingham (Santa Clara, CA); Meher Shah (Union City, CA)
Assignee: Symantec Corporation
G06F17/30G06F17/30595
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,053,100
App. No.
13/650,005
Granted
Jun 9, 2015
Kind
B1
Abstract

A computer-implemented method for compressing database objects may include 1) identifying a database object within a relational database, 2) determining that the database object meets a compression criterion that is not met by at least one additional database object within the relational database, 3) identifying a location of the database object within a database file of the relational database, and 4) compressing a portion of the database file at the location of the database object without compressing all of the database file. Various other methods, systems, and computer-readable media are also disclosed.

Claims (43)

1. A computer-implemented method for compressing database objects, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a database object within a relational database;

determining that the database object meets a compression criterion that is not met by at least one additional database object within the relational database;

identifying a location of the database object within a database file of the relational database by querying a catalog table of the relational database that stores extent information for the database object, the extent information identifying the database file and an offset within the database file at which at least a portion of the database object is located;

compressing a portion of the database file at the location of the database object without compressing all of the database file.

2. The computer-implemented method of claim 1 , wherein compressing the portion of the database file at the location of the database object comprises compressing the portion of the database file while leaving an additional portion of the database file that corresponds to the additional database object uncompressed.

3. The computer-implemented method of claim 1 , wherein determining that the database object meets a compression criterion comprises determining that an age of the database object exceeds a predetermined threshold.

4. The computer-implemented method of claim 1 , wherein determining that the database object meets the compression criterion comprises at least one of:

determining that the database object comprises a table;

determining that the database object comprises a composite index that indexes a plurality of columns.

5. The computer-implemented method of claim 1 , wherein determining that the database object meets the compression criterion comprises determining that the database object comprises a read-only database object.

6. The computer-implemented method of claim 1 , wherein determining that the database object meets the compression criterion comprises determining that a write frequency to the database object falls below a predetermined threshold.

7. The computer-implemented method of claim 1 , wherein determining that the database object meets the compression criterion comprises determining that a size of the database object exceeds a predetermined threshold.

8. The computer-implemented method of claim 1 , wherein identifying the database object comprises identifying at least one of:

an index;

a table;

a set of rows.

9. The computer-implemented method of claim 1 , wherein determining that the database object meets the compression criterion comprises determining that the database object comprises a file stored within the relational database.

10. A system for compressing databases, the system comprising:

an identification module programmed to identify a database object within a relational database;

a determination module programmed to determine that the database object meets a compression criterion that is not met by at least one additional database object within the relational database;

a location module programmed to identify a location of the database object within a database file of the relational database by querying a catalog table of the relational database that stores extent information for the database object, the extent information identifying the database file and an offset within the database file at which at least a portion of the database object is located;

a compression module programmed to compress a portion of the database file at the location of the database object without compressing all of the database file;

at least one processor configured to execute the identification module, the determination module, the location module, and the compression module.

11. The system of claim 10 , wherein the compression module is programmed to compress the portion of the database file at the location of the database object by compressing the portion of the database file while leaving an additional portion of the database file that corresponds to the additional database object uncompressed.

12. The system of claim 10 , wherein the determination module is programmed to determine that the database object meets a compression criterion by determining that an age of the database object exceeds a predetermined threshold.

13. The system of claim 10 , wherein the determination module is programmed to determine that the database object meets the compression criterion by at least one of:

determining that the database object comprises a table;

determining that the database object comprises a composite index that indexes a plurality of columns.

14. The system of claim 10 , wherein the determination module is programmed to determine that the database object meets the compression criterion by determining that the database object comprises a read-only database object.

15. The system of claim 10 , wherein the determination module is programmed to determine that the database object meets the compression criterion by determining that a write frequency to the database object falls below a predetermined threshold.

16. The system of claim 10 , wherein the determination module is programmed to determine that the database object meets the compression criterion by determining that a size of the database object exceeds a predetermined threshold.

17. The system of claim 10 , wherein the identification module is programmed to identify the database object by identifying at least one of:

an index;

a table;

a set of rows.

18. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify a database object within a relational database;

determine that the database object meets a compression criterion that is not met by at least one additional database object within the relational database;

identify a location of the database object within a database file of the relational database by querying a catalog table of the relational database that stores extent information for the database object, the extent information identifying the database file and an offset within the database file at which at least a portion of the database object is located;

compress a portion of the database file at the location of the database object without compressing all of the database file.

19. The non-transitory computer-readable medium of claim 18 , wherein compressing the portion of the database file at the location of the database object comprises compressing the portion of the database file while leaving an additional portion of the database file that corresponds to the additional database object uncompressed.

20. The non-transitory computer-readable medium of claim 18 , wherein determining that the database object meets a compression criterion comprises determining that an age of the database object exceeds a predetermined threshold.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2012
From: MALIGE, RAGHUPATHI; FILLINGHAM, DANIEL; SHAH, MEHER
To: SYMANTEC CORPORATION
Reel/Frame 029115/0721 →