1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
<!--$Id: config.html,v 1.1.1.1 2003/11/20 22:14:22 toshok Exp $-->
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB Reference Guide: Configuring transactions</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,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><h3><dl><dt>Berkeley DB Reference Guide:<dd>Transaction Subsystem</dl></h3></td>
<td align=right><a href="../../ref/txn/intro.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/txn/limits.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p>
<h1 align=center>Configuring transactions</h1>
<p>The application may change the number of simultaneous outstanding
transactions supported by the Berkeley DB environment by calling the
<a href="../../api_c/env_set_tx_max.html">DB_ENV->set_tx_max</a> method. This will also set the size of the
underlying transaction subsystem's region. When the number of
outstanding transactions is reached, additional calls to
<a href="../../api_c/txn_begin.html">DB_ENV->txn_begin</a> will fail until some active transactions complete.
<p>There is an additional parameter used in configuring transactions; the
<a href="../../api_c/env_set_flags.html#DB_TXN_NOSYNC">DB_TXN_NOSYNC</a> flag. Setting the <a href="../../api_c/env_set_flags.html#DB_TXN_NOSYNC">DB_TXN_NOSYNC</a> flag to
<a href="../../api_c/env_set_flags.html">DB_ENV->set_flags</a> when opening a transaction region changes the
behavior of transactions to not write or synchronously flush the log
during transaction commit.
<p>This change may significantly increase application transactional
throughput. However, it means that although transactions will continue
to exhibit the ACI (atomicity, consistency, and isolation) properties,
they will not have D (durability). Database integrity will be
maintained, but it is possible that some number of the most recently
committed transactions may be undone during recovery instead of being
redone.
<table width="100%"><tr><td><br></td><td align=right><a href="../../ref/txn/intro.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/txn/limits.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
|