IP Library › Granted Patent US 11,803,568
Granted Patent B1
US 11,803,568 · App. 16/829,311 · Granted Oct 31, 2023

Replicating changes from a database to a destination and modifying replication capacity

Inventors: Vaibhav Jain (Seattle, WA); Rishabh Jain (Seattle, WA); Amit Gupta (Redmond, WA)
Assignee: Amazon Technologies, Inc.
G06F16/27G06F11/3034G06F11/3409G06F16/184G06F16/214G06F16/2282
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,803,568
App. No.
16/829,311
Granted
Oct 31, 2023
Kind
B1
Abstract

A client of a distributed database service may conveniently enable replication of data from a source table to a destination (e.g., a different service/database table) by submitting a request enable replication for the source table. In response to the request to enable replication, the database service enables replication for the source table. To replicate a change, the database service may modify a format of the change based on a data storage format of the destination that is different than a data storage format of the database service. The database service monitors the performance of the replication and based on the performance, the database service may automatically modify the capacity to perform the replication of changes to the destination (e.g., by assigning additional resources to replication).

Claims (58)

1. A system, comprising:

one or more processors; and

one or more memories, wherein the one or more memories have stored thereon instructions, which when executed by the one or more processors, cause the one or more processors to:

receive, from a client, a request to enable replication of changes for a source table of a distributed database to a destination, wherein the request specifies the source table and the destination;

enable the replication of changes for the source table to the destination, wherein for a given change to be replicated, the distributed database modifies a format of the change before the distributed database sends the change based on a data storage format of the destination that is different than a data storage format of the distributed database;

monitor performance of the replication of changes for the source table to the destination to determine whether to modify a capacity to perform the replication of changes for the source table to the destination, wherein the performance comprises propagation delay for the replication of changes for the source table to the destination; and

based at least on the propagation delay for the replication of changes for the source table to the destination, modify the capacity to perform the replication of changes for the source table to the destination.

2. The system of claim 1 , wherein to modify the capacity to perform the replication of changes for the source table to the destination, the instructions cause the one or more processors to:

determine that the performance of the replication of changes for the source table to the destination has fallen below a threshold performance; and

in response to the determination that the performance of changes for the source table to the destination has fallen below the threshold performance, increase the capacity to perform the replication of changes for the source table to the destination.

3. The system of claim 2 , wherein to determine that the performance of the replication of changes for the source table to the destination has fallen below a threshold performance, the instructions cause the one or more processors to:

determine that a propagation delay for a given change for the source table to be accepted at the destination exceeds a threshold propagation delay.

4. The system of claim 1 , wherein to modify the capacity to perform the replication of changes for the source table to the destination, the instructions cause the one or more processors to:

assign one or more new replication nodes to perform at least a portion of the replication of changes for the source table to the destination.

5. A method, comprising:

replicating changes for a source table of a distributed database to a destination, wherein for a given change to be replicated, the distributed database modifies a format of the change before the distributed database sends the change based on a data storage format of the destination that is different than a data storage format of the distributed database;

determining that performance of the replication of changes for the source table to the destination falls below a threshold performance, wherein the performance comprises propagation delay for the replication of changes for the source table to the destination; and

based at least on the propagation delay for the replication of changes for the source table to the destination, increasing a capacity to perform the replication of changes for the source table to the destination.

6. The method of claim 5 , further comprising:

receiving, from a client, a request to enable replication of changes for the source table of the distributed database to the destination; and

in response to receiving the request to enable the replication of changes, enable the replicating of the changes for the source table to the destination.

7. The method of claim 6 , wherein the destination is a table at another database, and further comprising:

receiving, from a client, a request to create the table;

in response to receiving the request to create the table, determine whether the client is authorized to create the table; and

in response to determining that the client is authorized to create the table, create the table at the other database.

8. The method of claim 5 , wherein the determining that the performance of the replication of changes for the source table to the destination has fallen below a threshold performance comprises:

determining that a propagation delay for a given change for the source table to be accepted at the destination exceeds a threshold propagation delay.

9. The method of claim 5 , wherein the increasing the capacity to perform the replication of changes for the source table to the destination comprises:

assigning one or more new replication nodes to perform at least a portion of the replication of changes for the source table to the destination.

10. The method of claim 5 , further comprising:

receiving, from a client, a specification of a value to be used for the threshold performance; and

assigning the value to the threshold performance.

11. The method of claim 10 , further comprising:

configuring, based on the threshold performance, one or more replication nodes to be available to perform the replication of changes for the source table to the destination.

12. The method of claim 5 , further comprising:

receiving, from a client, a specification of a particular table as the destination, wherein another database comprises the table, and wherein the other database is a different type of database than the distributed database.

13. The method of claim 5 , further comprising:

receiving, from a client, a specification of a particular object of an object-based data store as the destination, wherein the object-based data store is a different type of data store than the distributed database.

14. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more computing devices cause the one or more computing devices to implement:

enable replication of changes for a source table of a distributed database to a destination, wherein for a given change to be replicated, the distributed database modifies a format of the change before the distributed database sends the change based on a data storage format of the destination that is different than a data storage format of the distributed database;

monitor performance of the replication of changes for the source table to the destination to determine whether to modify a capacity to perform the replication of changes for the source table to the destination, wherein the performance comprises propagation delay for the replication of changes for the source table to the destination; and

based at least on the propagation delay for the replication of changes for the source table to the destination, modify the capacity to perform the replication of changes for the source table to the destination.

15. The one or more storage media as recited in claim 14 , wherein the program instructions cause the one or more computing devices to further implement:

receive, from a client, a request to enable the replication of changes for the source table of the distributed database to the destination; and

in response to receiving the request to enable the replication of changes, enable the replication of the changes for the source table to the destination.

16. The one or more storage media as recited in claim 14 , wherein to modify the capacity to perform the replication of changes for the source table to the destination, the program instructions cause the one or more computing devices to further implement:

determine that the performance of the replication of changes for the source table to the destination has fallen below a threshold performance; and

in response to the determination that the performance of changes for the source table to the destination has fallen below the threshold performance, increase the capacity to perform the replication of changes for the source table to the destination.

17. The one or more storage media of claim 16 , wherein to determine that the performance of the replication of changes for the source table to the destination has fallen below the threshold performance, the program instructions cause the one or more computing devices to further implement:

determine that a propagation delay for a given change for the source table to be accepted at the destination exceeds a threshold propagation delay.

18. The one or more storage media of claim 16 , wherein the program instructions cause the one or more computing devices to further implement:

receive, from a client, a request to create the destination, wherein the destination is an instance of a scalable data storage and search service; and

in response to receiving the request to create the destination, determine whether the client is authorized to create the destination; and

in response to determining that the client is authorized to create the destination, create the destination at the scalable data storage and search service.

19. The one or more storage media of claim 18 , wherein the program instructions cause the one or more computing devices to further implement:

configure, based on the threshold performance, one or more replication nodes to be available to perform the replication of changes for the source table to the destination.

20. The one or more storage media of claim 14 , wherein to modify the capacity to perform the replication of changes for the source table to the destination, the program instructions cause the one or more computing devices to further implement:

assign one or more new replication nodes to perform at least a portion of the replication of changes for the source table to the destination.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2022
From: JAIN, VAIBHAV; JAIN, RISHABH; GUPTA, AMIT
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 059631/0585 →
Cited By (3)
US 12,423,199 US 12,524,439 US 12,625,638