IP Library Granted Patent US 8,712,961
Granted Patent B2
US 8,712,961 · App. 13/242,509 · Granted Apr 29, 2014

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,712,961
App. No.
13/242,509
Granted
Apr 29, 2014
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 (43)

1. A system comprising:

one or more processors;

one or more non-transitory memories for storing program instructions executable upon the one or more processors;

a query router, comprising at least a portion of the program instructions, within a database system and configured to route a database request to a database or a cache, 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;

a caching handler within the database system, comprising at least a portion of the program instructions, able to manage the synchronization state of tables replicated within the cache;

a pending statements table listing all cache tables and transactions written to the cache tables; and

a replication manager within the database system, comprising at least a portion of the program instructions, configured to asynchronously replicate a database table to a cache via metadata logging.

2. The system of claim 1 , wherein the system is a component of a transparency layer within a database.

3. The system of claim 1 , further comprising:

a cache metadata table populated by a cache configuration tool, wherein the cache metadata table lists the tables to cache and the state of the tables.

4. The system of claim 1 , further comprising:

a replication list table referencing a list of tables undergoing an asynchronous replication from database to cache.

5. The system of claim 1 , further comprising:

a checkpoint table undergoing asynchronous replication, tracking the state of synchronicity of a database table within the cache.

6. The system of claim 1 , further comprising: a checkpoint thread, a cache enablement thread, a connection handler thread.

7. A computer system comprising:

one or more processors, one or more computer-readable memories and one or more computer-readable, tangible storage devices;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to identify 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;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to log a plurality of database transactions within a log table and flagging the cached table within the cache as not cached during runtime;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to perform 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;

program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to flag the cached table as cached when the replication is completed;

a query router within the database configured to route a database request to a database or a cache, 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;

a caching handler able to manage a synchronization state of tables replicated within the cache with respect to the database;

a replication manager configured to asynchronously replicate any database table to the cache via metadata logging;

a pending statements table listing all cache tables and transactions written to the cache tables;

a cache metadata table populated by a cache configuration tool, wherein the cache metadata table lists the tables to cache and the state of the tables;

a replication list table referencing a list of tables undergoing an asynchronous replication from database to cache; and

a checkpoint table undergoing asynchronous replication, tracking the state of synchronicity of a database table within the cache.

8. A system comprising:

one or more processors;

one or more non-transitory memories for storing program instructions executable upon the one or more processors;

a query router, comprising at least a portion of the program instructions, within a database system and configured to route a database request to a database or a cache, 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;

a caching handler within the database system, comprising at least a portion of the program instructions, able to manage the synchronization state of tables replicated within the cache;

a cache metadata table populated by a cache configuration tool, wherein the cache metadata table lists the tables to cache and the state of the tables; and

a replication manager within the database system, comprising at least a portion of the program instructions, configured to asynchronously replicate a database table to a cache via metadata logging.

9. The system of claim 8 , wherein the system is a component of a transparency layer within a database.

10. The system of claim 8 , further comprising:

a pending statements table listing all cache tables and transactions written to the cache tables.

11. The system of claim 8 , further comprising:

a replication list table referencing a list of tables undergoing an asynchronous replication from database to cache.

12. The system of claim 8 , further comprising:

a checkpoint table undergoing asynchronous replication, tracking the state of synchronicity of a database table within the cache.

13. The system of claim 8 , further comprising: a checkpoint thread, a cache enablement thread, a connection handler thread.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2020
From: ROCHE, MICHAEL T
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054407/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2011
From: DWYER, EAMONN; KAVANAGH, DANIEL; ROCHE, MICHAEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026959/0515 →
Continuity (1)
Related Publication 20130080388A1 · Mar 28, 2013