🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.database
Article #226

Re: Btree Question...

#226
From: Arthur M. Keller
Date: Sat, 12 Jul 1986 09:16
39 lines
2664 bytes
In article <151@itcatl.UUCP> parris@itcatl.UUCP (Parris Hughes) writes:
>I am building a database manager which uses B-Trees.  My references on
>B-Trees are "Algorithms + Data Structures = Programs" by Wirth, and
>"Searching & Sorting" by Knuth.  I am having problems understanding the
>B-Tree deletion alogrithm.  Given the following 2nd Order B-Tree:

I suggest that the answer is only of `academic' interest.  Because of
fanout considerations (increasing fanout decreases tree height), all
internal (non-leaf) nodes contain keys only for the purposes of
navigation.  All actual database keys appear only in the leaves of the
B-tree (this is technically called a B+-tree (the + is a superscript,
the - is a hyphen)).  This means that internal node keys need not be
actual database keys, and hence are not affected by deletion.  Also,
right end key compression is appropriate to save space (and can even
be a factor when deciding to split a node!).

If you intend your database manager support a relational database, you
probably want multiple B-trees referring to the same collection of
records (presumably one relation).  I have a paper submitted for
publication containing algorithms and data structures for a multiple
B-tree structure that is crash-proof and deadlock-free (for disk block
locks but not for logical record locks) and would be relatively
efficient if coupled with a block cacheing scheme with write-through.
I would be willing to send out advance copies to people who mail me a
message containing their physical (snail) mail address and agree to
send me comments.  I'd especially be interested in hearing from anyone
who plans to implement such algorithms, and I might be persuaded to
spend some time explaining it to such people under some appropriate
circumstances.  An earlier version of these algorithms was prototyped
and the lessons learned were used in developing the approach described
in my paper.

Arthur


-- 
------------------------------------------------------------------------------
Arpanet: ARK@SALLY.UTEXAS.EDU
UUCP:    {gatech,harvard,ihnp4,pyramid,seismo}!ut-sally!ark
Technical Details
Message-ID: <5303@ut-sally.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!caip!ut-sally!ark
References: <151@itcatl.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!caip!ut-sally!ark
From: ark@ut-sally.UUCP (Arthur M. Keller)
Newsgroups: net.database
Subject: Re: Btree Question...
Message-ID: <5303@ut-sally.UUCP>
Date: Sat, 12-Jul-86 05:16:59 EDT
Article-I.D.: ut-sally.5303
Posted: Sat Jul 12 05:16:59 1986
Date-Received: Sun, 13-Jul-86 04:00:53 EDT
References: <151@itcatl.UUCP>
Reply-To: ark@sally.UUCP (Arthur M. Keller)
Organization: U. Texas CS Dept., Austin, Texas
Lines: 39