For more information on Berkeley DB or on database systems theory in general,
we recommend the following sources:
Technical Papers on Berkeley DB
These papers have appeared in refereed conference proceedings, and are
subject to copyrights held by the conference organizers and the authors
of the papers. Oracle makes them available here as a courtesy with the
permission of the copyright holders.
-
Berkeley DB
(Postscript)
-
Michael Olson, Keith Bostic, and Margo Seltzer, Proceedings of the 1999
Summer Usenix Technical Conference, Monterey, California, June 1999. This
paper describes recent commercial releases of Berkeley DB, its most important
features, the history of the software, and Sleepycat Software's Open Source
licensing policies.
-
Challenges in Embedded Database System Administration
(HTML)
-
Margo Seltzer and Michael Olson, First Workshop on Embedded Systems,
Cambridge, Massachusetts, March 1999. This paper describes the challenges
that face embedded systems developers, and how Berkeley DB has been designed to
address them.
-
LIBTP: Portable Modular Transactions for UNIX
(Postscript)
-
Margo Seltzer and Michael Olson, USENIX Conference Proceedings, Winter
1992. This paper describes an early prototype of the transactional system
for Berkeley DB.
-
A New Hashing Package for UNIX
(Postscript)
-
Margo Seltzer and Oz Yigit, USENIX Conference Proceedings, Winter 1991.
This paper describes the Extended Linear Hashing techniques used by Berkeley DB.
Background on Berkeley DB Features
These papers, although not specific to Berkeley DB, give a good overview of the
way different Berkeley DB features were implemented.
-
Operating System Support for Database Management
-
Michael Stonebraker, Communications of the ACM 24(7), 1981, pp. 412-418.
-
Dynamic Hash Tables
-
Per-Ake Larson, Communications of the ACM, April 1988.
-
Linear Hashing: A New Tool for File and Table Addressing
- Witold Litwin,
Proceedings of the 6th International
Conference on Very Large Databases (VLDB), 1980
-
The Ubiquitous B-tree
-
Douglas Comer, ACM Comput. Surv. 11, 2 (June 1979), pp. 121-138.
-
Prefix B-trees
-
Bayer and Unterauer, ACM Transactions on Database Systems, Vol. 2, 1
(March 1977), pp. 11-26.
-
The Art of Computer Programming Vol. 3: Sorting and Searching
-
D.E. Knuth, 1968, pp. 471-480.
-
Document Processing in a Relational Database System
-
Michael Stonebraker, Heidi Stettner, Joseph Kalash, Antonin Guttman,
Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982.
These publications are standard reference works on the design and
implementation of database systems. Berkeley DB uses many of the ideas they
describe.
-
Transaction Processing Concepts and Techniques
-
by Jim Gray and Andreas Reuter, Morgan Kaufmann Publishers.
We recommend chapters 1, 4 (skip 4.6, 4.7, 4.9, 4.10 and 4.11),
7, 9, 10.3, and 10.4.
-
An Introduction to Database Systems, Volume 1
-
by C.J. Date, Addison Wesley Longman Publishers.
In the 5th Edition, we recommend chapters 1, 2, 3, 16 and 17.
-
Concurrency Control and Recovery in Database Systems
-
by Bernstein, Goodman, Hadzilaco. Currently out of print, but available
from
http://research.microsoft.com/en-us/people/philbe/ccontrol.aspx.