1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>What other services does Berkeley DB provide?</title> 7 <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> 9 <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> 10 <link rel="up" href="intro.html" title="Chapter��1.�� Introduction" /> 11 <link rel="prev" href="intro_need.html" title="Do you need Berkeley DB?" /> 12 <link rel="next" href="intro_distrib.html" title="What does the Berkeley DB distribution include?" /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">What other services does Berkeley DB provide?</th> 19 </tr> 20 <tr> 21 <td width="20%" align="left"><a accesskey="p" href="intro_need.html">Prev</a>��</td> 22 <th width="60%" align="center">Chapter��1.�� 23 Introduction 24 </th> 25 <td width="20%" align="right">��<a accesskey="n" href="intro_distrib.html">Next</a></td> 26 </tr> 27 </table> 28 <hr /> 29 </div> 30 <div class="sect1" lang="en" xml:lang="en"> 31 <div class="titlepage"> 32 <div> 33 <div> 34 <h2 class="title" style="clear: both"><a id="intro_what"></a>What other services does Berkeley DB provide?</h2> 35 </div> 36 </div> 37 </div> 38 <p>Berkeley DB also provides core database services to developers. These 39services include:</p> 40 <div class="variablelist"> 41 <dl> 42 <dt> 43 <span class="term">Page cache management:</span> 44 </dt> 45 <dd>The page cache provides fast access to a cache of database pages, 46handling the I/O associated with the cache to ensure that dirty pages 47are written back to the file system and that new pages are allocated on 48demand. Applications may use the Berkeley DB shared memory buffer manager to 49serve their own files and pages.</dd> 50 <dt> 51 <span class="term">Transactions and logging:</span> 52 </dt> 53 <dd>The transaction and logging systems provide recoverability and atomicity 54for multiple database operations. The transaction system uses two-phase 55locking and write-ahead logging protocols to ensure that database 56operations may be undone or redone in the case of application or system 57failure. Applications may use Berkeley DB transaction and logging subsystems 58to protect their own data structures and operations from application or 59system failure.</dd> 60 <dt> 61 <span class="term">Locking:</span> 62 </dt> 63 <dd>The locking system provides multiple reader or single writer access to 64objects. The Berkeley DB access methods use the locking system to acquire 65the right to read or write database pages. Applications may use the 66Berkeley DB locking subsystem to support their own locking needs.</dd> 67 </dl> 68 </div> 69 <p>By combining the page cache, transaction, locking, and logging systems, 70Berkeley DB provides the same services found in much larger, more complex and 71more expensive database systems. Berkeley DB supports multiple simultaneous 72readers and writers and guarantees that all changes are recoverable, even 73in the case of a catastrophic hardware failure during a database update.</p> 74 <p>Developers may select some or all of the core database services for any 75access method or database. Therefore, it is possible to choose the 76appropriate storage structure and the right degrees of concurrency and 77recoverability for any application. In addition, some of the subsystems 78(for example, the Locking subsystem) can be called separately from the 79Berkeley DB access method. As a result, developers can integrate non-database 80objects into their transactional applications using Berkeley DB.</p> 81 </div> 82 <div class="navfooter"> 83 <hr /> 84 <table width="100%" summary="Navigation footer"> 85 <tr> 86 <td width="40%" align="left"><a accesskey="p" href="intro_need.html">Prev</a>��</td> 87 <td width="20%" align="center"> 88 <a accesskey="u" href="intro.html">Up</a> 89 </td> 90 <td width="40%" align="right">��<a accesskey="n" href="intro_distrib.html">Next</a></td> 91 </tr> 92 <tr> 93 <td width="40%" align="left" valign="top">Do you need Berkeley DB?��</td> 94 <td width="20%" align="center"> 95 <a accesskey="h" href="index.html">Home</a> 96 </td> 97 <td width="40%" align="right" valign="top">��What does the Berkeley DB distribution include?</td> 98 </tr> 99 </table> 100 </div> 101 </body> 102</html> 103