Files
Yasuhiro KIMURA 9678929700 Update to 18.1.40
2020-07-24 01:10:28 +09:00

104 lines
4.3 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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>Why transactions?</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="transapp.html" title="Chapter 11.  Berkeley DB Transactional Data Store Applications" />
<link rel="prev" href="transapp.html" title="Chapter 11.  Berkeley DB Transactional Data Store Applications" />
<link rel="next" href="transapp_term.html" title="Terminology" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 18.1.40</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Why transactions?</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="transapp.html">Prev</a> </td>
<th width="60%" align="center">Chapter 11.  Berkeley DB Transactional Data Store Applications </th>
<td width="20%" align="right"> <a accesskey="n" href="transapp_term.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="transapp_why"></a>Why transactions?</h2>
</div>
</div>
</div>
<p>
Perhaps the first question to answer is "Why transactions?"
There are a number of reasons to include transactional support
in your applications. The most common ones are the
following:
</p>
<div class="variablelist">
<dl>
<dt>
<span class="term">Recoverability</span>
</dt>
<dd>
Applications often need to ensure that no matter
how the system or application fails, previously saved
data is available the next time the application runs.
This is often called Durability.
</dd>
<dt>
<span class="term">Atomicity</span>
</dt>
<dd>
Applications may need to make multiple changes
to one or more databases, but ensure that either all
of the changes happen, or none of them happens.
Transactions guarantee that a group of changes are
atomic; that is, if the application or system fails,
either all of the changes to the databases will appear
when the application next runs, or none of
them.
</dd>
<dt>
<span class="term">Isolation</span>
</dt>
<dd>
Applications may need to make changes in
isolation, that is, ensure that only a single thread
of control is modifying a key/data pair at a time.
Transactions ensure each thread of control sees all
records as if all other transactions either completed
before or after its transaction.
</dd>
</dl>
</div>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="transapp.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="transapp.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="transapp_term.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Chapter 11.  Berkeley DB Transactional Data Store Applications  </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> Terminology</td>
</tr>
</table>
</div>
</body>
</html>