libdb/docs/programmer_reference/heap_conf.html

89 lines
4.1 KiB
HTML
Raw Normal View History

2011-09-13 17:44:24 +00:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Heap access method specific configuration</title>
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
<link rel="up" href="am_conf.html" title="Chapter 2.  Access Method Configuration" />
<link rel="prev" href="hash_conf.html" title="Hash access method specific configuration" />
<link rel="next" href="rq_conf.html" title="Queue and Recno access method specific configuration" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
2012-11-14 21:35:20 +00:00
<p>Library Version 11.2.5.3</p>
2011-09-13 17:44:24 +00:00
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Heap access method specific configuration</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="hash_conf.html">Prev</a> </td>
<th width="60%" align="center">Chapter 2. 
Access Method Configuration
</th>
<td width="20%" align="right"> <a accesskey="n" href="rq_conf.html">Next</a></td>
</tr>
</table>
<hr />
</div>
<div class="sect1" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="heap_conf"></a>Heap access method specific configuration</h2>
</div>
</div>
</div>
<p>
Configuring the Heap access method is fairly simple. Beyond the general
2012-11-14 21:35:20 +00:00
configuration required for any access method, you can configure how large
the database will become, as well as the amount by which the database grows.
2011-09-13 17:44:24 +00:00
</p>
<p>
If you provide no configuration relative to the heap size, then the
database will grow without bound. Whether this is desirable depends on
how much disk space is available to your application.
</p>
<p>
You can limit the size of the on-disk database file by using the
<a href="../api_reference/C/dbset_heapsize.html" class="olink">DB-&gt;set_heapsize()</a> method. If the size specified on this method is
reached, then further attempts to insert/update records will fail
with a <code class="literal">DB_HEAP_FULL</code> error message.
2012-11-14 21:35:20 +00:00
</p>
<p>
Heap databases are organized into regions, and each region is a constant
size. The size of the region in a heap database is limited by the page
size, the first page of the region contains a bitmap describing the
available space on the remaining pages in the region. When the database
experiences write contention, a region is added to reduce contention.
This means heap databases can grow in size very quickly. In order to
control the amount by which the database increases, the size of the region
is configurable via <a href="../api_reference/C/dbset_heap_regionsize.html" class="olink">DB-&gt;set_heap_regionsize()</a>.
2011-09-13 17:44:24 +00:00
</p>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="hash_conf.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="am_conf.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="rq_conf.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Hash access method specific configuration </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> Queue and Recno access method specific configuration</td>
</tr>
</table>
</div>
</body>
</html>