Group-by efficiency though functional dependencies and non-blocking aggregation functions

US11314736B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11314736-B2
Application numberUS-202016744635-A
CountryUS
Kind codeB2
Filing dateJan 16, 2020
Priority dateJan 16, 2020
Publication dateApr 26, 2022
Grant dateApr 26, 2022

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.

Techniques described herein proposes a Dependent Grouping Column Rewrite that simplifies a grouping operation by excluding dependent grouping columns from a group by clause. A non-blocking aggregation function is applied to dependent grouping columns in at least select clauses. Such a simplified grouping operation reduces memory pressure, speeds up grouping operations, and saves compute time, as grouping columns that have no additional effect on the grouping operation are excluded from processing (e.g., hashing and key matching).

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: rewriting a particular query; wherein the particular query references a set of grouping columns; wherein rewriting the particular query comprises: determining that rewrite criteria are satisfied, wherein the rewrite criteria includes: the set of grouping columns includes a set of one or more dependent grouping columns and at least one grouping column that the set of one or more dependent grouping columns does not contain; and wherein each dependent grouping column from the set of one or more dependent grouping columns is functionally dependent on one or more grouping columns from the set of grouping columns; in response to determining that the rewrite criteria are satisfied, generating a rewritten query that: excludes the set of one or more dependent grouping columns as grouping columns; for each column of the set of one or more dependent grouping columns, projects an aggregation function that is applied to a respective column. 2. The method of claim 1 , wherein the aggregation function is a non-blocking aggregation function. 3. The method of claim 2 , wherein the non-blocking aggregation function is a deterministic function. 4. The method of claim 1 , wherein generating the rewrite query comprises removing the set of one or more dependent grouping columns from a grouping clause. 5. The method of claim 1 , wherein the at least one grouping column that the set of one or more dependent grouping columns does not contain includes a primary key column. 6. The method of claim 1 , wherein generating the rewrite query comprises including the aggregation function in a select clause. 7. The method of claim 1 , wherein the aggregation function is a FIRST aggregation function. 8. The method of claim 1 , wherein generating the rewrite query comprises including the aggregation function in an ordering clause. 9. The method of claim 1 , wherein: the at least one grouping column that the set of one or more dependent grouping columns does not contain is a single column; the set of one or more dependent grouping columns contains multiple columns. 10. One or more non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform functions comprising: rewriting a particular query; wherein the particular query references a set of grouping columns; wherein rewriting the particular query comprises: determining that rewrite criteria are satisfied, wherein the rewrite criteria includes: the set of grouping columns includes a set of one or more dependent grouping columns and at least one grouping column that the set of one or more dependent grouping columns does not contain; and wherein each dependent grouping column from the set of one or more dependent grouping columns is functionally dependent on one or more grouping columns from the set of grouping columns; in response to determining that the rewrite criteria are satisfied, generating a rewritten query that: excludes the set of one or more dependent grouping columns as grouping columns; for each column of the set of one or more dependent grouping columns, projects an aggregation function that is applied to a respective column. 11. The one or more non-transitory computer-readable storage medium of claim 10 , wherein the aggregation function is a non-blocking aggregation function. 12. The one or more non-transitory computer-readable storage medium of claim 11 , wherein the non-blocking aggregation function is a deterministic function. 13. The one or more non-transitory computer-readable storage medium of claim 10 , wherein generating the rewrite query comprises removing the set of one or more dependent grouping columns from a grouping clause. 14. The one or more non-transitory computer-readable storage medium of claim 10 , wherein the at least one grouping column that the set of one or more dependent grouping columns does not contain includes a primary key column. 15. The one or more non-transitory computer-readable storage medium of claim 10 , wherein generating the rewrite query comprises including the aggregation function in a select clause. 16. The one or more non-transitory computer-readable storage medium of claim 10 , wherein the aggregation function is a FIRST aggregation function. 17. The one or more non-transitory computer-readable storage medium of claim 10 , wherein generating the rewrite query comprises including the aggregation function in an ordering clause. 18. The one or more non-transitory computer-readable storage medium of claim 10 , wherein: the at least one grouping column that the set of one or more dependent grouping columns does not contain is a single column; the set of one or more dependent grouping columns contains multiple columns.

Assignees

Inventors

Classifications

  • G06F16/221Primary

    Column-oriented storage; Management thereof · CPC title

  • Query rewriting; Transformation · CPC title

  • Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries · CPC title

  • G06F16/244Primary

    Grouping and aggregation · 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 US11314736B2 cover?
Techniques described herein proposes a Dependent Grouping Column Rewrite that simplifies a grouping operation by excluding dependent grouping columns from a group by clause. A non-blocking aggregation function is applied to dependent grouping columns in at least select clauses. Such a simplified grouping operation reduces memory pressure, speeds up grouping operations, and saves compute time, a…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/221. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 2022 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).