IN-MEMORY CURSOR DURATION TEMP TABLES
First Claim
1. A method of processing a query on a multi-node database system against a shared database, the method comprising:
- assigning multiple threads on each node of said multi-node database system for processing the query, said multiple threads including a plurality of writer threads and a plurality of reader threads;
wherein for each node of said multi-node database system;
one or more respective writer threads from said plurality of writer threads run on said each node, andone or more respective reader threads from said plurality of reader threads run on said each node;
creating an in-memory temporary table for storing intermediate results generated for said query, wherein a memory of each node of said multi-node database system stores a respective local in-memory temporary table part;
on each node of said multi-node database system, the one or more respective writer threads writing to the respective local in-memory temporary table part;
on each node of said multi-node database system, generating a respective data structure based on the respective local in-memory temporary table part; and
on each node of said multi-node database system, based on the respective data structure, the one or more respective reader threads reading from the respective local in-memory temporary table part.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided herein for processing a query using in-memory cursor duration temporary tables. The techniques involve storing a part of the temporary table in memory of nodes in a database cluster. A part of the temporary table may be stored in disk segments of nodes in the database cluster. Writer threads running on a particular node writes data for the temporary table to the memory of the particular node. Excess data may be written to the disk segment of the particular node. Reader threads running on the particular node reads data for the temporary table from the memory of the particular node and the disk segment of the particular node.
-
Citations
14 Claims
-
1. A method of processing a query on a multi-node database system against a shared database, the method comprising:
-
assigning multiple threads on each node of said multi-node database system for processing the query, said multiple threads including a plurality of writer threads and a plurality of reader threads; wherein for each node of said multi-node database system; one or more respective writer threads from said plurality of writer threads run on said each node, and one or more respective reader threads from said plurality of reader threads run on said each node; creating an in-memory temporary table for storing intermediate results generated for said query, wherein a memory of each node of said multi-node database system stores a respective local in-memory temporary table part; on each node of said multi-node database system, the one or more respective writer threads writing to the respective local in-memory temporary table part; on each node of said multi-node database system, generating a respective data structure based on the respective local in-memory temporary table part; and on each node of said multi-node database system, based on the respective data structure, the one or more respective reader threads reading from the respective local in-memory temporary table part. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more non-transitory computer-readable media storing instructions, wherein the instructions include instructions which, when executed by one or more hardware processors, cause:
-
assigning multiple threads on each node of a multi-node database system for processing a query, said multiple threads including a plurality of writer threads and a plurality of reader threads; wherein for each node of said multi-node database system; one or more respective writer threads from said plurality of writer threads run on said each node, and one or more respective reader threads from said plurality of reader threads run on said each node; creating an in-memory temporary table for storing intermediate results generated for said query, wherein a memory of each node of said multi-node database system stores a respective local in-memory temporary table part; on each node of said multi-node database system, the one or more respective writer threads writing to the respective local in-memory temporary table part; on each node of said multi-node database system, generating a respective data structure based on the respective local in-memory temporary table part; and on each node of said multi-node database system, based on the respective data structure, the one or more respective reader threads reading from the respective local in-memory temporary table part. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification