dbsizes.html   [plain text]


<!--$Id: dbsizes.so,v 10.27 2005/02/24 20:51:50 bostic Exp $-->
<!--Copyright (c) 1997,2008 Oracle.  All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB Reference Guide: Database limits</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table width="100%"><tr valign=top>
<td><b><dl><dt>Berkeley DB Reference Guide:<dd>Access Methods</dl></b></td>
<td align=right><a href="../am_misc/stability.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../am_misc/diskspace.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p align=center><b>Database limits</b></p>
<p>The largest database file that Berkeley DB can handle depends on the page size
selected by the application.  Berkeley DB stores database file page numbers as
unsigned 32-bit numbers and database file page sizes as unsigned 16-bit
numbers.  Using the maximum database page size of 65536, this results in
a maximum database file size of 2<sup>48</sup> (256 terabytes).  The
minimum database page size is 512 bytes, which results in a minimum
maximum database size of 2<sup>41</sup> (2 terabytes).</p>
<p>The largest database file Berkeley DB can support is potentially further limited
if the host system does not have filesystem support for files larger than
2<sup>32</sup>, including the ability to seek to absolute offsets within
those files.</p>
<p>The largest key or data item that Berkeley DB can support is 2<sup>32</sup>,
or more likely limited by available memory.  Specifically, while key and
data byte strings may be of essentially unlimited length, any one of
them must fit into available memory so that it can be returned to the
application.  As some of the Berkeley DB interfaces return both key and data
items to the application, those interfaces will require that any
key/data pair fit simultaneously into memory.  Further, as the access
methods may need to compare key and data items with other key and data
items, it may be a requirement that any two key or two data items fit
into available memory.  Finally, when writing applications supporting
transactions, it may be necessary to have an additional copy of any data
item in memory for logging purposes.</p>
<p>The maximum Btree depth is 255.</p>
<table width="100%"><tr><td><br></td><td align=right><a href="../am_misc/stability.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../am_misc/diskspace.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p><font size=1>Copyright (c) 1996,2008 Oracle.  All rights reserved.</font>
</body>
</html>