System and method of distributing replication commands
First Claim
1. A system for distributing replication commands, comprising:
- a distributor having a command queue that receives replication commands from a publisher, the distributor further having multiple connections to communicate the replication commands to subscribers; and
a plurality of command buckets, each of the command buckets communicating to the distributor via one of the multiple connections, each of the plurality of command buckets receiving only those replication commands to be applied to a unique row of a table of the subscribers, the received replication commands each containing an identifier of the unique row.
2 Assignments
0 Petitions
Accused Products
Abstract
A transactional replication system wherein each replicated command applies to a single row as identified by the primary key, replicated commands are dispatched among multiple connections by hashing of primary key from a single command queue to ensure that changes to the same data row are always dispatched to the same connection to maintain the order of commands as originally occurred on publisher. All connections commit their transactions at the same time in a coordinated fashion without a two phase commit. Retry logic based on a logical sequence number is used to reapply commands from any connection that fails to commit.
-
Citations
21 Claims
-
1. A system for distributing replication commands, comprising:
-
a distributor having a command queue that receives replication commands from a publisher, the distributor further having multiple connections to communicate the replication commands to subscribers; and
a plurality of command buckets, each of the command buckets communicating to the distributor via one of the multiple connections, each of the plurality of command buckets receiving only those replication commands to be applied to a unique row of a table of the subscribers, the received replication commands each containing an identifier of the unique row. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for distributing replication commands in a system having a subscriber, distributor and publisher, comprising:
-
decorating replication commands at the publisher with a unique identifier of a row on which the replication commands are to be operated upon;
forwarding the replication commands to the distributor;
storing the replication commands in a command queue; and
forwarding the replication commands to a plurality of command buckets, each of the plurality of command buckets having a connection to the distributor, wherein each command bucket receives replication commands with the same hash key - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable medium having computer-executable instructions for performing a method for distributing replication commands in a system having a subscriber, distributor and publisher, comprising:
-
decorating replication commands at the publisher with a hash key which is a hashed value of primary key, the primary key uniquely identifies a row on which the replication commands are to be operated upon. forwarding the replication commands to the distributor;
storing the replication commands in a command queue;
forwarding the replication commands to a plurality of command buckets, each of the plurality of command buckets having a connection to the distributor, wherein each command bucket receives replication commands with the same hash key. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification