DOC HOME
SITE MAP
MAN PAGES
GNU INFO
SEARCH
PRINT BOOK
Berkeley DB Reference Guide, Version 4.4.20
Introduction
An introduction to data management
Mapping the terrain: theory and practice
What is Berkeley DB?
What Berkeley DB is not
Do you need Berkeley DB?
What other services does Berkeley DB provide?
What does the Berkeley DB distribution include?
Where does Berkeley DB run?
Sleepycat Software's Berkeley DB products
Access Method Configuration
What are the available access methods?
Selecting an access method
Logical record numbers
General access method configuration
Selecting a page size
Selecting a cache size
Selecting a byte order
Duplicate data items
Non-local memory allocation
Btree access method specific configuration
Btree comparison
Btree prefix comparison
Minimum keys per page
Retrieving Btree records by logical record number
Hash access method specific configuration
Page fill factor
Specifying a database hash
Hash table size
Queue and Recno access method specific configuration
Managing record-based databases
Selecting a Queue extent size
Flat-text backing files
Logically renumbering records
Access Method Operations
Access method operations
Database open
Opening multiple databases in a single file
Retrieving records
Storing records
Deleting records
Database statistics
Database truncation
Database upgrade
Database verification and salvage
Flushing the database cache
Database close
Secondary indices
Cursor operations
Retrieving records with a cursor
Storing records with a cursor
Deleting records with a cursor
Duplicating a cursor
Equality join
Data item count
Cursor close
Access Method Wrapup
Data alignment
Retrieving records in bulk
Partial record storage and retrieval
Storing C/C++ structures/objects
Retrieved key/data permanence for C/C++
Error support
Cursor stability
Database limits
Disk space requirements
Access method tuning
Access method FAQ
Java API
Java configuration
Compatibility
Java programming notes
Java FAQ
Berkeley DB Architecture
The big picture
Programming model
Programmatic APIs
Scripting languages
Supporting utilities
The Berkeley DB Environment
Database environment introduction
Creating a database environment
Opening databases within the environment
Error support
DB_CONFIG configuration file
File naming
Shared memory regions
Security
Encryption
Remote filesystems
Environment FAQ
Berkeley DB Concurrent Data Store Applications
Berkeley DB Concurrent Data Store applications
Handling failure in Data Store and Concurrent Data Store applications
Architecting Data Store and Concurrent Data Store applications
Berkeley DB Transactional Data Store Applications
Berkeley DB Transactional Data Store applications
Why transactions?
Terminology
Handling failure in Transactional Data Store applications
Architecting Transactional Data Store applications
Opening the environment
Opening the databases
Recoverability and deadlock handling
Atomicity
Isolation
Degrees of isolation
Transactional cursors
Nested transactions
Environment infrastructure
Deadlock detection
Checkpoints
Database and log file archival
Log file removal
Recovery procedures
Hot failover
Recovery and filesystem operations
Berkeley DB recoverability
Transaction tuning
Transaction throughput
Transaction FAQ
Berkeley DB Replication
Introduction
Replication environment IDs
Replication environment priorities
Building replicated applications
Building the communications infrastructure
Connecting to a new site
Elections
Synchronizing with a master
Initializing a new site
Bulk transfer
Transactional guarantees
Network partitions
Replication FAQ
Ex_repquote: a replication example
Ex_repquote: a TCP/IP based communication infrastructure
Ex_repquote: putting it all together
Distributed Transactions
Introduction
Building a Global Transaction Manager
XA Introduction
Configuring Berkeley DB with the Tuxedo System
Frequently Asked Questions
Application Specific Logging and Recovery
Introduction
Defining application-specific log records
Automatically generated functions
Application configuration
Programmer Notes
Signal handling
Error returns to applications
Environmental variables
Multithreaded applications
Berkeley DB handles
Name spaces
Memory-only configurations
Disk drive caches
Copying or moving databases
Compatibility with historic UNIX interfaces
Run-time configuration
Programmer notes FAQ
The Locking Subsystem
Berkeley DB and locking
Configuring locking
Configuring locking: sizing the system
Standard lock modes
Deadlock detection
Deadlock detection using timers
Deadlock debugging
Locking granularity
Locking without transactions
Locking with transactions: two-phase locking
Berkeley DB Concurrent Data Store locking conventions
Berkeley DB Transactional Data Store locking conventions
Locking and non-Berkeley DB applications
The Logging Subsystem
Berkeley DB and logging
Configuring logging
Log file limits
The Memory Pool Subsystem
Berkeley DB and the memory pool
Configuring the memory pool
The Transaction Subsystem
Berkeley DB and transactions
Configuring transactions
Transaction limits
Sequences
Sequences
RPC Client/Server
Introduction
Client program
Server program
RPC FAQ
Berkeley DB Extensions: Tcl
Loading Berkeley DB with Tcl
Using Berkeley DB with Tcl
Tcl API programming notes
Tcl error handling
Tcl FAQ
Berkeley DB Extensions
Using Berkeley DB with Apache
Using Berkeley DB with Perl
Using Berkeley DB with PHP
Dumping and Reloading Databases
The db_dump and db_load utilities
Dump output formats
Loading text into databases
System Installation Notes
File utility /etc/magic information
Building with multiple versions of Berkeley DB
Debugging Applications
Introduction
Compile-time configuration
Run-time error information
Reviewing Berkeley DB log files
Troubleshooting common Berkeley DB problems
Building Berkeley DB for UNIX/POSIX systems
Building for UNIX
Configuring Berkeley DB
Building a small memory footprint library
Changing compile or load options
Installing Berkeley DB
Dynamic shared libraries
Running the test suite under UNIX
Architecture independent FAQ
Architecture specific FAQs:
AIX
,
FreeBSD
,
HP-UX
,
IRIX
,
Linux
,
Mac OS X
,
OSF/1
,
QNX
,
SCO
,
Solaris
,
SunOS
,
Ultrix
Building Berkeley DB for Windows systems
Building for Windows
Building a small memory footprint library
Running the test suite under Windows
Windows notes
Windows FAQ
Building Berkeley DB for VxWorks systems
Building for VxWorks 5.4
VxWorks notes
VxWorks FAQ
Upgrading Berkeley DB Applications
Library version information
Upgrading Berkeley DB installations
Upgrading Berkeley DB 1.XX applications to Berkeley DB 2.0
Upgrading Berkeley DB 2.X.X applications to Berkeley DB 3.0
Upgrading Berkeley DB 3.0.X applications to Berkeley DB 3.1
Upgrading Berkeley DB 3.1.X applications to Berkeley DB 3.2
Upgrading Berkeley DB 3.2.X applications to Berkeley DB 3.3
Upgrading Berkeley DB 3.3.X applications to Berkeley DB 4.0
Upgrading Berkeley DB 4.0.X applications to Berkeley DB 4.1
Upgrading Berkeley DB 4.1.X applications to Berkeley DB 4.2
Upgrading Berkeley DB 4.2.X applications to Berkeley DB 4.3
Upgrading Berkeley DB 4.3.X applications to Berkeley DB 4.4
Test Suite
Running the test suite
Test suite FAQ
Distribution
Porting Berkeley DB to new architectures
Source code layout
Additional References
Additional references