IP Library Granted Patent US 11,544,286
Granted Patent B2
US 11,544,286 · App. 16/699,547 · Granted Jan 3, 2023

Replicating materialized views across heterogeneous target systems

Inventors: Rohan Deshpande (Seattle, WA); Yannis Papakonstantinou (Lo Jolla, CA); Omer Ahmed Zaki (Bellevue, WA); Karthik Gurumoorthy Subramanya Bharathy (Sammamish, WA); Rajib Dugar (Bellevue, WA); Shivateja Reddy Ummenthala (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F16/26G06F16/2393
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,544,286
App. No.
16/699,547
Granted
Jan 3, 2023
Kind
B2
Abstract

A materialized view created by a materialized view management platform may be replicated across many different target systems. The materialized view management platform allows users to specify different target systems. To create the materialized view in the different target systems, the materialized view management platform can translate the materialized view into different formats in order to store the materialized view in the different formats. Updates to the different instances of the materialized view are then made to keep the different materialized view formats in the different target systems up-to-date.

Claims (74)

1. A system, comprising:

at least one processor; and

a memory, to store program instructions that when executed by the at least one processor, cause the at least on processor to implement a materialized view management platform, configured to:

create a materialized view from one or more data sources according to a definition of the materialized view received as part of a request to create the materialized view received at the materialized view management platform;

create respective target-specific materialized views at a first target data store and a second target data store as targets of the materialized view, wherein the target-specific materialized views at the first target data store and the second target data store are stored in different formats;

after creating the materialized view, cause one or more computing resources of the materialized view management platform allocated to maintain the materialized view to continuously:

capture changes to update the materialized view from the one or more data sources according to the definition of the materialized view;

translate the captured changes into:

one or more requests formatted to apply the captured changes to update the target-specific materialized view stored in the first data store according to an interface for the first data store; and

one or more requests formatted to apply the captured changes to update the target-specific materialized view stored in the second data store formatted according to an interface for the second data store; and

send, via the interface for the first data store, the one or more requests to update the target-specific materialized view stored in the first data store; and

send, via the interface for the second data store, the one or more requests to update the target-specific materialized view stored in the second data store.

2. The system of claim 1 , wherein the materialized view management platform is further configured to determine that the first target data store and the second target data store have performance of updates to the materialized view enabled before sending the one or more requests.

3. The system of claim 1 , wherein the materialized view management platform is further configured to:

receive a request to add a third target data store as a target of the materialized view;

assign a target connector to the third target data store;

store a version of the materialized view in the third target data store; and

enable performance of updates to the materialized view by the assigned target connector.

4. The system of claim 1 , wherein the materialized view management platform is offered as part of a provider network and wherein at least one of the first target data store or the second target data store is implemented external to the provider network.

5. A method, comprising:

allocating one or more computing resources of a materialized view management platform to maintain a materialized view created at the materialized view management platform, wherein a first target data store and a second target data store are targets of the materialized view that respectively store target-specific materialized views in different formats, and wherein the one or more computing resources continuously perform:

capturing changes to update the materialized view from one or more data sources according to a definition of the materialized view received at the materialized view management platform as part of a request to create the materialized view;

translating the captured changes into:

one or more requests formatted to apply the captured changes to update the target-specific materialized view stored in the first data store according to an interface for the first data store; and

one or more requests formatted to apply the captured changes to update the target-specific materialized view stored in the second data store formatted according to an interface for the second data store; and

sending, via the interface for the first data store, the one or more requests to update the target-specific materialized view stored in the first data store; and

sending, via the interface for the second data store, the one or more requests to update the target-specific materialized view stored in the second data store.

6. The method of claim 5 , wherein translating the captured changes is based on an internal view of the materialized view generated at the materialized view management platform.

7. The method of claim 6 , further comprising:

detecting, by the materialized view management platform, an event to disable performance of updates to the first target data store; and

disabling, by the materialized view management platform, performance of updates to the first target data store at a target connector assigned to the first target data store.

8. The method of claim 5 , further comprising:

detecting, by the materialized view management platform, an event to enable performance of updates to a third target data store; and

enabling, by the materialized view management platform, performance of updates to the third target data store at a target connector assigned to the third target data store.

9. The method of claim 5 , further comprising:

receiving a request to add the first target data store for the materialized view;

assigning a target connector to the first target data store;

storing the target-specific materialized view in the first target data store; and

enabling performance of updates to the materialized view by the assigned target connector.

10. The method of claim 5 , further comprising:

receiving a request to remove the first target data store from the materialized view;

disabling performance of updates to the materialized view to the first target data store; and

deleting the materialized view at the first target data store.

11. The method of claim 5 , further comprising:

receiving, by the materialized view management platform, a request to disable performance of updates to the second target data store; and

disabling, by the materialized view management platform, performance of updates to the second target data store at a target connector assigned to the second target data store.

12. The method of claim 5 , further comprising:

receiving, by the materialized view management platform, a request to enable performance of updates to the second target data store; and

enabling, by the materialized view management platform, performance of updates to the second target data store at a target connector assigned to the second target data store.

13. The method of claim 5 , further comprising creating the materialized view at the materialized view management platform in response to a request to create the materialized view that includes the definition that specifies the first target data store and the second target data store.

14. One or more non-transitory, computer-readable 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 a materialized view management platform that implements:

allocating one or more computing resources of a materialized view management platform to maintain a materialized view created at the materialized view management platform, wherein a first target data store and a second target data store are targets of the materialized view that respectively store target-specific materialized views in different formats, and wherein the one or more computing resources continuously perform:

capturing changes to update the materialized view from one or more data sources according to a definition of the materialized view received at the materialized view management platform as part of a request to create the materialized view;

translating the captured changes into:

one or more requests formatted to apply the captured changes to update the target-specific materialized view stored in the first data store according to an interface for the first data store; and

one or more requests formatted to apply the captured changes to update the target-specific materialized view stored in the second data store formatted according to an interface for the second data store; and

sending, via the interface for the first data store, the one or more requests to update the target-specific materialized view stored in the first data store; and

sending, via the interface for the second data store, the one or more requests to update the target-specific materialized view stored in the second data store.

15. The one or more non-transitory, computer-readable storage media of claim 14 , storing further program instructions that when executed by the one or more computing devices cause the materialized view management platform to implement determining that the first target data store and the second target data store have performance of updates to the materialized view enabled before sending the one or more requests.

16. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the one or more non-transitory, computer-readable storage media store further program instructions that when executed on or across the one or more computing devices cause the materialized view management platform to further implement:

receiving a request to add a first target data store for the materialized view;

assigning a target connector to the first target data store;

storing the target-specific materialized view in the first target data store; and

enabling performance of updates to the materialized view by the assigned target connector.

17. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the one or more non-transitory, computer-readable storage media store further program instructions that when executed on or across the at least one or more computing devices cause the materialized view management platform to further implement:

detecting, by the materialized view management platform, an event to disable performance of updates to the first target data store; and

disabling, by the materialized view management platform, performance of updates to the first target data store at a target connector assigned to the first target data store.

18. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the one or more non-transitory, computer-readable storage media store further program instructions that when executed on or across the at least one or more computing devices cause the materialized view management platform to further implement:

receiving, by the materialized view management platform, a request to enable performance of updates to the second target data store; and

enabling, by the materialized view management platform, performance of updates to the second target data store at a target connector assigned to the second target data store.

19. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the one or more non-transitory, computer-readable storage media store further program instructions that when executed on or across the at least one or more computing devices cause the materialized view management platform to further implement:

receiving a request to remove the first target data store from the materialized view; and

disabling performance of updates to the materialized view to the first target data store.

20. The one or more non-transitory, computer-readable storage media of claim 14 , wherein the materialized view management platform is offered as part of a provider network and wherein the first target data store is implemented external to the provider network.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT INVENTOR NAME FROM YANNIS PAPAKOSTANTINOU TO YANNIS PAPAKONSTANTINOU PREVIOUSLY RECORDED AT REEL: 054256 FRAME: 0572. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 8, 2021
From: DESHPANDE, ROHAN; PAPAKONSTANTINOU, YANNIS; ZAKI, OMER AHMED; BHARATHY, KARTHIK GURUMOORTHY SUBRAMANYA; DUGAR, RAJIB; UMMENTHALA, SHIVATEJA REDDY
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 055253/0847 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2020
From: DESHPANDE, ROHAN; PAPAKONTANTINOU, YANNIS; ZAKI, OMER AHMED; BHARATHY, KARTHIK GURUMOORTHY SUBRAMANYA; DUGAR, RAJIB; UMMENTHALA, SHIVATEJA REDDY
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 054256/0572 →
Continuity (1)
Related Publication 20210165803A1 · Jun 3, 2021