Task scheduling using a stream of committed transactions

US12153569B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12153569-B2
Application numberUS-202217653491-A
CountryUS
Kind codeB2
Filing dateMar 4, 2022
Priority dateNov 28, 2018
Publication dateNov 26, 2024
Grant dateNov 26, 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.

A method includes generating a task using a plurality of logical statements embedded in a database, the plurality of logical statements corresponding to a data modification. Database data is ingested into a staging table that is configured within the database. The task is executed based on applying the data modification to a first set of partitions storing the database data and generating a second set of partitions. The second set of partitions store modified data corresponding to the database data. A stream of committed transactions is advanced at least in part by adding an entry into the stream. The entry corresponds to committed transactions performed on the first set of partitions during the data modification. A data processing task is scheduled for execution on the modified data based on the advancing of the stream offset.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: generating a task using a plurality of logical statements embedded in a database, the plurality of logical statements corresponding to a data modification; ingesting database data into a staging table, the staging table configured within the database; executing the task based on applying the data modification to a first set of partitions storing the database data in the staging table and generating a second set of partitions in the staging table by removing at least one of the first set of partitions based on the data modification, the second set of partitions storing modified data corresponding to the database data and at least one partition storing unmodified data, the at least one partition storing unmodified data being common between the first set and the second set; advancing a stream of committed transactions at least in part by adding an entry into the stream, the entry corresponding to committed transactions performed on the first set of partitions during the data modification resulting in the generating of the second set of partitions; and scheduling a data processing task to be executed on the modified data based on the advancing of the stream of committed transactions. 2. The method of claim 1 , further comprising: detecting a trigger event associated with the database; and executing the task in response to the trigger event. 3. The method of claim 2 , wherein the trigger event comprises execution of an insert command, a delete command, or an update command on the database. 4. The method of claim 2 , wherein detecting the trigger event comprises: detecting advancing of the stream of committed transactions based on adding a second entry into the stream, the second entry corresponding to at least another committed transaction performed on the first set of partitions before the data modification. 5. The method of claim 1 , further comprising: generating a task history, the task history indicating at least one characteristic of the committed transactions performed on the first set of partitions during the data modification; and outputting a report with the task history, based on completion of the data processing task. 6. The method of claim 1 , wherein the task further comprises one or more of: a timestamp indicating when the task was received; a last execution timestamp indicating a last time the task was executed; and a last execution status indicating whether the task was executed successfully the last time the task was executed. 7. The method of claim 1 , further comprising: retrieving a task definition of the task, the task definition comprising a task schedule; and applying the data modification to the first set of partitions storing the database data based on the task schedule. 8. The method of claim 7 , wherein the task schedule includes a WAIT condition or a SCHEDULE property. 9. The method of claim 7 , wherein the task schedule includes a WAIT condition and the method further comprising: applying the data modification to the first set of partitions storing the database data after the WAIT condition is satisfied. 10. A system comprising: at least one processor; and one or more non-transitory computer-readable storage media containing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising: generating a task using a plurality of logical statements embedded in a database, the plurality of logical statements corresponding to a data modification; ingesting database data into a staging table, the staging table configured within the database; executing the task based on applying the data modification to a first set of partitions storing the database data in the staging table and generating a second set of partitions in the staging table by removing at least one of the first set of partitions based on the data modification, the second set of partitions storing modified data corresponding to the database data and at least one partition storing unmodified data, the at least one partition storing unmodified data being common between the first set and the second set; advancing a stream of committed transactions at least in part by adding an entry into the stream, the entry corresponding to committed transactions performed on the first set of partitions during the data modification resulting in the generating of the second set of partitions; and scheduling a data processing task to be executed on the modified data based on the advancing of the stream of committed transactions. 11. The system of claim 10 , the operations further comprising: detecting a trigger event associated with the database; and executing the task in response to the trigger event. 12. The system of claim 11 , wherein the trigger event comprises execution of an insert command, a delete command, or an update command on the database. 13. The system of claim 11 , wherein the operations for detecting the trigger event further comprise: detecting advancing of the stream of committed transactions based on adding a second entry into the stream, the second entry corresponding to at least another committed transaction performed on the first set of partitions before the data modification. 14. The system of claim 10 , the operations further comprising: generating a task history, the task history indicating at least one characteristic of the committed transactions performed on the first set of partitions during the data modification; and outputting a report with the task history, based on completion of the data processing task. 15. The system of claim 10 , wherein the task further comprises one or more of: a timestamp indicating when the task was received; a last execution timestamp indicating a last time the task was executed; and a last execution status indicating whether the task was executed successfully the last time the task was executed. 16. The system of claim 10 , the operations further comprising: retrieving a task definition of the task, the task definition comprising a task schedule; and applying the data modification to the first set of partitions storing the database data based on the task schedule. 17. The system of claim 16 , wherein the task schedule includes a WAIT condition or a SCHEDULE property. 18. The system of claim 16 , wherein the task schedule includes a WAIT condition and the operations further comprise: applying the data modification to the first set of partitions storing the database data after the WAIT condition is satisfied. 19. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: generating a task using a plurality of logical statements embedded in a database, the plurality of logical statements corresponding to a data modification; ingesting database data into a staging table, the staging table configured within the database; executing the task based on applying the data modification to a first set of partitions storing the database data in the staging table and generating a second set of partitions in the staging table by removing at least one of the first set of partitions based on the data modification, the second set of partitions storing modified data corresponding to the database data and at least one partition storing unmodified data, the at least one partition storing unmodified data being common between the first set and the second

Assignees

Inventors

Classifications

  • Concurrency control (transaction processing G06F9/466) · CPC title

  • Transaction processing · CPC title

  • in federated or virtual databases · CPC title

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

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · 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 US12153569B2 cover?
A method includes generating a task using a plurality of logical statements embedded in a database, the plurality of logical statements corresponding to a data modification. Database data is ingested into a staging table that is configured within the database. The task is executed based on applying the data modification to a first set of partitions storing the database data and generating a sec…
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 Tue Nov 26 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).