Database management system, computer, and database management method

US9639576B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9639576-B2
Application numberUS-201214397030-A
CountryUS
Kind codeB2
Filing dateApr 27, 2012
Priority dateApr 27, 2012
Publication dateMay 2, 2017
Grant dateMay 2, 2017

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 database management system (DBMS) generates a query execution plan including information representing one or more database (DB) operations necessary for executing a query, and executes the query in accordance with the query execution plan. In the execution of the query, the DBMS dynamically generates tasks for executing the DB operations and executes the dynamically generated tasks. The query execution plan includes a plurality of query blocks, which are sets of one or more DB operations. When newly generating a task, the DBMS executes determination processing of simultaneous-task-generation number. The determination processing of simultaneous-task-generation number is to calculate, targeting each of the query blocks, the number of simultaneous task generation, which is the number of tasks simultaneously generatable as tasks for executing the query block. The number of the dynamically generated tasks is equal to or smaller than the number of simultaneous task generation.

First claim

Opening claim text (preview).

The invention claimed is: 1. A database management system for managing a database, the database management system comprising: a processor; and a memory connected to the processor, the memory storing instructions that, when executed by the processor, cause the processor to: receive a query to the database; generate a query execution plan including information representing one or more database operations necessary for executing the received query, and the generated query execution plan includes a plurality of query blocks, which are sets of one or more of the database operations necessary for executing the received query; and execute the received query in accordance with the generated query execution plan and, in the execution of the received query, dynamically generate a plurality of tasks for executing the database operations and execute the dynamically generated tasks, wherein the execution of the received query includes to execute determination processing of a plurality of task-generation numbers when newly generating the tasks in the execution of the received query, wherein the determination processing of the task-generation numbers includes to calculate, targeting each of the plurality of query blocks, the task-generation numbers which indicate a number of dynamically generated tasks that can be generated as the tasks for executing the target query block, wherein the number of the dynamically generated tasks is equal to or smaller than the task-generation number for the target query block, and wherein the task-generation numbers are calculated based on a ratio of each of a plurality of memory resource amounts required for the execution of each of the plurality of query blocks to an upper limit of a memory resource amount allocatable to the execution of the received query. 2. The database management system according to claim 1 , wherein the determination processing of the task-generation numbers includes to calculate the task-generation numbers based on s number of generable tasks, which is a number of the tasks that can be newly generated, a first memory resource amount, which is a memory resource amount requiring allocation per task newly generated, and a second memory resource amount, which is a memory resource amount that can be newly allocated to the execution of the target query block. 3. The database management system according to claim 2 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to: determine priority corresponding to each of the plurality of query blocks and execute the query concerning the plurality of query blocks in parallel, and wherein, in the determination processing of the task-generation numbers, the second memory resource amount is smaller than one of third and fourth memory resource amounts, wherein the third memory resource amount is an amount obtained by subtracting a memory resource amount already reserved for the execution of the target query block from an amount of memory resources that is allocatable to the execution of the target query block and is obtained by distributing, according to the priority corresponding to each of the plurality of query blocks, a total memory resource amount that is a total amount of memory resources allocatable to the execution of all the query blocks, and wherein the fourth memory resource amount is an amount obtained by subtracting, from the total memory resource amount, a total amount of memory resource amounts already reserved for the execution of each of the plurality of query blocks. 4. The database management system according to claim 1 , wherein, in the determination processing of the task-generation numbers, the task-generation numbers are calculated based on a reference relation among the plurality of query blocks. 5. The database management system according to claim 4 , wherein, in the determination processing of task-generation number, the reference relation among the plurality of query blocks is, concerning other query blocks including a database (DB) operation for referring to an execution result of one query block among the plurality of query blocks, a relation between a predicted number of database operations based on a cost calculation until the reference to the execution result of the one query block and a predicted total number of database operations. 6. The database management system according to claim 1 , wherein, in the determination processing of the task-generation numbers, the task-generation numbers are calculated based on an execution progress status of each of the plurality of query blocks. 7. The database management system according to claim 6 , wherein, in the determination processing of the task-generation numbers, an execution progress status of each of the plurality of query blocks is a number of tasks being executed, a number of tasks waiting for a start of execution, a number of tasks waiting for generation of a new task, or an execution achievement ratio in each of the plurality of query blocks. 8. The database management system according to claim 1 , wherein one query block among the plurality of query blocks is a query block corresponding to a sub-query having a correlation condition including a column of a table used in other query blocks among the plurality of query blocks, and wherein, in the determination processing of the task-generation numbers, when the target query block is the query block corresponding to the sub-query having the correlation condition, the task-generation numbers are calculated based on at least one of a predicted number of database operations, a predicted task execution multiplicity, and a memory resource amount required for the execution of the target query block. 9. The database management system according to claim 1 , wherein one query block among the plurality of query blocks is a query block corresponding to a sub-query having, in an EXISTS phrase, a correlation condition including a column of a table used in other query blocks among the plurality of query blocks, and wherein, in the determination processing of the task-generation numbers, when the target query block is a query block corresponding to an outer side portion of the sub-query having the correlation condition in the EXISTS phrase, the task-generation numbers are calculated based on a predicted number of database operations or a predicted task execution multiplicity in the target query block. 10. The database management system according to claim 1 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to: when one query block among the plurality of query blocks is a query block for executing a database operation related to an EXISTS phase, to cancel, based on an execution result of one of the tasks in the one query block, execution of a related task among the plurality of query blocks and releases memory resources allocated to the one of the tasks, the execution of which has been canceled. 11. The database management system according to claim 1 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to: in execution of one query block among the plurality of query blocks, when the number of execution-waiting tasks, which are tasks waiting for a start of execution, is equal to or larger than a predetermined number or when a memory resource amount allocated to the execution-waiting tasks is equal to or larger than a predetermined amount, to cancel execution of one of the tasks related to the one query block, release memory resources allocated to the one of the tasks, the execution of which has been canceled, and set at

Assignees

Inventors

Classifications

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 US9639576B2 cover?
A database management system (DBMS) generates a query execution plan including information representing one or more database (DB) operations necessary for executing a query, and executes the query in accordance with the query execution plan. In the execution of the query, the DBMS dynamically generates tasks for executing the DB operations and executes the dynamically generated tasks. The query…
Who is the assignee on this patent?
Tokuda Seisuke, Shimizu Akira, Yoshida Michiko, and 6 more
What technology area does this patent fall under?
Primary CPC classification G06F16/24542. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 02 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).