Sharing materialized views in multiple tenant database systems

US11914591B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11914591-B2
Application numberUS-202016831000-A
CountryUS
Kind codeB2
Filing dateMar 26, 2020
Priority dateMay 31, 2019
Publication dateFeb 27, 2024
Grant dateFeb 27, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems, methods, and devices for sharing materialized views in multiple tenant database systems. A method includes defining a materialized view over a source table that is associated with a first account of a multiple tenant database. The method includes defining cross-account access rights to the materialized view to a second account such that that second account can read the materialized view without copying the materialized view. The method includes modifying the source table for the materialized view. The method includes identifying whether the materialized view is stale with respect to the source table by merging the materialized view and the source table.

First claim

Opening claim text (preview).

The claimed invention is: 1. A method comprising: storing a source table associated with a provider account, the source table including at least one micro-partition and stored across one or more of a plurality of shared storage devices in a multiple tenant database system, and wherein the at least one micro-partition is an immutable storage object; generating, by one or more execution nodes allocated to the provider account, a materialized view from underlying data in the source table; storing the materialized view in cache storage allocated to the provider account separate from the plurality of shared storage devices; providing access to the materialized view to a receiver account by performing operations comprising: creating an alias object in the receiver account for the materialized view for use by the receiver account, linking the alias object with a shared object in the provider account, granting a role in the receiver account usage privileges to the alias object, and restricting the receiver account from accessing the underlying data in the source table; updating, by the provider account, the source table including deleting at least one micro-partition based on execution of a transaction and inserting at least one new micro-partition; receiving, from the receiver account, a query directed at the materialized view; identifying modifications to the source table not reflected in the materialized view by executing a merge command between the source table and the materialized view; scanning the source table to detect the insertion of the at least one new micro-partition; scanning the materialized view to detect the deletion of the at least one micro-partition; updating the materialized view based on detecting the at least one new micro-partition and detecting the deletion of the at least one micro-partition; executing the query based on the updated materialized view; and providing access to the updated materialized view to the receiver account for query processing and restricting the receiver account from accessing the update to the underlying data in the source table. 2. The method of claim 1 , wherein the provider account grants usage privileges to the role in the receiver account for accessing the materialized view. 3. The method of claim 1 , wherein providing access to the materialized view to the receiver account comprises sharing the materialized view without creating a duplicate of the materialized view. 4. A system comprising: one or more processors of a machine; and a memory storing instructions that, when executed by the one or more processors, cause the machine to perform operations comprising: storing a source table associated with a provider account, the source table including at least one micro-partition and stored across one or more of a plurality of shared storage devices in a multiple tenant database system, and wherein the at least one micro-partition is an immutable storage object; generating, by one or more execution nodes allocated to the provider account, a materialized view from underlying data in the source table; storing the materialized view in cache storage allocated to the provider account separate from the plurality of shared storage devices; providing access to the materialized view to a receiver account by performing operations comprising: creating an alias object in the receiver account for the materialized view for use by the receiver account, linking the alias object with a shared object in the provider account, granting a role in the receiver account usage privileges to the alias object, and restricting the receiver account from accessing the underlying data in the source table; updating, by the provider account, the source table including deleting at least one micro-partition based on execution of a transaction and inserting at least one new micro-partition; receiving, from the receiver account, a query directed at the materialized view; identifying modifications to the source table not reflected in the materialized view by executing a merge command between the source table and the materialized view; scanning the source table to detect the insertion of the at least one new micro-partition; scanning the materialized view to detect the deletion of the at least one micro-partition; updating the materialized view based on detecting the at least one new micro-partition and detecting the deletion of the at least one micro-partition; executing the query based on the updated materialized view; and providing access to the updated materialized view to the receiver account for query processing and restricting the receiver account from accessing the update to the underlying data in the source table. 5. The system of claim 4 , wherein the provider account grants usage privileges to the role in the receiver account for accessing the materialized view. 6. The system of claim 4 , wherein providing access to the materialized view to the receiver account comprises sharing the materialized view without creating a duplicate of the materialized view. 7. A non-transitory computer readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to: store a source table associated with a provider account, the source table including at least one micro-partition and stored across one or more of a plurality of shared storage devices in a multiple tenant database system, and wherein the at least one micro-partition is an immutable storage object; generate, by one or more execution nodes allocated to the provider account, a materialized view from underlying data in the source table; store the materialized view in cache storage allocated to the provider account separate from the plurality of shared storage devices; provide access to the materialized view to a receiver account by performing operations comprising: creating an alias object in the receiver account for the materialized view for use by the receiver account, linking the alias object with a shared object in the provider account, granting a role in the receiver account usage privileges to the alias object, and restricting the receiver account from accessing the underlying data in the source table; update by the provider account, the source table including deleting at least one micro-partition based on execution of a transaction and inserting at least one new micro-partition; receive from the receiver account, a query directed at the materialized view; identify modifications to the source table not reflected in the materialized view by executing a merge command between the source table and the materialized view; scan the source table to detect the insertion of the at least one new micro-partition; scan the materialized view to detect the deletion of the at least one micro-partition; update the materialized view based on detecting the at least one new micro-partition and detecting the deletion of the at least one micro-partition; execute the query based on the updated materialized view; and provide access to the updated materialized view to the receiver account for query processing and restricting the receiver account from accessing the update to the underlying data in the source table. 8. The non-transitory computer readable storage media of claim 7 , wherein the provider account grants usage privileges to the role in the receiver account for accessing the materialized view. 9. The non-transitory computer readable storage media of claim 7 , wherein providing access to the materialized view to the receiver account comprises sharing the materialized view without creating a duplicate of the materialized view.

Assignees

Inventors

Classifications

  • using cached or materialised query results · CPC title

  • Updating materialised views · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11914591B2 cover?
Systems, methods, and devices for sharing materialized views in multiple tenant database systems. A method includes defining a materialized view over a source table that is associated with a first account of a multiple tenant database. The method includes defining cross-account access rights to the materialized view to a second account such that that second account can read the materialized vie…
Who is the assignee on this patent?
Snowflake Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/24539. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 27 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).