IP Library Granted Patent US 11,243,981
Granted Patent B2
US 11,243,981 · App. 17/009,515 · Granted Feb 8, 2022

Database replication based on data access scores

Inventor: Thomas Mark O'Shaughnessy (Bradford, MA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F16/273G06F3/065G06F3/067G06F3/0619G06F16/245
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 11,243,981
App. No.
17/009,515
Granted
Feb 8, 2022
Kind
B2
Abstract

A method of prioritizing replication of database objects between storage devices includes receiving a request to replicate data from a first to a second storage device; accessing a queries previously executed on the first device; determining database objects associated with the queries; calculating access metrics for the database objects indicating how the database objects were accessed by the queries; determining a subset of database objects for replication based on the access metrics; and initiating a data replication process to replicate the subset of database objects from the first device to the second device that prioritizes the subset of database objects relative to a remainder of the database objects.

Claims (56)

1. A system comprising:

one or more processors; and

one or more memory devices comprising instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

receiving a request to replicate data from a first storage device to a second storage device;

accessing data associated with a plurality of queries previously executed on the first storage device;

determining one or more database objects associated with the plurality of queries;

calculating one or more access metrics for the one or more database objects indicating how the one or more database objects were accessed by the plurality of queries;

determining a subset of the one or more database objects for replication based at least in part on the access metrics for the one or more database objects; and

initiating a data replication process to replicate the subset of the one or more database objects from the first storage device to the second storage device that prioritizes the subset of the one or more database objects relative to a remainder of the one or more database objects.

2. The system of claim 1 , wherein determining one or more database objects associated with the plurality of queries comprises:

for each query in the plurality of queries, determining a set of database objects that was accessed during the execution of the query.

3. The system of claim 1 , wherein determining one or more database objects associated with the plurality of queries comprises:

determining one or more database objects that were potentially accessed but not definitely accessed during the execution of the plurality of queries based at least in part on one or more corresponding query texts.

4. The system of claim 1 , wherein determining one or more database objects associated with the plurality of queries comprises:

determining a first database object that was definitely accessed during execution of the plurality of queries based on one or more corresponding query texts; and

determining a second database object that was potentially accessed but not definitely accessed during the execution of the plurality of queries based on the one or more query texts.

5. The system of claim 4 , wherein calculating the one or more access metrics for the one or more database objects comprises:

assigning different weight values to the first database object and the second database object based on a determination that the first database object was definitely accessed during execution of the plurality of queries and that the second database object was potentially accessed but not definitely accessed during the execution of the plurality of queries.

6. The system of claim 1 , wherein calculating the one or more access metrics for the one or more database objects comprises:

determining query execution times for the plurality of queries; and

assigning weight values to the one or more database objects based at least in part on the plurality of query execution times.

7. The system of claim 1 , wherein determining the subset of the one or more database objects for replication comprises:

identifying database objects that are associated with a highest percentage of the plurality of queries.

8. A method of prioritizing replication of database objects between storage devices, the method comprising:

receiving a request to replicate data from a first storage device to a second storage device;

accessing data associated with a plurality of queries previously executed on the first storage device;

determining one or more database objects associated with the plurality of queries;

calculating one or more access metrics for the one or more database objects indicating how the one or more database objects were accessed by the plurality of queries;

determining a subset of the one or more database objects for replication based at least in part on the access metrics for the one or more database objects; and

initiating a data replication process to replicate the subset of the one or more database objects from the first storage device to the second storage device that prioritizes the subset of the one or more database objects relative to a remainder of the one or more database objects.

9. The method of claim 8 , wherein determining the subset of the one or more database objects for replication comprises:

identifying database objects that were executed a greatest number of times during execution of the plurality of queries.

10. The method of claim 8 , wherein the one or more database objects is comprised of one or more of:

database tables;

specific columns within database tables;

user profiles; or

indexes.

11. The method of claim 8 , further comprising:

causing a bar graph to be generated in a user interface to reflect the one or more access metrics.

12. The method of claim 8 , wherein determining a subset of the one or more database objects for replication comprises:

identifying a predetermined number of most accessed database objects in the one or more database objects.

13. The method of claim 8 , wherein determining the one or more database objects associated with the plurality of queries comprises:

identifying table names referenced in the plurality of queries.

14. The method of claim 8 , further comprising re-executing a portion of the plurality of queries to identify database tables that were actually accessed.

15. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving a request to replicate data from a first storage device to a second storage device;

accessing data associated with a plurality of queries previously executed on the first storage device;

determining one or more database objects associated with the plurality of queries;

calculating one or more access metrics for the one or more database objects indicating how the one or more database objects were accessed by the plurality of queries;

determining a subset of the one or more database objects for replication based at least in part on the access metrics for the one or more database objects; and

initiating a data replication process to replicate the subset of the one or more database objects from the first storage device to the second storage device that prioritizes the subset of the one or more database objects relative to a remainder of the one or more database objects.

16. The non-transitory computer-readable medium of claim 15 , wherein the one or more access metrics indicate a percentage of the plurality of queries that accessed the one or more database objects at least once.

17. The non-transitory computer-readable medium of claim 15 , wherein the one or more access metrics indicate a percentage of columns in a database table that were accessed at least once.

18. The non-transitory computer-readable medium of claim 15 , wherein the one or more access metrics indicate a number of times a database object was modified.

19. The non-transitory computer-readable medium of claim 15 , wherein the one or more access metrics indicate a number of times a database object was accessed by a particular user or user group.

20. The non-transitory computer-readable medium of claim 15 , wherein the one or more access metrics are calculated using a weighted combination of scores, wherein weights used in the weighted combination favor more recent access.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2020
From: O'SHAUGHNESSY, THOMAS MARK
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 053663/0161 →
Continuity (3)
Continuation 16217827 · Dec 12, 2018
Provisional Application 62748370 · Oct 19, 2018
Related Publication 20200401606A1 · Dec 24, 2020
Cited By (1)
US 12,645,692