How the Bitmap works


Let’s see what happens when the bitmap reflects space available when there is not enough space to hold the largest segment.

When inserting a large segment into the database, IMS selects a block that does not have enough space to hold the segment. This does not cause any problems for IMS; it simply resets the appropriate bitmap bit and looks for another block.

When a bitmap reflects space and the block does not contain enough space to hold the segment being inserted, IMS must perform additional I/O to read another block. You can minimize this additional I/O by knowing the size of the segment types that are most frequently added to the database.

The following example shows the advantages and disadvantages of being able to manipulate the bitmap block contents: A database has three segment types whose sizes are 100, 500, and 1000 bytes. The block size is 4096 bytes. Normally there would have to be a free space element of 1000 bytes for the bitmap to reflect space. If a block contained 950 bytes of space, it would not be considered when IMS is looking for space because the bitmap would indicate no space for that block. If a 100- or 500-byte segment were being inserted into the database, the block would not be considered, even though it has 950 bytes of space available. If you reset the bitmap, based on having 500 bytes of free space, the block with 950 bytes of space available would be selected. It would hold one 500-byte segment or several 100-byte segments but no 1000-byte segments.

This section contains the following topic:

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI Database Advisor for IMS 3.2