Berkeley DB Reference Guide, Version 4.7.25
- 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?
- The 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
- Concurrent Data Store introduction
- Handling failure in Data Store and Concurrent Data Store applications
- Architecting Data Store and Concurrent Data Store applications
- Berkeley DB Transactional Data Store Applications
- Transactional Data Store introduction
- 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
- Replication introduction
- Replication environment IDs
- Replication environment priorities
- Building replicated applications
- Replication Manager methods
- Base replication API
- Building the communications infrastructure
- Connecting to a new site
- Elections
- Synchronizing with a master
- Initializing a new site
- Bulk transfer
- Transactional guarantees
- Master leases
- Clock skew
- Network partitions
- Replication FAQ
- Ex_rep: a replication example
- Ex_rep_base: a TCP/IP based communication infrastructure
- Ex_rep_base: putting it all together
- Distributed Transactions
- Introduction to distributed transactions
- Building a Global Transaction Manager
- XA Introduction
- Configuring Berkeley DB with the Tuxedo System
- XA: Frequently Asked Questions
- Application Specific Logging and Recovery
- Introduction to application specific logging and recovery
- 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 or Flash configurations
- Disk drive caches
- Copying or moving databases
- Compatibility with historic UNIX interfaces
- Run-time configuration
- Programmer notes FAQ
- The Locking Subsystem
- Introduction to the locking subsystem
- 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
- Introduction to the logging subsystem
- Configuring logging
- Log file limits
- The Memory Pool Subsystem
- Introduction to the memory pool subsystem
- Configuring the memory pool
- The Transaction Subsystem
- Introduction to the transaction subsystem
- Configuring transactions
- Transaction limits
- Sequences
- Introduction to sequences
- RPC Client/Server
- Introduction to the RPC client/server
- 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 to debugging
- Compile-time configuration
- Run-time error information
- Reviewing Berkeley DB log files
- Building Berkeley DB for BREW
- Building for BREW
- Building Berkeley DB for S60
- Building for S60
- S60 notes
- Building Berkeley DB for UNIX/POSIX
- Building for UNIX/POSIX
- 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
- Building for Windows
- Building a small memory footprint library
- Running the test suite under Windows
- Windows notes
- Windows FAQ
- Building Berkeley DB for Windows CE
- Building for Windows CE
- Windows CE notes
- Building Berkeley DB for VxWorks
- Building for VxWorks 5.4 and 5.5
- Building for VxWorks6.x
- VxWorks notes
- VxWorks FAQ
- Upgrading Berkeley DB Applications
- Library version information
- Upgrading Berkeley DB installations
- Berkeley DB Release Change Logs
-
Upgrading Berkeley DB 1.85 and 1.86 applications to Berkeley DB 2.0
-
Upgrading Berkeley DB 2.X applications to Berkeley DB 3.0
-
Upgrading Berkeley DB 3.0 applications to Berkeley DB 3.1
-
Upgrading Berkeley DB 3.1 applications to Berkeley DB 3.2
-
Upgrading Berkeley DB 3.2 applications to Berkeley DB 3.3
-
Upgrading Berkeley DB 3.3 applications to Berkeley DB 4.0
-
Upgrading Berkeley DB 4.0 applications to Berkeley DB 4.1
-
Upgrading Berkeley DB 4.1 applications to Berkeley DB 4.2
-
Upgrading Berkeley DB 4.2 applications to Berkeley DB 4.3
-
Upgrading Berkeley DB 4.3 applications to Berkeley DB 4.4
-
Upgrading Berkeley DB 4.4 applications to Berkeley DB 4.5
-
Upgrading Berkeley DB 4.5 applications to Berkeley DB 4.6
-
Upgrading Berkeley DB 4.6 applications to Berkeley DB 4.7
- Test Suite
- Running the test suite
- Test suite FAQ
- Distribution
- Porting Berkeley DB to new architectures
- Source code layout
- Additional References
- Additional references