Small, special-purpose computing devices and high-end cote
Internet servers need fast, reliable database management.
Berkeley DB is an embedded database that provides
high-performance, scalable, transaction -protected and
recoverable data management services to applications.
Extremely portable, this library runs under almost all
UNIX' and Windows' variants, as well as a number of
embedded, real-time operating systems.
Berkeley DB is the ultimate resource for the world's
most widely deployed embedded database engine. This book
will aid software architects and engineers, product
managers, and systems and network administrators in using
and tuning Berkeley DB in their applications to get the
performance and reliability they need, without the overhead
imposed by other database products.
Designed by programmers for programmers, this classic
library style toolkit provides a broad base of
functionality to application writers. This book will help
you to make intelligent choices about when and how to use
Berkeley DB to meet wont needs.
Determine when and how to use an embedded database
Design a reliable, high-performance Berkeley DB-based
application
Incorporate Berkeley DB database services into your
application, including cache management, locking, logging,
transactions, and recovery
Add GUI and scripting language interfaces to your
Berkeley DB-based application
Build applications that run unattended for long periods
of time, for end users who are not database
administrators
Obtain the best possible performance from your Berkeley
DB application
I. TUTORIAL.
1.
Introduction. What is Berkeley DB?
Sleepycat Software Berkeley DB Products. Where does
Berkeley DB run? What does the Berkeley DB distribution
include? What can you do with Berkeley DB?
2. Getting Started: A Simple Tutorial. Introduction. Key/data
pairs. Object handles. Error returns. Opening a database.
Adding elements to a database. Retrieving elements from a
database. Removing elements from a database. Closing a
database.
3. Access Method Operations. Access method operations.
Opening a database. Opening multiple databases in a single
file. Upgrading databases. Retrieving records. Storing
records. Deleting records. Flushing the database cache.
Database statistics. Closing a database. Database cursors.
Partial record storage and retrieval. Database verification
and salvage. Error support.
4. Access Method Configuration. What are the available
access methods? Selecting an access method. Logical record
numbers. General access method configuration. Btree access
method specific configuration. Hash access method specific
configuration. Queue and Recno access method specific
configuration.
5. Berkeley DB Architecture. The big picture.
Programming model. Programmatic APIs. Scripting languages.
Supporting utilities.
6. The Berkeley DB Environment. Introduction. Creating
anenvironment. File naming. Security. Shared memory
regions. Remote filesystems. Opening databases within the
environment. Error support.
7. Berkeley DB Concurrent Data Store
Applications. Building Berkeley DB
Concurrent Data Store applications.
8. Berkeley DB Transactional Data Store
Applications. Terminology. Introduction.
Building transaction protected applications. Building
transaction protected routines. Administration. Deadlock
detection. Performing checkpoints. Archival procedures.
Recovery procedures. Recovery and filesystem operations.
Recovery implementation. Berkeley DB recoverability.
Transaction throughput.
9. XA Resource Manager. Introduction. Configuring
Berkeley DB with The Tuxedo System. Frequently Asked
Questions.
10. Programmer Notes. Application signal
handling. Error returns to applications. Environmental
variables. Building multi-threaded applications. Name
spaces. Copying databases. Library version information.
Database limits. Byte ordering. Disk space requirements.
Compatibility with historic interfaces.
Application-specific logging and recovery. Run-time
configuration.
11. The Locking Subsystem. Berkeley DB and locking.
Page locks. Access method locking conventions. Berkeley DB
Concurrent Data Store locking conventions. Deadlocks and
deadlock avoidance. Configuring locking. Locking and
non-Berkeley DB applications.
12. The Logging Subsystem. Berkeley DB and logging.
Log file limits. Configuring logging.
13. The Memory Pool Subsystem. Berkeley DB and the memory
pool. Configuring the memory pool.
14. The Transaction Subsystem. Berkeley DB and
transactions. Nested transactions. Cursor stability.
Transaction limits. Configuring transactions. Transactions
and non-Berkeley DB applications.
15. RPC Client/Server. Introduction. Client
program. Server program.
16. Java API. Configuration.
Compatibility. Programming notes.
17. Perl API. Using Berkeley DB with
Perl.
18. Tcl API. Loading Berkeley DB with
Tcl. Using Berkeley DB with Tcl. Tcl API programming notes.
Tcl error handling.
19. Sendmail. Using Berkeley DB with
Sendmail.
20. Dumping and Reloading Databases. The db_dump and db_load
utilities. Dump output formats. Loading text into
databases.
21. System Installation Notes. File utility /etc/magic
information.
22. Debugging Applications. Introduction. Compile-time
configuration. Run-time error information. Reviewing
Berkeley DB log files. Common errors.
23. Building Berkeley DB for UNIX systems. Building for UNIX.
Configuring Berkeley DB. Changing compile or load options.
Installing Berkeley DB. Dynamic shared libraries. Running
the test suite under UNIX. Architecture independent FAQ.
Architecture specific FAQs.
24. Building Berkeley DB for Win32 platforms. Building for Win32.
Running the test suite under Windows. Windows notes.
Windows FAQ.
25. Building Berkeley DB for VxWorks systems. Building for VxWorks.
VxWorks notes. VxWorks FAQ.
26. Distribution. Source code layout.
27. Additional References. Additional
references.
II. API MANUAL.
C API. C++ API. Java API. Tcl
API. Supporting Utilities.