So here, instead of having one index for each record in the data file, it uses an aditional layer composed by pointers, making the indexes between the index file and the level of indirection(block of record pointers) sparse.Īnd my understanding for this is it offers a good trade-off between memory usage and look-up speed by having a sparse(non-dense) index as well as a dense index for a unordered data file. The so-called level of indirection is nothing but some blocks of memory containing pointers, which is a bridge between the indexes and the data. Here I attach a picture in the question to illustrate. Your understanding mentioned makes the subtle thing clear to me:įrom what I understood, indirection is a fancy name for using a pointer of a value instead of the value itself. suppose the file is unordered by the non-key field DEPTNUMBER and we want to construct a secondary index on DEPTNUMBER with one level of indirection that stores record pointers. The slides for this course does not even provide any information regarding 'indirection' or how to use it, but it challenges students with a question like this: Great question! I actually came across this term level of indirection in my database course. This last example, perhaps, explains the "why" of it all.Īs we work with something we master it and learn how to abstract it to a higher level of abstraction, thus a new level of indirection is needed and we can solve bigger problems faster by offloading some of the work to the new API. Again a level of indirection is added on top of the low level API and we call it the new, improved API. It is not uncommon for one API to deal with something on a high level and that API deals with the same thing on a lower level.The driver is the next something using the something else which is the hardware. Then the screen driver talks directly to the screen hardware causing it to make tiny dots of light here and there. Here are two layers, at least of indirection. Using an operating system to access the display screen.Here the web site is the something and hiding behind it is the data which is the something else. Using a web site to graphically display the data generated by an XML based service.Typically this is something larger in scope: The pointer is the something and the value is the something else. So your example, using a pointer of a value instead of the value, fits this definition at one level. "Indirection" is using something that uses something else, in its broadest sense.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |