Book description
Small, special-purpose computing devices and high-end core 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 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 your needs.
You can visit the Sleepycat website to get the latest errata for this book.
NOTE: The first printing of this book contained an error in the table of contents that caused the page numbers to be off. This will be corrected in the second printing. If you have an earlier edition, you can download a pdf of the correct table of contents that you can print out and use with your book. If you have any questions, please feel free to contact the editor of this book at stephanie.wall@newriders.com.
Table of contents
- Copyright
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Tell Us What You Think
- Introduction
-
Reference Guide
- Introduction
- Getting Started: A Simple Tutorial
-
Access Method Configuration
- Btree
- Selecting an Access Method
- Logical Record Numbers
- Selecting a Page Size
- Selecting a Cache Size
- Selecting a Byte Order
- Non-Local Memory Allocation
- Btree Comparison
- Minimum Keys Per Page
- Retrieving Btree Records by Number
- Page Fill Factor
- Specifying a Database Hash
- Hash Table Size
- Managing Record-Based Databases
- Selecting a Queue Extent Size
- Flat-Text Backing Files
- Logically Renumbering Records
-
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
- Retrieving Records with a Cursor
- Storing Records with a Cursor
- Deleting Records with a Cursor
- Duplicating a Cursor
- Logical Join
- Data Item Count
- Closing a Cursor
- Cursor Stability
- Database Verification and Salvage
- Access Method Wrap-Up
- Berkeley DB Architecture
- Berkeley DB Environment
- Berkeley DB Concurrent Data Store Applications
-
Berkeley DB Transactional Data Store Applications
- Why Transactions?
- Terminology
- Application Structure
- Opening the Environment
- Opening the Databases
- Recoverability and Deadlock Avoidance
- Atomicity
- Repeatable Reads
- Transactional Cursors
- Nested Transactions
- Environment Infrastructure
- Deadlock Detection
- Performing Checkpoints
- Database and Log File Archival Procedures
- Log File Removal
- Recovery Procedures
- Recovery and Filesystem Operations
- Berkeley DB Recoverability
- Transaction Throughput
- XA Resource Manager
- Programmer Notes
- The Locking Subsystem
- The Logging Subsystem
- The Memory Pool Subsystem
- The Transaction Subsystem
- RPC/Client Server
- Java API
- Tcl API
- Dumping and Reloading Databases
- Debugging Applications
- Building Berkeley DB for UNIX and QNX Systems
- Building Berkeley DB for Win32 Platforms
- Building Berkeley DB for VxWorks Systems
- Upgrading Berkeley DB Applications
- Test Suite
- Distribution
- Additional References
-
API Manual
-
C API
- DB→close
- DB→cursor
- DB→del
- DB→fd
- DB→get
- DB→get_byteswapped
- DB→get_type
- DB→join
- DB→key_range
- DB→open
- DB→put
- DB→remove
- DB→rename
- DB→set_append_recno
- DB→set_bt_compare
- DB→set_bt_minkey
- DB→set_bt_prefix
- DB→set_cachesize
- DB→set_dup_compare
- DB→set_errcall
- DB→set_errfile
- DB→set_errpfx
- DBset_feedback
- DB→set_flags
- DB→set_h_ffactor
- DB→set_h_hash
- DB→set_h_nelem
- DB→set_lorder
- DB→set_malloc
- DB→set_pagesize
- DB→set_paniccall
- DB→set_q_extentsize
- DB→set_re_delim
- DB→set_re_len
- DB→set_re_pad
- DB→set_re_source
- DB→set_realloc
- DB→stat
- DB→sync
- DB→upgrade
- DB→verify
- DBENV→close
- DBENV→err
- DBENV→open
- DBENV→remove
- DBENV→set_cachesize
- DBENV→set_data_dir
- DBENVset_errcall
- DBENV→set_errfile
- DBENV→set_errpfx
- DBENV→set_feedback
- DBENV→set_flags
- DBENV→set_lg_bsize
- DBENV→set_lg_dir
- DBENV→set_lg_max
- DBENV→set_lk_conflicts
- DBENV→set_lk_detect
- DBENV→set_lk_max
- DBENVset_lk_max_lockers
- DBENV→set_lk_max_locks
- DBENV→set_lk_max_objects
- DBENV→set_mp_mmapsize
- DBENV→set_paniccall
- DBENV→set_recovery_init
- DBENV→set_server
- DBENV→set_shm_key
- DBENV→set_tmp_dir
- DBENV→set_tx_max
- DBENV→set_tx_recover
- DBENV→set_tx_timestamp
- DBENV→set_verbose
- DBT
- DB_LSN
- DBcursor→c_close
- DBcursor→c_count
- DBcursor→c_del
- DBcursor→c_dup
- DBcursor→c_get
- DBcursor→c_put
- db_create
- db_env_create
- db_env_set_func_close
- db_env_set_func_dirfree
- db_env_set_func_dirlist
- db_env_set_func_exists
- db_env_set_func_free
- db_env_set_func_fsync
- db_env_set_func_ioinfo
- db_env_set_func_malloc
- db_env_set_func_map
- db_env_set_func_open
- db_env_set_func_read
- db_env_set_func_realloc
- db_env_set_func_rename
- db_env_set_func_seek
- db_env_set_func_sleep
- db_env_set_func_unlink
- db_env_set_func_unmap
- db_env_set_func_write
- db_env_set_func_yield
- DBENV→set_mutexlocks
- db_env_set_pageyield
- db_env_set_panicstate
- db_env_set_region_init
- db_env_set_tas_spins
- db_strerror
- db_version
- dbm/ndbm
- hsearch
- lock_detect
- lock_get
- lock_id
- lock_put
- lock_stat
- lock_vec
- log_archive
- log_compare
- log_file
- log_flush
- log_get
- log_put
- log_register
- log_stat
- log_unregister
- memp_fclose
- memp_fget
- memp_fopen
- memp_fput
- memp_fset
- memp_fsync
- memp_register
- memp_stat
- memp_sync
- memp_trickle
- txn_abort
- txn_begin
- txn_checkpoint
- txn_commit
- txn_id
- txn_prepare
- txn_stat
-
C++ API
- Db
- Db::close
- Db::cursor
- Db::del
- Db::fd
- Db::get
- Db::get_byteswapped
- Db::get_type
- Db::join
- Db::key_range
- Db::open
- Db::put
- Db::remove
- Db::rename
- b::set_append_recno
- Db::set_bt_compare
- Db::set_bt_minkey
- Db::set_bt_prefix
- Db::set_cachesize
- Db::set_dup_compare
- Db::set_errcall
- Db::set_errfile
- Db::set_errpfx
- Db::set_feedback
- Db::set_flags
- Db::set_h_ffactor
- Db::set_h_hash
- Db::set_h_nelem
- Db::set_lorder
- Db::set_malloc
- Db::set_pagesize
- Db::set_paniccall
- Db::set_q_extentsize
- Db::set_re_delim
- Db::set_re_len
- Db::set_re_pad
- Db::set_re_source
- Db::set_realloc
- Db::stat
- Db::sync
- Db::upgrade
- Db::verify
- DbEnv
- DbEnv::close
- DbEnv::err
- DbEnv::lock_detect
- DbEnv::lock_get
- DbEnv::lock_id
- DbEnv::lock_stat
- DbEnv::lock_vec
- DbEnv::log_archive
- DbEnv::log_compare
- DbEnv::log_file
- DbEnv::log_flush
- DbEnv::log_get
- DbEnv::log_put
- DbEnv::log_register
- DbEnv::log_stat
- DbEnv::log_unregister
- DbEnv::memp_register
- DbEnv::memp_stat
- DbEnv::memp_sync
- DbEnv::memp_trickle
- DbEnv::open
- DbEnv::remove
- DbEnv::set_cachesize
- DbEnv::set_data_dir
- DbEnv::set_errcall
- DbEnv::set_errfile
- DbEnv::set_error_stream
- DbEnv::set_errpfx
- DbEnv::set_feedback
- DbEnv::set_flags
- DbEnv::set_lg_bsize
- DbEnv::set_lg_dir
- DbEnv::set_lg_max
- DbEnv::set_lk_conflicts
- DbEnv::set_lk_detect
- DbEnv::set_lk_max
- DbEnv::set_lk_max_lockers
- DbEnv::set_lk_max_locks
- DbEnv::set_lk_max_objects
- DbEnv::set_mp_mmapsize
- DbEnv::set_mutexlocks
- DbEnv::set_pageyield
- DbEnv::set_paniccall
- DbEnv::set_panicstate
- DbEnv::set_recovery_init
- DbEnv::set_region_init
- DbEnv::set_server
- DbEnv::set_shm_key
- DbEnv::set_tas_spins
- DbEnv::set_tmp_dir
- DbEnv::set_tx_max
- DbEnv::set_tx_recover
- DbEnv::set_tx_timestamp
- DbEnv::set_verbose
- DbEnv::strerror
- DbEnv::txn_begin
- DbEnv::txn_checkpoint
- DbEnv::txn_stat
- DbEnv::version
- DbException
- DbException::get_errno
- DbException::what
- DbLock
- DbLock::put
- DbLsn
- DbMpoolFile
- DbMpoolFile::close
- DbMpoolFile::get
- DbMpoolFile::open
- DbMpoolFile::put
- DbMpoolFile::set
- DbMpoolFile::sync
- DbTxn
- DbTxn::abort
- DbTxn::commit
- DbTxn::id
- DbTxn::prepare
- Dbc
- Dbc::close
- Dbc::count
- Dbc::del
- Dbc::dup
- Dbc::get
- Dbc::put
- Dbt
-
Java API
- Db
- Db.close
- Db.cursor
- Db.del
- Db.fd
- Db.get
- Db.get_byteswapped
- Db.get_type
- Db.join
- Db.key_range
- Db.open
- Db.put
- Db.remove
- Db.rename
- Db.set_append_recno
- Db.set_bt_compare
- Db.set_bt_minkey
- Db.set_bt_prefix
- Db.set_cachesize
- Db.set_dup_compare
- Db.set_errcall
- Db.set_errpfx
- Db.set_feedback
- Db.set_flags
- Db.set_h_ffactor
- Db.set_h_hash
- Db.set_h_nelem
- Db.set_lorder
- Db.set_pagesize
- Db.set_q_extentsize
- Db.set_re_delim
- Db.set_re_len
- Db.set_re_pad
- Db.set_re_source
- Db.stat
- Db.sync
- Db.upgrade
- Db.verify
- DbDeadlockException
- DbEnv
- DbEnv.close
- DbEnv.get_version_major
- DbEnv.lock_detect
- DbEnv.lock_get
- DbEnv.lock_id
- DbEnv.lock_stat
- DbEnv.lock_vec
- DbEnv.log_archive
- DbEnv.log_compare
- DbEnv.log_file
- DbEnv.log_flush
- DbEnv.log_get
- DbEnv.log_put
- DbEnv.log_register
- DbEnv.log_stat
- DbEnv.log_unregister
- DbEnv.memp_register
- DbEnv.memp_stat
- DbEnv.memp_sync
- DbEnv.memp_trickle
- DbEnv.open
- DbEnv.remove
- DbEnv.set_cachesize
- DbEnv.set_data_dir
- DbEnv.set_errcall
- DbEnv.set_error_stream
- DbEnv.set_errpfx
- DbEnv.set_feedback
- DbEnv.set_flags
- DbEnv.set_lg_bsize
- DbEnv.set_lg_dir
- DbEnv.set_lg_max
- DbEnv.set_lk_conflicts
- DbEnv.set_lk_detect
- DbEnv.set_lk_max
- DbEnv.set_lk_max_lockers
- DbEnv.set_lk_max_locks
- DbEnv.set_lk_max_objects
- DbEnv.set_mp_mmapsize
- DbEnv.set_mutexlocks
- DbEnv.set_pageyield
- DbEnv.set_panicstate
- DbEnv.set_recovery_init
- DbEnv.set_region_init
- DbEnv.set_server
- DbEnv.set_shm_key
- DbEnv.set_tas_spins
- DbEnv.set_tmp_dir
- DbEnv.set_tx_max
- DbEnv.set_tx_recover
- DbEnv.set_tx_timestamp
- DbEnv.set_verbose
- DbEnv.strerror
- DbEnv.txn_begin
- DbEnv.txn_checkpoint
- DbEnv.txn_stat
- DbException
- DbException.get_errno
- DbLock
- DbLock.put
- DbLsn
- DbMemoryException
- DbMpoolFile.close
- DbMpoolFile.get
- DbMpoolFile.open
- DbMpoolFile.put
- DbMpoolFile.set
- DbMpoolFile.sync
- DbRunRecoveryException
- DbTxn
- DbTxn.abort
- DbTxn.commit
- DbTxn.id
- DbTxn.prepare
- Dbc
- Dbc.close
- Dbc.count
- Dbc.del
- Dbc.dup
- Dbc.get
- Dbc.put
- Dbt
- Tcl APIs
- Supporting Utilities
-
C API
Product information
- Title: Berkeley DB
- Author(s):
- Release date: June 2001
- Publisher(s): Sams
- ISBN: 0735710643
You might also like
video
Python Fundamentals
51+ hours of video instruction. Overview The professional programmer’s Deitel® video guide to Python development with …
book
Python for Programmers, First Edition
The professional programmer's Deitel® guide to Python® with introductory artificial intelligence case studies Written for programmers …
book
Python Crash Course, 2nd Edition
This is the second edition of the best selling Python book in the world. Python Crash …
book
SQL Cookbook, 2nd Edition
You may know SQL basics, but are you taking advantage of its expressive power? This second …