US2014195489A1PendingUtilityA1

Logical replication in clustered database system with adaptive cloning

Assignee: MICROSOFT CORPPriority: Apr 12, 2010Filed: Jan 21, 2014Published: Jul 10, 2014
Est. expiryApr 12, 2030(~3.7 yrs left)· nominal 20-yr term from priority
G06F 9/466G06F 16/273G06F 2201/80G06F 11/2041G06F 11/2097G06F 11/2048G06F 16/219G06F 2201/82G06F 17/30309
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Architecture that addresses an end-to-end solution for logical transactional replication from a shared-nothing clustered database management system, which uses adaptive cloning for high availability. This can be time based using a global logical timestamp. The disclosed architecture, used for refreshing stale clones, does not preserve user transaction boundaries, which is a more complex situation than where the boundaries are preserved. In such a scenario it is probable that for a given data segment no clone of the segment may contain the complete user transaction history, and hence, the history has to be pieced together from the logs of multiple different clones. This is accomplished such that log harvesting is coordinated with the clone state transitions to ensure the correctness of logical replication.

Claims

exact text as granted — not AI-modified
1 . A computer-implemented database management method performed by a computer system executing machine-readable instructions, the method comprising acts of:
 storing database segments of a database as primary clones across cluster nodes;   maintaining redundant copies of the database segments as secondary clones; and   when refreshing a stale secondary clone, only when it is determined that a degree of staleness of the stale secondary clone is above a predetermined threshold, rebuilding the stale secondary clone in its entirety.   
     
     
         2 . The method of  claim 1 , wherein when refreshing the stale secondary clone, when it is determined that a degree of staleness of the stale secondary clone is not above a predetermined threshold, refreshing of the stale secondary clone is not accomplished by replaying an associated transaction log. 
     
     
         3 . The method of  claim 1 , wherein when refreshing the stale secondary clone, when it is determined that a degree of staleness of the stale secondary clone is not above a predetermined threshold, refreshing of the stale secondary clone is performed without preserving user transaction boundaries. 
     
     
         4 . The method of  claim 1 , further comprising:
 receiving multiple transaction log streams based on global logical timestamps of commit processes employed in the cluster; and   merging the received multiple transaction log streams into a single change stream which is then provided as a single stream of ordered changes to a destination data system.   
     
     
         5 . The method of  claim 4 , wherein at least one of the transaction log streams lacks a complete record of changes. 
     
     
         6 . The method of  claim 5 , wherein merging the received multiple transaction log streams is coordinated with clone state transitions to facilitate correctness of logical replication. 
     
     
         7 . The method of  claim 1 , wherein one and only one clone of each data segment is assigned as the primary clone. 
     
     
         8 . A computer-implemented database management system having computer readable media that store executable instructions executed by a processor, comprising:
 a database storing database segments as primary clones across cluster nodes and redundant copies of the database segments maintained as secondary clones; and   a replication component that refreshes a stale secondary clone and only when it is determined that a degree of staleness of the stale secondary clone is above a predetermined threshold, rebuilds the stale secondary clone in its entirety.   
     
     
         9 . The system of  claim 8 , wherein when refreshing the stale secondary clone, when it is determined that a degree of staleness of the stale secondary clone is not above a predetermined threshold, refreshing of the stale secondary clone is not accomplished by replaying an associated transaction log. 
     
     
         10 . The system of  claim 8 , wherein when refreshing the stale secondary clone, when it is determined that a degree of staleness of the stale secondary clone is not above a predetermined threshold, refreshing of the stale secondary clone is performed without preserving user transaction boundaries. 
     
     
         11 . The system of  claim 8 , the replication component further receives multiple transaction log streams based on global logical timestamps of commit processes employed in the cluster; and merges the received multiple transaction log streams into a single change stream which is then provided as a single stream of ordered changes to a destination data system. 
     
     
         12 . The system of  claim 11 , wherein at least one of the transaction log streams lacks a complete record of changes. 
     
     
         13 . The system of  claim 12 , wherein the replication component merges the received multiple transaction log streams by coordinating with clone state transitions to facilitate correctness of logical replication. 
     
     
         14 . The system of  claim 8 , wherein one and only one clone of each data segment is assigned as the primary clone. 
     
     
         15 . A computer-readable storage memory having computer-executable instructions, which when executed perform actions, comprising:
 storing database segments of a database as primary clones across cluster nodes;   maintaining redundant copies of the database segments as secondary clones; and   when refreshing a stale secondary clone, only when it is determined that a degree of staleness of the stale secondary clone is above a predetermined threshold, rebuilding the stale secondary clone in its entirety.   
     
     
         16 . The computer-readable storage memory of  claim 15 , wherein when refreshing the stale secondary clone, when it is determined that a degree of staleness of the stale secondary clone is not above a predetermined threshold, refreshing of the stale secondary clone is not accomplished by replaying an associated transaction log. 
     
     
         17 . The computer-readable storage memory of  claim 15 , wherein when refreshing the stale secondary clone, when it is determined that a degree of staleness of the stale secondary clone is not above a predetermined threshold, refreshing of the stale secondary clone is performed without preserving user transaction boundaries. 
     
     
         18 . The computer-readable storage memory of  claim 15 , further comprising computer-executable instructions, which when executed perform actions, comprising:
 receiving multiple transaction log streams based on global logical timestamps of commit processes employed in the cluster; and   merging the received multiple transaction log streams into a single change stream which is then provided as a single stream of ordered changes to a destination data system.   
     
     
         19 . The computer-readable storage memory of  claim 18 , wherein at least one of the transaction log streams lacks a complete record of changes. 
     
     
         20 . The computer-readable storage memory of  claim 19 , wherein merging the received multiple transaction log streams is coordinated with clone state transitions to facilitate correctness of logical replication.

Join the waitlist — get patent alerts

Track US2014195489A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.