title: What are the differences between B trees and B+ trees?
body: <p>In a <strong>b-tree</strong> you can store both <em>keys and data in the internal and leaf nodes</em>, but in a <strong>b+ tree</strong> you have to store the data in the <em>leaf nodes only</em>.</p>
  <p>Is there any advantage of doing the above in a b+ tree?</p>
  <p>Why not use b-trees instead of b+ trees everywhere, as intuitively they seem much faster?</p>
  <p>I mean, why do you need to replicate the key (data) in a b+ tree?</p>