In this project, we implemented an access method for MINIREL -
Linear Hashing. Linear hashing is one widely used dynamic hashing scheme
which adjusts gracefully to inserts and deletes. One record can be
retrieved in 1.2 disk access on
average.[1][3][2]
We provide ordinary index operations on linear hashing: insertion (with
file expansion if necessary), deletion (with file contraction if
necessary) and an index scan which supports deleting the currently
scanned record. Concurrency control and recovery are also supported
and because of the special structure of the index, some techniques
have been used to improve the concurrency. [4]
Our component is dependent on several other components in MINIREL
including Buffer Manager, Space Manager, Lock Manager and Recovery
Manager. The query processing components will use our component if
linear hashing index is used to access a relation.