Allocation of storage for a database
First Claim
Patent Images
1. A method for allocating storage for a file, comprising:
- reserving a quantity of sequential physical storage for the file;
selecting, in response to each call to allocate an available portion of the storage of the file, one of a plurality of allocation approaches based on a value of a file attribute associated with the file;
establishing a plurality of allocation records for the file and assigning initial respective portions of the reserved quantity of storage with the allocation records, wherein for the value of the file attribute specifying a first of the allocation approaches, the initial respective portions increase in quantity from a first of the allocation records to a last of the allocation records, and for the value of the file attribute specifying a second of the allocation approaches, the initial respective portions have equal quantities;
selecting for storage of data, in response to selection of the first allocation approach, a portion of storage of the file from one of the respective portions assigned to one of the allocation records, wherein the selecting under the first approach begins with the first allocation record and proceeds toward the last allocation record in seeking an available portion to allocate wherein physical storage is allocated based on maintaining sequentially allocated portions;
selecting for storage of data, in response to selection of the second allocation approach, a portion of storage of the file from one of the respective portions assigned to one of the allocation records, wherein the selecting under the second approach begins with an allocation record other than the first allocation record in seeking an available portion to allocate wherein physical storage is allocated based on maintaining concurrent access to the file; and
in response to an allocation record having no available portion of storage for the file, reassigning portions from one allocation record to another, wherein reassigning for the file attribute indicating the first approach reassigns portions from a next successive allocation record, and reassigning for the file attribute indicating the second approach balances respective portions assigned to the allocation records.
13 Assignments
0 Petitions
Accused Products
Abstract
Various approaches for allocating storage for a file are disclosed. In one approach, in response to each call to allocate an available portion of storage, one of a plurality of allocation approaches is selected based on a value of a file attribute associated with the file. If a first one of the allocation approaches is selected, a portion of storage is selected for storage of data using an approach that emphasizes storage of data in sequential physical storage. If a second one of the allocation approaches is selected, a portion of storage using an approach that emphasizes maintaining concurrent access to the file.
-
Citations
15 Claims
-
1. A method for allocating storage for a file, comprising:
-
reserving a quantity of sequential physical storage for the file; selecting, in response to each call to allocate an available portion of the storage of the file, one of a plurality of allocation approaches based on a value of a file attribute associated with the file; establishing a plurality of allocation records for the file and assigning initial respective portions of the reserved quantity of storage with the allocation records, wherein for the value of the file attribute specifying a first of the allocation approaches, the initial respective portions increase in quantity from a first of the allocation records to a last of the allocation records, and for the value of the file attribute specifying a second of the allocation approaches, the initial respective portions have equal quantities; selecting for storage of data, in response to selection of the first allocation approach, a portion of storage of the file from one of the respective portions assigned to one of the allocation records, wherein the selecting under the first approach begins with the first allocation record and proceeds toward the last allocation record in seeking an available portion to allocate wherein physical storage is allocated based on maintaining sequentially allocated portions; selecting for storage of data, in response to selection of the second allocation approach, a portion of storage of the file from one of the respective portions assigned to one of the allocation records, wherein the selecting under the second approach begins with an allocation record other than the first allocation record in seeking an available portion to allocate wherein physical storage is allocated based on maintaining concurrent access to the file; and in response to an allocation record having no available portion of storage for the file, reassigning portions from one allocation record to another, wherein reassigning for the file attribute indicating the first approach reassigns portions from a next successive allocation record, and reassigning for the file attribute indicating the second approach balances respective portions assigned to the allocation records. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus for allocating storage for a file, comprising:
-
means for reserving a quantity of sequential physical storage for the file; means for selecting, in response to each call to allocate an available portion of the storage of the file, one of a plurality of allocation approaches based on a value of a file attribute associated with the file; means for establishing a plurality of allocation records for the file and for assigning initial respective portions of the reserved quantity of storage with the allocation records, wherein for the value of the file attribute specifying a first of the allocation approaches, the initial respective portions increase in quantity from a first of the allocation records to a last of the allocation records, and for the value of the file attribute specifying a second of the allocation approaches, the initial respective portions have equal quantities; means for selecting for storage of data, responsive to selection of the first allocation approach, a portion of storage of the file from one of the respective portions assigned to one of the allocation records, wherein the selecting under the first approach begins with the first allocation record and proceeds toward the last allocation record in seeking an available portion to allocate wherein physical storage is allocated based on maintaining sequentially allocated portions; means for selecting for storage of data, responsive to selection of the second allocation approach, a portion of storage of the file from one of the respective portions assigned to one of the allocation records, wherein the selecting under the second approach begins with an allocation record other than the first allocation record in seeking an available portion to allocate wherein physical storage is allocated based on maintaining concurrent access to the file and means, responsive to an allocation record having no available portion of storage for the file, for reassigning portions from one allocation record to another, wherein reassigning for the file attribute indicating the first approach reassigns portions from a next successive allocation record, and reassigning for the file attribute indicating the second approach balances respective portions assigned to the allocation records.
-
-
15. A system for allocating storage for a database file, comprising:
-
a data processing system; a quantity of retentive storage reserved for allocation to a database file and coupled to the data processing system, wherein the quantity occupies sequential physical locations; a file attribute associated with the database file, wherein the value of the file attribute indicates one of a plurality of allocation approaches for allocating storage from the reserved storage to the file; a plurality of allocation records associated with respective portions of the reserved quantity of storage, wherein initially respective portions of the reserved quantity of storage are assigned to the allocation records, for the value of the file attribute specifying a first of the allocation approaches, the initial respective portions increase in quantity from a first of the allocation records to a last of the allocation records, and for the value of the file attribute specifying a second of the allocation approaches, the initial respective portions have equal quantities; and a database management system (DBMS) hosted by the data processing system and coupled to the quantity of retentive storage and to the allocation records, the DBMS configured to; select, in response to each call to allocate an available portion of reserved storage, one of the plurality of allocation approaches based on the a value of the file attribute, select for storage of data, in response to selection of the first allocation approach, a portion of reserved storage of the file from one of the respective portions assigned to one of the allocation records, wherein the selecting under the first approach begins with the first allocation record and proceeds toward the last allocation record in seeking an available portion to allocate and is based on attempting to store the data in sequential physical storage, and select for storage of data, in response to selection of the second allocation approach, a portion of reserved storage of the file from one of the respective portions assigned to one of the allocation records, wherein the selecting under the second approach begins with an allocation record other than the first allocation record in seeking an available portion to allocate and is based on attempting to maintain concurrent access to the database file reassign, in response to an allocation record having no available portion of storage for the file, portions from one allocation record to another, wherein reassigning for the file attribute indicating the first approach reassigns portions from a next successive allocation record, and reassigning for the file attribute indicating the second approach balances respective portions assigned to the allocation records.
-
Specification