data structures - Why are skip lists not preferred over B+-trees for databases? -
I was reading about leaving lists and mem SQLs and wondering why to leave lists more use in the database Not done? Are there any major exceptions to using skiplists?
Database is generally so large that they have to store external storage, such as large disc drives. There is a hindrance in most database applications, which we have to do in memory storage from disk drive to main memory.
B trees and their variants are specially designed to reduce the number of blocks required to complete each of their operations and writes mathematical, expected memory for each B-tree operation The number of transfers is (log n / logb), where b is the block size. Compare it to the Schelist, which requires O (log n) memory transfer on the expected. Since B is usually measured in megabytes, log B can be in the neighborhood of 15-25, so the B-tree can be quite fast. Even when the database is in main memory, the effect of the memory hierarchy (L1 and L2 cache etc.) can be very clear that B-tree variants still practice faster than many other data structures. Are in Gives some background on it.
Although each operation on B-tree generally requires more CPU work than the related tasks in other data structures, the fact is that they require very little memory transfers to them. Practice faster than other data structures, therefore, it would not be advisable to use a drop list in the database.
There is another reason that B-trees are good: they are poor-case efficient, though the drop-down list exists, most skiplists implementations are random and provide the required guarantees on their behavior. In a database, it can be unacceptable because many use cases on database require worst-action-efficient behavior.
Hope this helps!
Comments
Post a Comment