Method and system for utilizing a hierarchical bitmap structure to provide a fast and reliable mechanism to represent large deleted data sets in relational databases
First Claim
1. A method for utilizing a hierarchical bitmap structure to represent deleted data in databases, comprising:
- allocating by a processor a first level bitmap having size equal to a register on a processor, each bit in the first level bitmap representing a plurality of blocks of data in a database;
allocating by a processor a second level bitmap, said each bit in the first level bitmap corresponding to a plurality of bits in the second level bitmap;
allocating by a processor one or more pointers corresponding to said plurality of bits in the second level bitmap, said one or more pointers being allocated to point to a sub bitmap generated after a data block is deleted but before the index corresponding to the data block is cleaned;
each of the levels in the hierarchical bitmap structure being of size which fits in a corresponding level of memory hierarchy associated with a machine running the processor; and
each bit in the first level bitmap representing x/n blocks of data, wherein x is total number of blocks and n is the size of the first level bitmap, and wherein m number of sub bitmaps can be generated, each sub bitmap size equal to round((x/m)+0.5) bits;
allocating a temporary hierarchical bitmap structure corresponding to one or more local data deletes; and
merging the temporary hierarchical bitmap structure with a master hierarchical bitmap structure.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system utilizes a hierarchical bitmap structure to represent deleted data sets. Each level in the hierarchical bitmap structure may have progressively larger size and represent finer granularity of number of data blocks than its parent level. A method in one aspect may comprise allocating a first level bitmap having size equal to a register on a processor, each bit in the first level bitmap representing a plurality of blocks of data in a database, and allocating one or more pointers corresponding to said plurality of bits in the first level bitmap, said one or more pointers being allocated to point to a sub bitmap generated after a data block is deleted but before the index corresponding to the data block is cleaned.
-
Citations
6 Claims
-
1. A method for utilizing a hierarchical bitmap structure to represent deleted data in databases, comprising:
-
allocating by a processor a first level bitmap having size equal to a register on a processor, each bit in the first level bitmap representing a plurality of blocks of data in a database; allocating by a processor a second level bitmap, said each bit in the first level bitmap corresponding to a plurality of bits in the second level bitmap; allocating by a processor one or more pointers corresponding to said plurality of bits in the second level bitmap, said one or more pointers being allocated to point to a sub bitmap generated after a data block is deleted but before the index corresponding to the data block is cleaned; each of the levels in the hierarchical bitmap structure being of size which fits in a corresponding level of memory hierarchy associated with a machine running the processor; and each bit in the first level bitmap representing x/n blocks of data, wherein x is total number of blocks and n is the size of the first level bitmap, and wherein m number of sub bitmaps can be generated, each sub bitmap size equal to round((x/m)+0.5) bits; allocating a temporary hierarchical bitmap structure corresponding to one or more local data deletes; and merging the temporary hierarchical bitmap structure with a master hierarchical bitmap structure. - View Dependent Claims (2, 3, 4)
-
-
5. A system for utilizing a hierarchical bitmap structure to represent deleted data in databases, comprising:
-
a plurality of bitmaps arranged in a hierarchy, each level of bitmaps in the hierarchy including a plurality of bits corresponding to one or more blocks of data, a level of bitmap in the hierarchy having bits representing a finer granularity of number of blocks than bits in its parent level, top most bitmap level having size that corresponds to size of a register of a machine in which the hierarchical bitmap structure is implemented; and a processor operable to generate a sub bitmap when a data block is deleted that corresponds to the sub bitmap, the processor further operable to turn on a bit corresponding to the data block in said each level of bitmaps, the processor further operable to query whether a second data block is deleted by evaluating a bit representing said second data block in one or more levels of bitmaps; each of the levels in the hierarchical bitmap structure being of size which fits in a corresponding level of memory hierarchy associated with a machine running the processor; and each bit in the top most bitmap represents x/n blocks of data, wherein x is total number of blocks and n is the size of the top most bitmap, and wherein m number of sub bitmaps can be generated, each sub bitmap having size equal to round((x/m)+0.5) bits; allocating a temporary hierarchical bitmap structure corresponding to one or more local data deletes; and merging the temporary hierarchical bitmap structure with a master hierarchical bitmap structure.
-
-
6. A method for utilizing a hierarchical bitmap structure to represent deleted data in databases, comprising:
-
allocating by a processor a first level bitmap having size equal to a register on a processor, each bit in the first level bitmap representing a plurality of blocks of data in a database; allocating by a processor one or more pointers corresponding to said plurality of bits in the first level bitmap, said one or more pointers being allocated to point to a sub bitmap generated after a data block is deleted but before the index corresponding to the data block is cleaned; each of the levels in the hierarchical bitmap structure being of size which fits in a corresponding level of memory hierarchy associated with a machine running the processor; and each bit in the first level bitmap representing x/n blocks of data, wherein x is total number of blocks and n is the size of the first level bitmap, and wherein m number of sub bitmaps can be generated, each sub bitmap having size equal to round((x/m)+0.5) bits; allocating a temporary hierarchical bitmap structure corresponding to one or more local data deletes; and merging the temporary hierarchical bitmap structure with a master hierarchical bitmap structure.
-
Specification