1 / 20

B-Trees

B-Trees. Motivation. When data is too large to fit in the main memory, then the number of disk accesses becomes important. A disk access is unbelievably expensive compared to a typical computer instruction (mechanical limitations). One disk access is worth 200,000 computer instructions.

Télécharger la présentation

B-Trees

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. B-Trees

  2. Motivation • When data is too large to fit in the main memory, then the number of disk accesses becomes important. • A disk access is unbelievably expensive compared to a typical computer instruction (mechanical limitations). • One disk access is worth 200,000 computer instructions. • The number of disk accesses will dominate the running time.

  3. Motivation (contd.) • Secondary memory (disk) is divided into equal-sized blocks (typical size are 512, 2048,4096, or 8192 bytes). • The basic I/O operation transfers the contents of one disk block to/from RAM. • Our goal is to devise multi way search tree that will minimize file access ( by exploring disk block read).

  4. Multi way search trees(of order m) • A generalization of Binary Search Trees. • Each node has at most m children. • If k ≤ m is the number of children, then the node has exactly k-1 keys. • The tree is ordered.

  5. B-Trees • A B-tree of order m is m-way search tree. • B-Trees are balanced search trees designed to work well on direct access secondary storage devices. • B-Trees are similar to Red-Black Trees, but are better at minimizing disk I/O operations. • All leaves are at the same level.

  6. M QTX RS

  7. Height h = 4 2-leaves at depth 2 2-leaves at depth 3 1-leaf at depth 4

  8. Height h = 2 6-leaves at depth 2

  9. B-Tree Properties B-Tree is a rooted tree with root[T] with the following properties: 1- Every node x has the following fields. a-n[ x], the number of keys currently stored in x. b-The n[ x] keys, themselves stored in non decreasing (Ascending/Increasing) order. key1[x] ≤ key2[x] ≤ … ≤ key n [x]. c-Leaf[ x], a Boolean value that is TRUE if x is leaf, and false if x is internal node.

  10. Properties Contd… 2- if x is an internal node, it also contains n[ x]+1 pointers to its children. Leaf node contains no children. 3- The keys keyi[ x] separate the range of keys stored in each sub tree : if k1 is any key stored in the sub tree with root c1[ x], then: k1≤key1[x] ≤ k2 ≤ key2[x] ≤…key n[ x] [ x] ≤ kn[x]+1 4- Each leaf has the same depth, which is the height of the tree h.

  11. Properties Contd… 5- There are lower and upper bound on the number of keys a node can contain. These bounds can be expressed in terms of a fixed integer t ≥2, called the minimum degree of B-Tree. Why t cant be 1?

  12. Properties Contd… a- Every node other than the root must have at least t-1 keys, Every internal node other than root, thus has at least t children. If the tree is non empty, the root must have at least one key. b-Every node can contain at most 2t-1 keys. Therefore, an internal node can have at most 2t children. We say a node is full if it contains exactly 2t-1 keys.

  13. Height of a B-Tree • What is the maximum height of a B-Tree with N entries? • This question is important, because the maximum height of a B-Tree will give an upper bound on the number of disk accesses.

  14. Height of a B-Tree If n ≥ 1, than for any n-key B-Tree T of height h and minimum degree t ≥ 2,

  15. root[T] # of nodes 1 1 t-1 t-1 2 t t t-1 t-1 t-1 t-1 2t t t t t t-1 t-1 t-1 t-1 t-1 t-1 t-1 t-1 2t2 A B-Tree of height 3 containing minimum possible keys

  16. Proof • Number of nodes is minimized, when root contains one key and all other nodes contain t-1 keys. • 2 nodes at depth 1, 2t nodes at depth 2, 2t2nodes at depth 3 and so on. • At depth h, there are 2th-1 nodes.

  17. Proof( Contd.) • Thus number of keys (n) satisfies the inequality:

  18. Numerical Example For N= 2,000,000 (2 Million), and m=100, the maximum height of a tree of order m will be only 3, whereas a binary tree would be of height larger than 20.

  19. Reading… • Chapter 19 “B Trees” of book “Introduction to Algorithms” By Thomas H. Cormen et al

More Related