IP Library › Granted Patent US 8,548,945
Granted Patent B2
US 8,548,945 · App. 13/483,384 · Granted Oct 1, 2013

Database caching utilizing asynchronous log-based replication

Inventors: Eamonn Dwyer (County Kildare, IE); Daniel Kavanagh (Dublin, IE); Michael T. Roche (County Wexford, IE)
Assignee: International Business Machines Corporation
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 8,548,945
App. No.
13/483,384
Granted
Oct 1, 2013
Kind
B2
Abstract

A database table within a database to persist within a cache as a cached table can be identified. The database can be a relational database management system (RDBMS) or an object oriented database management system (OODBMS). The cache can be a database cache. Database transactions within can be logged within a log table and the cached table within the cache can be flagged as not cached during runtime. An asynchronous replication of the database table to the cached table can be performed. The replication can execute the database transactions within the log table upon the cached table. The cached table can be flagged as cached when the replication is completed.

Claims (48)

1. A method comprising:

identifying a database table within a database to persist within a cache as a cached table, wherein the database is at least one of a relational database management system (RDBMS) and an object oriented database management system (OODBMS), wherein the cache is a database cache;

logging a plurality of database transactions within a log table and flagging the cached table within the cache as not cached during runtime;

responsive to a commit action, inserting a checkpoint entry into a checkpoints table, wherein the checkpoint entry is at least one of a transaction identifier and a transaction completed directive;

performing an asynchronous replication of the database table to the cached table, wherein the replication executes the plurality of database transactions within the log table upon the cached table; and

when the replication is completed, flagging the cached table as cached; and

updating a pending statement table with the database table name and the transaction identifier of a query statement writing to the database table.

2. The method of claim 1 , further comprising:

receiving a database query directed to the database; and

when a cached table within a cache is flagged as cached, redirecting the query to the cache.

3. The method of claim 1 , further comprising:

responsive to a rollback action, removing one or more transaction entries within a pending statements table, wherein the one or more transaction entries are transactions associated with the rollback.

4. The method of claim 1 , further comprising:

polling a cache metadata table to determine a table to persist within the cache.

5. The method of claim 1 , further comprising:

receiving a start table caching directive within a checkpoints table.

6. The method of claim 1 , further comprising:

receiving a transaction completed directive within a checkpoints table, wherein the directive is associated with a transaction identifier; and

removing entries within a pending statements table associated with the transaction identifier.

7. The method of claim 1 , further comprising:

performing a corrective action when a cached table state is equivalent to a corrective threshold.

8. The method of claim 1 , wherein the method is performed within a transparency layer.

9. A method comprising:

identifying a database table within a database to persist within a cache as a cached table, wherein the database is at least one of a relational database management system (RDBMS) and an object oriented database management system (OODBMS), wherein the cache is a database cache;

logging a plurality of database transactions within a log table and flagging the cached table within the cache as not cached during runtime;

responsive to a rollback action, removing one or more transaction entries within a pending statements table, wherein the one or more transaction entries are transactions associated with the rollback;

performing an asynchronous replication of the database table to the cached table, wherein the replication executes the plurality of database transactions within the log table upon the cached table; and

when the replication is completed, flagging the cached table as cached; and

updating a pending statement table with the database table name and the transaction identifier of a query statement writing to the database table.

10. The method of claim 9 , further comprising:

receiving a database query directed to the database; and

when a cached table within a cache is flagged as cached, redirecting the query to the cache.

11. The method of claim 9 , further comprising:

responsive to a commit action, inserting a checkpoint entry into a checkpoints table, wherein the checkpoint entry is at least one of a transaction identifier and a transaction completed directive.

12. The method of claim 9 , wherein the method is performed within a transparency layer.

13. A method comprising:

identifying a database table within a database to persist within a cache as a cached table, wherein the database is at least one of a relational database management system (RDBMS) and an object oriented database management system (OODBMS), wherein the cache is a database cache;

logging a plurality of database transactions within a log table and flagging the cached table within the cache as not cached during runtime;

receiving a transaction completed directive within a checkpoints table, wherein the directive is associated with a transaction identifier; and

removing entries within a pending statements table associated with the transaction identifier;

performing an asynchronous replication of the database table to the cached table, wherein the replication executes the plurality of database transactions within the log table upon the cached table; and

when the replication is completed, flagging the cached table as cached; and

updating a pending statement table with the database table name and the transaction identifier of a query statement writing to the database table.

14. The method of claim 13 , further comprising:

responsive to a rollback action, removing one or more transaction entries within a pending statements table, wherein the one or more transaction entries are transactions associated with the rollback.

15. The method of claim 13 , further comprising:

responsive to a commit action, inserting a checkpoint entry into a checkpoints table, wherein the checkpoint entry is at least one of a transaction identifier and a transaction completed directive.

16. The method of claim 13 , wherein the method is performed within a transparency layer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2020
From: DWYER, EAMONN; KAVANAGH, DANIEL; ROCHE, MICHAEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054417/0551 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2020
From: ROCHE, MICHAEL T
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054417/0849 →
Continuity (2)
Continuation 13242509 · Sep 23, 2011
Related Publication 20130080386A1 · Mar 28, 2013