Search

US-20260127170-A1 - Database System Including Query Operations Having a Tree Structure

US20260127170A1US 20260127170 A1US20260127170 A1US 20260127170A1US-20260127170-A1

Abstract

A set of processing core resources of a database system is operable to receive a query regarding a dataset. The query includes query operations organized in a tree structure. A section of the tree includes a set of branches having a common connection point. The set is operable to, for the section, set a first execution indicator to a pause mode value. The set is operable to set a second execution indicator to an execution mode value. The set is operable to execute the second set of query operations to produce a second partial query resultant. The set is operable to, when the second branch is substantially completes, send an end of file signal to the third set of query operations. The set is operable to, in response to the end of file signal, change the first execution indicator to the execution mode value and execute the first set of query operations to produce a first partial query resultant.

Inventors

  • Ellis Mihalko Saupe
  • Syed Muhammad Arsam Hassan Naqvi
  • Anson Tiong

Assignees

  • Ocient Holdings LLC

Dates

Publication Date
20260507
Application Date
20260102

Claims (14)

  1. 1 . A query and response sub-system of a database system comprises: a plurality of computing device clusters, wherein a computing device cluster of the plurality of computing device clusters includes a plurality of computing devices, wherein a computing device of the plurality of computing devices includes a plurality of computing nodes, wherein a computing node of the plurality of computing nodes includes a plurality of processing core resources, wherein a set of processing core resources of the pluralities of processing core resources is operable to: receive a query regarding a dataset, wherein the dataset includes a plurality of rows of columnar data, wherein the columnar data includes a plurality of columns of data, wherein the query includes a plurality of query operations organized in a tree structure, wherein the tree structure includes a plurality of sections, wherein a section of the plurality of sections includes a set of branches having a common connection point, wherein a first branch of the set of branches includes a first set of query operations of the plurality of query operations, a second branch of the set of branches includes a second set of query operations of the plurality of query operations, and the common connection point includes a third set of query operations; for the section: set a first execution indicator to a pause mode value, wherein the first execution indicator is associated with the first branch; set a second execution indicator to an execution mode value, wherein the second execution indicator is associated with the second branch; execute the second set of query operations to produce a second partial query resultant; when the second branch substantially completes execution of the second set of query operations, send an end of file signal to the third set of query operations; and in response to the end of file signal: change the first execution indicator to the execution mode value; and execute the first set of query operations to produce a first partial query resultant.
  2. 2 . The query and response sub-system of claim 1 , wherein the set of processing core resources is further operable to: send the first partial query resultant and the second partial query resultant to the third set of query operations to produce a third partial query resultant.
  3. 3 . The query and response sub-system of claim 1 , wherein the set of processing core resources is further operable to: for a second section of the plurality of sections that includes a second set of branches having a second common connection point that includes a sixth set of query operations: set a third execution indicator to the pause mode value, wherein the third execution indicator is associated with a first branch of the second set of branches, wherein the first branch of the second set of branches includes a fourth set of query operations; set a fourth execution indicator to the execution mode value, wherein the fourth execution indicator is associated with a second branch of the second set of branches, wherein the second branch of the second set of branches includes a fifth set of query operations; execute the fifth set of query operations to produce a fifth partial query resultant; and when the second branch substantially completes execution of the fifth set of query operations, send a second end of file signal to the fourth set of query operations; in response to the second end of file signal: change the third execution indicator to the execution mode value; and execute the fourth set of query operations to produce a fourth partial query resultant.
  4. 4 . The query and response sub-system of claim 3 , wherein the set of processing core resources is further operable to: send the fourth partial query resultant and the fifth partial query resultant to the sixth set of query operations to produce a sixth partial query resultant.
  5. 5 . The query and response sub-system of claim 1 , wherein the first set of query operations includes one or more first query operations, the second set of query operations includes one or more second query operations, and the third set of query operations includes one or more third query operations.
  6. 6 . The query and response sub-system of claim 1 , wherein the first set of query operations is streaming data regarding the dataset from a set of long term storage memory devices.
  7. 7 . The query and response sub-system of claim 1 , wherein the second set of query operations is materializing data regarding the dataset into a short term memory device associated with the set of processing core resources from a set of long term storage memory devices associated with the database system.
  8. 8 . A computer-readable memory comprises: a first memory section that stores operation instructions that, when executed by a set of processing core resources of pluralities of processing core resources of a query and response sub-system of a database system, causes the set of processing core resources to: receive a query regarding a dataset, wherein the dataset includes a plurality of rows of columnar data, wherein the columnar data includes a plurality of columns of data, wherein the query includes a plurality of query operations organized in a tree structure, wherein the tree structure includes a plurality of sections, wherein a section of the plurality of sections includes a set of branches having a common connection point, wherein a first branch of the set of branches includes a first set of query operations of the plurality of query operations, a second branch of the set of branches includes a second set of query operations of the plurality of query operations, and the common connection point includes a third set of query operations; a second memory section that stores operation instructions that, when executed by the set of processing core resources, causes the set of processing core resources to: for the section: set a first execution indicator to a pause mode value, wherein the first execution indicator is associated with the first branch; set a second execution indicator to an execution mode value, wherein the second execution indicator is associated with the second branch; execute the second set of query operations to produce a second partial query resultant; when the second branch substantially completes execution of the second set of query operations, send an end of file signal to the third set of query operations; in response to the end of file signal: change the first execution indicator to the execution mode value; and execute the first set of query operations to produce a first partial query resultant.
  9. 9 . The computer-readable memory of claim 8 , wherein the second memory section further stores operational instructions that, when executed by the set of processing core resources, causes the set of processing core resources to: send the first partial query resultant and the second partial query resultant to the third set of query operations to produce a third partial query resultant.
  10. 10 . The computer-readable memory of claim 8 , wherein the second memory section further stores operational instructions that, when executed by the set of processing core resources, causes the set of processing core resources to: for a second section of the plurality of sections that includes a second set of branches having a second common connection point that includes a sixth set of query operations: set a third execution indicator to the pause mode value, wherein the third execution indicator is associated with a first branch of the second set of branches, wherein the first branch of the second set of branches includes a fourth set of query operations; set a fourth execution indicator to the execution mode value, wherein the fourth execution indicator is associated with a second branch of the second set of branches, wherein the second branch of the second set of branches includes a fifth set of query operations; execute the fifth set of query operations to produce a fifth partial query resultant; when the second branch substantially completes execution of the fifth set of query operations, send a second end of file signal to the fourth set of query operations; and in response to the second end of file signal: change the third execution indicator to the execution mode value; and execute the fourth set of query operations to produce a fourth partial query resultant.
  11. 11 . The computer-readable memory of claim 10 , wherein the second memory section further stores operational instructions that, when executed by the set of processing core resources, causes the set of processing core resources to: send the fourth partial query resultant and the fifth partial query resultant to the sixth set of query operations to produce a sixth partial query resultant.
  12. 12 . The computer-readable memory of claim 8 , wherein the first set of query operations includes one or more first query operations, the second set of query operations includes one or more second query operations, and the third set of query operations includes one or more third query operations.
  13. 13 . The computer-readable memory of claim 8 , wherein the first set of query operations is streaming data regarding the dataset from a set of long term storage memory devices associated with the database system.
  14. 14 . The computer-readable memory of claim 8 , wherein the second set of query operations is materializing data regarding the dataset into a set of short term memory devices associated with the processing core resources from a set of long term storage memory devices associated with the database system.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. § 120 as a continuation of U.S. Utility application Ser. No. 18/634,450, entitled, “EXECUTING MULTI-CHILD OPERATORS DURING QUERY EXECUTION VIA APPLYING A PIECEWISE SCHEDULING STRATEGY”, filed on Apr. 12, 2024, which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes. STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT Not Applicable. INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC Not Applicable. BACKGROUND OF THE INVENTION Technical Field of the Invention This invention relates generally to computer networking and more particularly to database system and operation. Description of Related Art Computing devices are known to communicate data, process data, and/or store data. Such computing devices range from wireless smart phones, laptops, tablets, personal computers (PC), work stations, and video game devices, to data centers that support millions of web searches, stock trades, or on-line purchases every day. In general, a computing device includes a central processing unit (CPU), a memory system, user input/output interfaces, peripheral device interfaces, and an interconnecting bus structure. As is further known, a computer may effectively extend its CPU by using “cloud computing” to perform one or more computing functions (e.g., a service, an application, an algorithm, an arithmetic logic function, etc.) on behalf of the computer. Further, for large services, applications, and/or functions, cloud computing may be performed by multiple cloud computing resources in a distributed manner to improve the response time for completion of the service, application, and/or function. Of the many applications a computer can perform, a database system is one of the largest and most complex applications. In general, a database system stores a large amount of data in a particular way for subsequent processing. In some situations, the hardware of the computer is a limiting factor regarding the speed at which a database system can process a particular function. In some other instances, the way in which the data is stored is a limiting factor regarding the speed of execution. In yet some other instances, restricted co-process options are a limiting factor regarding the speed of execution. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S) FIG. 1 is a schematic block diagram of an embodiment of a large scale data processing network that includes a database system in accordance with various embodiments; FIG. 1A is a schematic block diagram of an embodiment of a database system in accordance with various embodiments; FIG. 2 is a schematic block diagram of an embodiment of an administrative sub-system in accordance with various embodiments; FIG. 3 is a schematic block diagram of an embodiment of a configuration sub-system in accordance with various embodiments; FIG. 4 is a schematic block diagram of an embodiment of a parallelized data input sub-system in accordance with various embodiments; FIG. 5 is a schematic block diagram of an embodiment of a parallelized query and response (Q&R) sub-system in accordance with various embodiments; FIG. 6 is a schematic block diagram of an embodiment of a parallelized data store, retrieve, and/or process (IO& P) sub-system in accordance with various embodiments; FIG. 7 is a schematic block diagram of an embodiment of a computing device in accordance with various embodiments; FIG. 8 is a schematic block diagram of another embodiment of a computing device in accordance with various embodiments; FIG. 9 is a schematic block diagram of another embodiment of a computing device in accordance with various embodiments; FIG. 10 is a schematic block diagram of an embodiment of a node of a computing device in accordance with various embodiments; FIG. 11 is a schematic block diagram of an embodiment of a node of a computing device in accordance with various embodiments; FIG. 12 is a schematic block diagram of an embodiment of a node of a computing device in accordance with various embodiments; FIG. 13 is a schematic block diagram of an embodiment of a node of a computing device in accordance with various embodiments; FIG. 14 is a schematic block diagram of an embodiment of operating systems of a computing device in accordance with various embodiments; FIGS. 15-23 are schematic block diagrams of an example of processing a table or data set for storage in the database system in accordance with various embodiments; FIG. 24A is a schematic block diagram of a query execution plan implemented via a plurality of nodes in accordance with various embodiments; FIGS. 24B-24D are schematic block diagrams of embodiments of a node that implements a query processing module in accordance with various embodiments; FIG. 24E is an embodiment is schematic block diagrams illustrating