The leaf nodes of a B+-tree file organization may lose sequentially after a sequence of inserts. a.
Question:
The leaf nodes of a B+-tree file organization may lose sequentially after a sequence of inserts.
a. Explain why sequentially may be lost.
b. To minimize the number of seeks in a sequential scan, many databases allocate leaf pages in extents of n blocks, for some reasonably large n. When the first leaf of a B+-tree is allocated, only one block of an n-block unit is used, and the remaining pages are free. If a page splits, and its n-block unit has a free page, that space is used for the new page. If the n-block unit is full, another n-block unit is allocated, and the first n∕2 leaf pages are placed in one n-block unit and the remaining one in the second n-block unit. For simplicity, assume that there are no delete operations.
i. What is the worst-case occupancy of allocated space, assuming no delete operations, after the first n-block unit is full?
ii. Is it possible that leaf nodes allocated to an n-node block unit are not consecutive, that is, is it possible that two leaf nodes are allocated to one n-node block, but another leaf node in between the two is allocated to a different n-node block?
iii. Under the reasonable assumption that buffer space is sufficient to store an n-page block, how many seeks would be required for a leaf level scan of the B+-tree, in the worst case? Compare this number with the worst case if leaf pages are allocated a block at a time.
iv. The technique of redistributing values to siblings to improve space utilization is likely to be more efficient when used with the preceding allocation scheme for leaf blocks. Explain why.
Step by Step Answer:
Database System Concepts
ISBN: 9780078022159
7th Edition
Authors: Abraham Silberschatz, Henry F. Korth, S. Sudarshan