ISAM

ISAM, promoted by IBM and Ingres DBMS, also uses the linear indexing philosophy of primary key sorting. In ISAM, files on disk are divided into cylinders on disk. The cylinders are tracks readable from a particular placement of the head on a multiple platter of disk drive. ISAM addresses the limitation of linear indexing of insertion or deletion to some extent due to its static structure, but it is only suitable for small changes. Thus, ISAM is usually applied in databases which are not frequently updated. Static index allocation makes frequent insertion and deletion an expensive process. However, it helps with concurrent access of records, which helps to scale the efficiency of the current data structure. The drawbacks of ISAM with regard to insertion/deletion was later addressed by B-tree based indexing. The ISAM approach was used before the adoption of tree-based indexing:

ISAM

Figure 7.5: Illustration of ISAM structure

The ISAM data structure consists of a memory-resident cylinder index, cylinder index, and system overflow as illustrated in Figure 7.5. The memory-resident cylinder keeps the highest-value key from each cylinder. Similarly, each cylinder index keeps the highest-value key for each block. Each cylinder in ISAM consists of the following:

  • Cylinder index: Each cylinder in ISAM contains an index that keeps updated the highest-valued key for each block.
  • Records: Data block which stores the records.
  • Overflow: Overflows are kept in cylinders to allow insertion of records. Based on the cylinder index, the correct overflow is identified for insertion of new records.

The system overflow in the ISAM structure is used if the cylinder overflow is completely utilized by insertion. This could drastically increase the search time:

ISAM

Figure 7.6: ISAM node structure

The node structure of ISAM consists of n keys, which are associated with n+1 pointers, as shown in Figure 7.6. An example of a node structure is shown in the following diagram:

ISAM

Figure 7.7: Example of ISAM indexing

As records in system overflow increase due to insertion, the performance of ISAM decreases. This is usually handled by database reorganization of records by minimizing the imbalance in records by updating the memory-resident cylinder index. The more efficient structure of ISAM is utilized in tree-based structures, as discussed in the next section.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.74.66