Proactive space allocation in a database system
First Claim
1. A method comprising performing a machine-executed operation involving instructions, wherein said instructions are instructions that, when executed by one or more processors, cause the one or more processors to perform certain steps including:
- determining a first quantity of space within a unit of logical structure that will be used within a particular period;
determining a second quantity of free space within the unit of logical structure;
comparing the first quantity and the second quantity;
based on the comparing, determining whether the second quantity is sufficient for the particular period;
if the second quantity is sufficient for the particular period, then performing the certain steps at a subsequent time; and
if the second quantity is not sufficient for the particular period, allocating space to the unit.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for proactively allocating space to a logical layer of a database is provided. Allocation of space to a logical layer of a database is an expensive operation that should be minimized. The allocation of space includes discovering free space in all the higher layers in the logical storage hierarchy. It also includes cross-domain system calls and cleansing disk-write operations. In prior approaches, the allocation processes were triggered on-demand, only a certain logical layer was discovered to be at full capacity when an insert-row operation was attempted. In one embodiment of the invention, space needs are statistically predicted based on prior rates of space consumption. The database server pre-allocates space as needed, based on the statistical predictions. Rates of consumption are examined periodically. Space is pre-allocated before any logical layer reaches full capacity by a combination of proactive background processes; foreground-triggered, background processes; and classic foreground allocation.
26 Citations
38 Claims
-
1. A method comprising performing a machine-executed operation involving instructions, wherein said instructions are instructions that, when executed by one or more processors, cause the one or more processors to perform certain steps including:
-
determining a first quantity of space within a unit of logical structure that will be used within a particular period; determining a second quantity of free space within the unit of logical structure; comparing the first quantity and the second quantity; based on the comparing, determining whether the second quantity is sufficient for the particular period; if the second quantity is sufficient for the particular period, then performing the certain steps at a subsequent time; and if the second quantity is not sufficient for the particular period, allocating space to the unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
11. A method comprising performing a machine-executed operation involving instructions, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform certain steps including:
-
periodically determining a rate of consumption of space within a unit of logical storage structure; based on the rate, determining a future time at which the unit will reach full capacity; determining whether the future time is less than a threshold time; and in response to determining that the future time is less than the threshold time, allocating space to the unit. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification