[comp.databases] What is a B+ tree?

wallis@labc.dec.com (Barry L. Wallis) (03/18/90)

In article <33095@shemp.CS.UCLA.EDU>, ravi@maui.cs.ucla.edu (T.M Ravi) writes...
> 
>I remember seeing a bunch of messages a few months back about B/B+ trees. 
>We already have the design of locking and transaction and buffer management
>worked out and are trying to design a traditional high performance index
>manager using B+ trees. 
> 

This brings up a question that I've wondered about from time to time (bit never
for very long ;-) ). What is the difference between a B tree and a B+ tree?

---
Barry L. Wallis			USENET: wallis@labc.dec.com
Database Consultant		Prodigy (don't laugh): DNMX41A
U.S. DECtp Resource Center	DECUServe: EISNER::WALLIS (not on the net yet)
Los Angeles, CA			"No one voted for me, I represent myself"
---

staceyc@sco.COM (Stacey Campbell) (03/20/90)

In article <1467@mountn.dec.com> wallis@labc.dec.com (Barry L. Wallis) writes:
>What is the difference between a B tree and a B+ tree?

"The index set is actually a tree structure index to the sequence set; in
fact, it is the index set that is the real B tree, strictly speaking.
(The combination of index set and sequence set is sometimes called a B+
tree.)"

C.J. Date, An Introduction to Database Systems, 3rd edn, pg 47.

(4 edn, pg 64)
-- 
Stacey Campbell                                             _--_|\
{uunet,ucscc,decwrl,att,microsoft,wyse}!sco!staceyc        /      \
staceyc@sco.com                                            \_.--._/
                                                                 v

tony@cairo.UUCP (Tony Anzelmo) (03/20/90)

In article <1467@mountn.dec.com> wallis@labc.dec.com (Barry L. Wallis) writes:
>
>In article <33095@shemp.CS.UCLA.EDU>, ravi@maui.cs.ucla.edu (T.M Ravi) writes...
>> 
>>I remember seeing a bunch of messages a few months back about B/B+ trees. 
>>We already have the design of locking and transaction and buffer management
>>worked out and are trying to design a traditional high performance index
>>manager using B+ trees. 
>> 
>
>This brings up a question that I've wondered about from time to time (bit never
>for very long ;-) ). What is the difference between a B tree and a B+ tree?
>

In a B+ tree, all data is moved to the leaf nodes. The upper level nodes
only provide the search path. In addition, leaf nodes are linked together
into a "sequence set" that allows simple sequential access in addition to
efficient random access normally associated with B trees.

The best paper on B trees I've seen is "The Ubiquitous B-Tree" by Douglas
Comer. Computing Surveys, Vol. 11, No. 2, June 1979.


Tony Anzelmo
Anzelmo Assoc. Inc.
508-568-1880
...!linus!alliant!cairo!tony