Performance Optimization In Raft-Based Asynchronous Database Transaction Replication
AssigneeOracle International Corporation
InventorsLik Wong, Sampanna Salunke, Leonid Novak, Mark Dilman, Wei-Ming Hu
Life of this patent
Estimating the term…
Abstract
Replication is improved in a globally distributed database, such as a replicated sharded database, which uses raft-based asynchronous database replication. Improvements include Raft log persistence, coordination of followers' processing speed, transaction outcome determination, and column name compression, and improved failover time through heartbeat consolidation and keeping apply processes of followers running across failovers.
Claims24
A computer-implemented method comprising:
- within a replication group that replicates a replication unit of a database, a leader for said replication unit sending via an in-memory queue a stream of LCRs (Logical Change Record) to a plurality of followers for said replication unit, wherein LCRs sent in said stream reflect transactions executed by said leader that change database data in said replication unit;
- said leader storing LCRs in said stream in a persistent Raft log;
- determining whether a lagging follower of said plurality of followers meets one or more criteria for detaching said lagging follower as a subscriber of said in-memory queue;
- and
- in response to determining that said lagging follower meets said one or more criteria for detaching said lagging follower, detaching said lagging follower from said in-memory queue.
One or more non-transitory storage media storing sequences of instructions that, when executed by one or more computing devices, cause:
- within a replication group that replicates a replication unit of a database, a leader for said replication unit sending via an in-memory queue a stream of LCRs (Logical Change Record) to a plurality of followers for said replication unit, wherein LCRs sent in said stream reflect transactions executed by said leader that change database data in said replication unit;
- said leader storing LCRs in said stream in a persistent Raft log;
- determining whether a lagging follower of said plurality of followers meets one or more criteria for detaching said lagging follower as a subscriber of said in-memory queue;
- and
- in response to determining that said lagging follower meets said one or more criteria for detaching said lagging follower, detaching said lagging follower from said in-memory queue.
Dependencies are inferred from the claim text.