Logical replication in clustered database system with adaptive cloning
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-modified1 . 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.