Determining the optimal number of tasks for building a database index
AssigneeInternational Business Machines Corporation
InventorsJohn Marland Garth, James Alan Ruddy
Life of this patent
Estimating the term…
Abstract
A method, apparatus, and article of manufacture for a computer-implemented building indexes system. Indexes are built for a database that is stored in a data storage device coupled to a computer. An amount of available memory is determined. An amount of memory for use in transmitting data between extract, sort, and index build tasks is determined. Then, a number of sort tasks to be used to build indexes is determined based on the determined amount of available memory, the determined amount of memory for use in transmitting data between tasks, and task memory requirements.
Claims36
A computer-implemented method for determining a number of sort tasks to be used in building an index for a database, the database being stored in a data storage device coupled to a computer, the method comprising the steps of:
- receiving, at the computer, a number of indexes to be built;
- retrieving, from the computer, a value indicating an amount of memory available;
- retrieving, from the computer, a value indicating an amount of memory required by extract tasks, sort tasks, and index build tasks;
- determining, in the computer, an amount of memory for use in transmitting data between extract tasks, sort tasks, and index build tasks using the size of data passed between tasks;
- and
- determining, in the computer, a number of sort tasks to be used to build indexes, wherein the determination is made based on the retrieved amount of available memory, the retrieved task memory requirements, and the determined amount of memory for use in transmitting data between tasks.
An apparatus for determining a number of sort tasks to be used in building an index for a database, comprising:
- a computer having a data storage device connected thereto, wherein the data storage device stores the data base;
- and
- one or more computer programs, performed by the computer, for receiving, at the computer, a number of indexes to be built, retrieving, from the computer, a value indicating an amount of memory available, retrieving, from the computer, a value indicating an amount of memory required by extract tasks, sort tasks, and index build tasks, determining, in the computer, an amount of memory for use in transmitting data between extract tasks, sort tasks, and index build tasks using the size of data passed between tasks, and determining, in the computer, a number of sort tasks to be used to build indexes, wherein the determination is made based on the retrieved amount of available memory, the retrieved task memory requirements, and the determined amount of memory for use in transmitting data between tasks.
An article of manufacture comprising a program storage device readable by a computer and tangibly embodying one or more programs of instructions executable by the computer to perform method steps for determining a number of sort tasks to be used in building an index for a database, the computer having a data storage device coupled thereto for storing the database, the method comprising the steps of:
- receiving, at the computer, a number of indexes to be built;
- retrieving, from the computer, a value indicating an amount of memory available;
- retrieving, from the computer, a value indicating an amount of memory required by extract tasks, sort tasks, and index build tasks;
- determining, in the computer, an amount of memory for use in transmitting data between extract tasks, sort tasks, and index build tasks using the size of data passed between tasks;
- and
- determining, in the computer, a number of sort tasks to be used to build indexes, wherein the determination is made based on the retrieved amount of available memory, the retrieved task memory requirements, and the determined amount of memory for use in transmitting data between tasks.
A computer-implemented method for determining a number of sort tasks to be used in building an index for a database, the database being stored in a data storage device coupled to a computer, the method comprising the steps of:
- receiving, at the computer, a number of indexes to be built;
- retrieving, from the computer, a value indicating an amount of memory available;
- retrieving, from the computer, a value indicating an amount of memory required by extract tasks, sort tasks, and index build tasks;
- determining, in the computer, an amount of memory for use in transmitting data between extract tasks, sort tasks, and index build tasks using size data passed between tasks;
- and
- determining, in the computer, a number of sort tasks to be executed concurrently to build indexes, wherein the determination is made based on the retrieved amount of available memory, the retrieved task memory requirements, and the determined amount of memory for use in transmitting data between tasks.
Dependencies are inferred from the claim text.