summaryrefslogtreecommitdiff
path: root/db/docs/ref/arch/progmodel.html
diff options
context:
space:
mode:
Diffstat (limited to 'db/docs/ref/arch/progmodel.html')
-rw-r--r--db/docs/ref/arch/progmodel.html41
1 files changed, 41 insertions, 0 deletions
diff --git a/db/docs/ref/arch/progmodel.html b/db/docs/ref/arch/progmodel.html
new file mode 100644
index 000000000..04284f4f3
--- /dev/null
+++ b/db/docs/ref/arch/progmodel.html
@@ -0,0 +1,41 @@
+<!--$Id: progmodel.so,v 10.25 2000/03/18 21:43:09 bostic Exp $-->
+<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
+<!--All rights reserved.-->
+<html>
+<head>
+<title>Berkeley DB Reference Guide: Programming model</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>
+<table><tr valign=top>
+<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Architecture</dl></h3></td>
+<td width="1%"><a href="../../ref/arch/bigpic.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/apis.html"><img src="../../images/next.gif" alt="Next"></a>
+</td></tr></table>
+<p>
+<h1 align=center>Programming model</h1>
+<p>The Berkeley DB distribution is a database library, where the library is linked
+into the address space of the code which uses it. The code using Berkeley DB
+may be an application or it may be a server providing functionality to a
+number of clients via some form of inter-process or remote-process
+communication (IPC/RPC).
+<p>In the application model, one or more applications link the Berkeley DB library
+directly into their address spaces. There may be many threads of control
+in this model, as Berkeley DB supports locking for both multiple processes and
+for multiple threads within a process. This model provides significantly
+faster access to the database functionality, but implies trust among all
+threads of control sharing the database environment as they will have the
+ability to read, write and potentially corrupt each other's data.
+<p>In the client-server model, developers write a database server application
+that accepts requests via some form of IPC and issues calls to the Berkeley DB
+interfaces based on those requests. In this model, the database server
+is the only application linking the Berkeley DB library into its address space.
+The client-server model trades performance for protection, as it does not
+require that the applications share a protection domain with the server,
+but IPC/RPC is slower than a function call. Of course, in addition, this
+model greatly simplifies the creation of network client-server applications.
+<table><tr><td><br></td><td width="1%"><a href="../../ref/arch/bigpic.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/arch/apis.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>