Database management system, computer, and database management method
AssigneesHitachi, Ltd., The University of Tokyo
InventorsHideomi Idei, Norifumi Nishikawa, Shinji Fujiwara, Kazuhiko Mogi, Kazuo Goda, Masaru Kitsuregawa
Life of this patent
Estimating the term…
Abstract
As an I/O method of issuing an I/O request, there are a synchronous I/O method, in which a task is in a waiting state until an I/O response to the I/O request is returned and an asynchronous I/O method, in which another task can be executed before an I/O response to the I/O request is returned. When issuing an I/O request in execution of a task, a DBMS selects any one of the synchronous I/O method and the asynchronous I/O method, based on an I/O response speed of an I/O destination storage device and issues an I/O request according to the selected I/O method.
Claims13
A database management system comprising:
- a processor;
- and
- a memory storing instructions that, when executed by the processor, cause the processor to:
- store storage device performance information which includes a plurality of different I/O response speeds for a plurality of storage devices which store a database including a first type of storage device having a first I/O response speed that is greater than a threshold and a second type of storage device having a second I/O response that is not greater than the threshold,
- receive a query to the database,
- execute the received query, create a plurality of tasks based on an index data and execute at least two tasks in parallel among the plurality of tasks for executing a plurality of database operations in execution of the query,
- wherein, for each of the database operations, the processor is further caused to:
- acquire an area of the database to be accessed by the respective database operation,
- determine whether the acquired area of the database to be accessed by the respective database operation stores the index data or table data,
- specify a file path of the acquired area,
- specify a device path of the specified file path,
- specify an I/O response speed of one of the storage devices corresponding to the specified device path based on the storage device performance information,
- when the specified I/O response speed to the acquired area of the database is not greater than the threshold, select an asynchronous I/O method and issue an I/O request to the second type of storage device according to the asynchronous I/O method in which another task can be executed by the processor before the processor receives an I/O response to the I/O request,
- when both the specified I/O response speed to the acquired area of the database is greater than the threshold and the acquired area of the database is determined to store the index data for creating the plurality of tasks, select a synchronous I/O method and issue the I/O request to the first type of storage device according to the synchronous I/O method in which another task cannot be executed by the processor before the processor receives an I/O response to the I/O request, and
- when both the specified I/O response speed to the acquired area of the database is greater than the threshold and the acquired area of the database is determined to store the table data, select the asynchronous I/O method and issue the I/O request to the second type of storage device according to the asynchronous I/O method in which another task can be executed by the processor before the processor receives an I/O response to the I/O request.
A computer comprising:
- a memory configured to store information on a plurality of different I/O response speeds for a plurality of storage devices which store a database including a first type of storage device having a first I/O response speed that is greater than a threshold and a second type of storage device having a second I/O response that is not greater than the threshold;
- and
- a processor programmed to execute a query to the database to create a plurality of tasks based on an index data and execute at least two tasks in parallel among the plurality of tasks for executing a plurality of database operations in execution of the query,
- wherein, during the execution of each of the database operations, the processor is further programmed to:
- acquire an area of the database to be accessed by the respective database operation,
- determine whether the acquired area of the database to be accessed by the respective database operation stores the index data or table data,
- specify a file path of the acquired area,
- specify a device path of the specified file path,
- specify an I/O response speed of one of the storage devices corresponding to the specified device path based on the storage device performance information,
- when the specified I/O response speed to the acquired area of the database is not greater than the threshold, select an asynchronous I/O method and issue an I/O request to the second type of storage device according to the asynchronous I/O method in which another task can be executed by the processor before the processor receives an I/O response to the I/O request,
- when both the specified I/O response speed to the acquired area of the database is greater than the threshold and the acquired area of the database is determined to store the index data for creating the plurality of tasks, select a synchronous I/O method in which another task cannot be executed by the processor before the processor receives an I/O response to the I/O request is returned and issue the I/O request to the first type of storage device according to the synchronous I/O method, and
- when both the specified I/O response speed to the acquired area of the database is greater than the threshold and the acquired area of the database is determined to store the table data, select the asynchronous I/O method and issue the I/O request to the second type of storage device according to the asynchronous I/O method in which another task can be executed by the processor before the processor receives an I/O response to the I/O request.
A database management method comprising:
- storing storage device performance information which includes a plurality of different I/O response speeds for a plurality of storage devices which store a database including a first type of storage device having a first I/O response speed that is greater than a threshold and a second type of storage device having a second I/O response that is not greater than the threshold;
- receiving a query to the database;
- and
- creating a plurality of tasks based on an index data and executing at least two tasks in parallel among the plurality of tasks for executing a plurality of database operations in execution of the received query, and
- wherein the execution of each of the database operations includes:
- acquiring an area of the database to be accessed by the respective database operation,
- determine whether the acquired area of the database to be accessed by the respective database operation stores the index data or table data,
- specifying a file path of the acquired area,
- specifying a device path of the specified file path,
- specifying an I/O response speed of one of the storage devices corresponding to the specified device path based on the storage device performance information,
- when the specified I/O response speed to the acquired area of the database is not greater than the threshold, selecting an asynchronous I/O method and issuing an I/O request to the second type of storage device according to the asynchronous I/O method in which another task can be executed by the processor before the processor receives an I/O response to the I/O request,
- when both the specified I/O response speed to the acquired area of the database is greater than or equal to the threshold and the acquired area of the database is determined to store the index data for creating the plurality of tasks, selecting a synchronous I/O method and issuing the I/O request to the first type of storage device according to the synchronous I/O method in which another task cannot be executed by the processor before the processor receives an I/O response to the I/O request, and
- when both the specified I/O response speed to the acquired area of the database is greater than the threshold and the acquired area of the database is determined to store the table data, selecting the asynchronous I/O method and issuing the I/O request to the second type of storage device according to the asynchronous I/O method in which another task can be executed by the processor before the processor receives an I/O response to the I/O request.
Dependencies are inferred from the claim text.