Tracking Intermediate Changes In Database Data

US2020142987A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020142987-A1
Application numberUS-201816182216-A
CountryUS
Kind codeA1
Filing dateNov 6, 2018
Priority dateNov 6, 2018
Publication dateMay 7, 2020
Grant date

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 tracking a series of changes to database data are disclosed. A method includes executing a transaction to modify data in a micro-partition of a table of a database by generating a new micro-partition that embodies the transaction. The method includes associating transaction data with the new micro-partition, wherein the transaction data comprises a timestamp when the transaction was fully executed, and further includes associating modification data with the new micro-partition that comprises an indication of one or more rows of the table that were modified by the transaction. The method includes joining the transaction data with the modification data to generate joined data and querying the joined data to determine a listing of intermediate modifications made to the table between a first timestamp and a second timestamp.

First claim

Opening claim text (preview).

4 . The method of claim 1 , further comprising removing the micro-partition after the new micro-partition is fully generated. 5 . The method of claim 1 , wherein associating the transaction data with the new micro-partition comprises inserting the transaction data in a transaction tracking column in the new micro-partition, and wherein associating the modification data with the new micro-partition comprises inserting the modification data in a change tracking column in the new micro-partition. 6 . The method of claim 5 , wherein the modification data comprises one or more of: a prior micro-partition identification for a value in the table, a prior row identification for a value in the table, a transaction that occurred on a row of the table, and an indication of whether a value of the table was updated. 7 . The method of claim 1 , wherein querying the joined data comprises deriving tuple granularity changes between each of a series of sequential micro-partition pairs between the first timestamp and the second timestamp to determine a series of intermediate modifications made to the table between the first timestamp and the second timestamp, and wherein each of the series of sequential micro-partition pairs is ordered according to timestamps. 8 . The method of claim 1 , wherein associating the transaction data with the new micro-partition occurs after the new micro-partition is fully generated and the transaction is fully executed. 9 . The method of claim 1 , wherein the transaction modifies rows of the table that are stored across a plurality of micro-partitions of the table, and wherein executing the transaction comprises generating a plurality of new micro-partitions and removing the plurality of micro-partitions after the transaction is fully executed. 10 . The method of claim 1 , further comprising generating a report comprising one or more of: a listing of intermediate modifications made to the table between the first timestamp and the second timestamp; an indication of when each of the intermediate modifications occurred; an indication of what transaction caused each of the intermediate modifications; an indication of what rows of the table were modified by a transaction that initiated a modification to the table; and an indication of what user account initiated a transaction that initiated a modification to the table. 11 . A system for tracking intermediate changes to database data, the system comprising: means for executing a transaction to modify data in a micro-partition of a table of a database by generating a new micro-partition that embodies the transaction; means for associating transaction data with the new micro-partition, wherein the transaction data comprises a timestamp that indicates when the transaction was fully executed; means for associating modification data with the new micro-partition, the modification data comprising an indication of one or more rows of the table that were modified by the transaction; means for joining the transaction data with the modification data to generate joined data; and means for querying the joined data to determine a listing of incremental modifications made to the table between a first timestamp and a second timestamp. 12 . The system of claim 11 , wherein the means for querying the joined data is configured to query a plurality of entries of the joined data for a plurality of transactions executed on the table between the first timestamp and the second timestamp. 13 . The system of claim 11 , further comprising means for removing the micro-partition from the database after the new micro-partition is fully generated. 14 . The system of claim 11 , wherein the means for associating the transaction data with the new micro-partition is configured to insert the transaction data in a transaction tracking column in the new micro-partition, and wherein the means for associating the modification data with the new micro-partition is configured to insert the modification data in a change tracking column in the new micro-partition. 15 . The system of claim 11 , wherein the means for querying the joined data is configured to derive tuple granularity changes between each of a series of sequential micro-partition pairs between the first timestamp and the second timestamp to determine a series of intermediate modifications made to the table between the first timestamp and the second timestamp, and wherein each of the series of sequential micro-partition pairs is ordered according to timestamps. 16 . The system of claim 11 , further comprising means for generating a report comprising one or more of: a listing of intermediate modifications made to the table between the first timestamp and the second timestamp; an indication of when each of the intermediate modifications occurred; an indication of what transaction caused each of the intermediate modifications; an indication of what rows of the table were modified by a transaction that initiated a modification to the table; and an indication of what user account initiated a transaction that initiated a modification to the table. 17 . Non-transitory computer readable storage media containing instructions executable by a processor for performing a set of operations, the operations comprising: executing a transaction to modify data in a micro-partition of a table of a database by generating a new micro-partition that embodies the transaction; associating transaction data with the new micro-partition, wherein the transaction data comprises a timestamp that indicates when the transaction was fully executed; associating modification data with the new micro-partition, the modification data comprising an indication of one or more rows of the table that were modified by the transaction; joining the transaction data with the modification data to generate joined data; and querying the joined data to determine a listing of intermediate modifications made to the table between a first timestamp and a second timestamp. 18 . The non-transitory computer readable storage media of claim 17 , the operations further comprising removing the micro-partition from the database after the new micro-partition is fully generated. 19 . The non-transitory computer readable storage media of claim 17 , wherein associating the transaction data with the new micro-partition comprises inserting the transaction data in a transaction tracking column in the new micro-partition, and wherein associating the modification data with the new micro-partition comprises inserting the modification data in a change tracking column in the new micro-partition. 20 . The non-transitory computer readable storage media of claim 17 , wherein querying the joined data comprises deriving tuple granularity changes between each of a series of sequential micro-partition pairs between the first timestamp and the second timestamp to determine a series of intermediate modifications made to the table between the first timestamp and the second timestamp, and wherein each of the series of sequential micro-partition pairs is ordered according to timestamps. 21 . The non-transitory computer readable storage media of claim 17 , the operations further comprising generating a report comprising one or more of: a listing of intermediate modifications made to the table between the first timestamp and the second timestamp; an indication of when each of the intermediate modifications occurred; an indication of what transaction caused each of the intermediate modifications; an indication of what rows of the ta

Assignees

Inventors

Classifications

  • Unary operations; Data partitioning operations · CPC title

  • Join operations · CPC title

  • Updates performed during online database operations; commit processing · CPC title

  • Tablespace storage structures; Management thereof · CPC title

  • Physics · mapped topic

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 US2020142987A1 cover?
Systems, methods, and devices for tracking a series of changes to database data are disclosed. A method includes executing a transaction to modify data in a micro-partition of a table of a database by generating a new micro-partition that embodies the transaction. The method includes associating transaction data with the new micro-partition, wherein the transaction data comprises a timestamp wh…
Who is the assignee on this patent?
Snowflake Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2379. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 07 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).