Query plans for analytic SQL constructs

US12079244B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12079244-B2
Application numberUS-202217972003-A
CountryUS
Kind codeB2
Filing dateOct 24, 2022
Priority dateFeb 19, 2014
Publication dateSep 3, 2024
Grant dateSep 3, 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 system and method for managing data storage and data access with querying data in a distributed system without buffering the results of intermediate operations in persistent storage. The method includes pushing, by a first operator, as a result of executing a query plan, an intermediate result to a plurality of secondary operators. Processing of the intermediate result by the plurality of secondary operators is delayed to coordinate generation of a plurality of second results based on beginning a final consumption operation of the plurality of second results.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising pushing, by a first operator, as a result of executing a query plan against a set of data, an intermediate result of the first operator to a plurality of secondary operators; delaying beginning processing of the intermediate result by the plurality of secondary operators to coordinate concurrent generation, on one or more processors, of a plurality of second results based on beginning a final consumption operation; and executing the final consumption operation, by the first operator, against the plurality of second results, to generate a final result. 2. The method of claim 1 , wherein the plurality of second results is generated without writing the intermediate result to a persistent storage device. 3. The method of claim 1 , wherein the final consumption operation is generated without writing the plurality of second results to a persistent storage device. 4. The method of claim 1 , wherein the intermediate result is not materialized. 5. The method of claim 1 , wherein the plurality of second results is not materialized. 6. The method of claim 1 , wherein the plurality of second results is not inlined. 7. The method of claim 1 , wherein the query plan comprises at least one of: a grouping set; a roll-up; or a cube aggregate. 8. The method of claim 1 , wherein each of the secondary operators of the plurality of secondary operators are different from one another. 9. The method of claim 1 , wherein the final consumption operation is delayed until a completion of the plurality of secondary operators. 10. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors of a computing device, cause the one or more processors to: push, by a first operator, as a result of executing a query plan against a set of data, an intermediate result of the first operator to a plurality of secondary operators; delay beginning processing of the intermediate result by the plurality of secondary operators to coordinate concurrent generation of a plurality of second results based on beginning a final consumption operation; and execute the final consumption operation, by the first operator, against the plurality of second results, to generate a final result. 11. The non-transitory machine-readable medium of claim 10 , wherein the instructions further cause the one or more processors to generate the plurality of second results without writing the intermediate result to a persistent storage device. 12. The non-transitory machine-readable medium of claim 10 , wherein the instructions further cause the one or more processors to generate the final consumption operation without writing the plurality of second results to a persistent storage device. 13. The non-transitory machine-readable medium of claim 10 , wherein the intermediate result is not materialized. 14. The non-transitory machine-readable medium of claim 10 , wherein the plurality of second results is not inlined. 15. The non-transitory machine-readable medium of claim 10 , wherein the query plan comprises a window aggregate. 16. The non-transitory machine-readable medium of claim 10 , wherein the instructions further cause the first operator to push the intermediate result to the plurality of secondary operators without buffering the intermediate result. 17. The non-transitory machine-readable medium of claim 10 , wherein the instructions further cause the first operator and the plurality of second operators to execute concurrently. 18. The non-transitory machine-readable medium of claim 10 , wherein the instructions further cause a delay of the final consumption operation until a completion of the plurality of secondary operators. 19. A system comprising: memory; and one or more processors, operatively coupled to the memory, the one or more processors to: push, by a first operator, as a result of executing a query plan against a set of data, an intermediate result of the first operator to a plurality of secondary operators; delay beginning processing of the intermediate result by the plurality of secondary operators to coordinate concurrent generation of a plurality of second results based on beginning a final consumption operation; and execute the final consumption operation, by the first operator, against the plurality of second results, to generate a final result. 20. The system of claim 19 wherein the intermediate result and the plurality of second results is not materialized. 21. The system of claim 19 , wherein the system generates the final consumption operation without writing the plurality of second results to a persistent storage device. 22. The system of claim 19 , wherein the plurality of second results is not inlined. 23. The system of claim 19 , wherein the query plan comprises at least one of: a grouping set; a roll-up; or a cube aggregate. 24. The system of claim 19 , wherein each of the secondary operators of the plurality of secondary operators are different from one another. 25. The system of claim 19 , wherein the final consumption operation is delayed until a completion of the plurality of secondary operators. 26. The system of claim 19 , wherein the one or more processors generate the final consumption operation without writing the plurality of second results to a persistent storage device. 27. The system of claim 19 , wherein the query plan comprises a window aggregate. 28. The system of claim 19 , wherein the first operator pushes the intermediate result to the plurality of secondary operators without buffering the intermediate result. 29. The system of claim 19 , wherein the first operator and the plurality of second operators execute concurrently. 30. The system of claim 19 , wherein the final consumption operation delays until a completion of the plurality of secondary operators.

Assignees

Inventors

Classifications

  • Techniques for rebalancing the load in a distributed system · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • considering hardware capabilities · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • involving task migration · 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 US12079244B2 cover?
A system and method for managing data storage and data access with querying data in a distributed system without buffering the results of intermediate operations in persistent storage. The method includes pushing, by a first operator, as a result of executing a query plan, an intermediate result to a plurality of secondary operators. Processing of the intermediate result by the plurality of sec…
Who is the assignee on this patent?
Snowflake Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5016. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 03 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).