summaryrefslogtreecommitdiff
path: root/bdb/docs/ref/intro
diff options
context:
space:
mode:
Diffstat (limited to 'bdb/docs/ref/intro')
-rw-r--r--bdb/docs/ref/intro/data.html54
-rw-r--r--bdb/docs/ref/intro/dbis.html159
-rw-r--r--bdb/docs/ref/intro/dbisnot.html146
-rw-r--r--bdb/docs/ref/intro/distrib.html28
-rw-r--r--bdb/docs/ref/intro/need.html60
-rw-r--r--bdb/docs/ref/intro/products.html69
-rw-r--r--bdb/docs/ref/intro/terrain.html248
-rw-r--r--bdb/docs/ref/intro/what.html53
-rw-r--r--bdb/docs/ref/intro/where.html39
9 files changed, 0 insertions, 856 deletions
diff --git a/bdb/docs/ref/intro/data.html b/bdb/docs/ref/intro/data.html
deleted file mode 100644
index e9d6ead064d..00000000000
--- a/bdb/docs/ref/intro/data.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!--$Id: data.so,v 10.1 2000/09/22 18:23:58 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: An introduction to data management</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>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/intro/terrain.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>An introduction to data management</h1>
-<p>Cheap, powerful computing and networking have created countless new
-applications that could not have existed a decade ago. The advent of
-the World-Wide Web, and its influence in driving the Internet into homes
-and businesses, is one obvious example. Equally important, though, is
-the from large, general-purpose desktop and server computers
-toward smaller, special-purpose devices with built-in processing and
-communications services.
-<p>As computer hardware has spread into virtually every corner of our
-lives, of course, software has followed. Software developers today are
-building applications not just for conventional desktop and server
-environments, but also for handheld computers, home appliances,
-networking hardware, cars and trucks, factory floor automation systems,
-and more.
-<p>While these operating environments are diverse, the problems that
-software engineers must solve in them are often strikingly similar. Most
-systems must deal with the outside world, whether that means
-communicating with users or controlling machinery. As a result, most
-need some sort of I/O system. Even a simple, single-function system
-generally needs to handle multiple tasks, and so needs some kind of
-operating system to schedule and manage control threads. Also, many
-computer systems must store and retrieve data to track history, record
-configuration settings, or manage access.
-<p>Data management can be very simple. In some cases, just recording
-configuration in a flat text file is enough. More often, though,
-programs need to store and search a large amount of data, or
-structurally complex data. Database management systems are tools that
-programmers can use to do this work quickly and efficiently using
-off-the-shelf software.
-<p>Of course, database management systems have been around for a long time.
-Data storage is a problem dating back to the earliest days of computing.
-Software developers can choose from hundreds of good,
-commercially-available database systems. The problem is selecting the
-one that best solves the problems that their applications face.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/intro/terrain.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>
diff --git a/bdb/docs/ref/intro/dbis.html b/bdb/docs/ref/intro/dbis.html
deleted file mode 100644
index 10c4abd9585..00000000000
--- a/bdb/docs/ref/intro/dbis.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!--$Id: dbis.so,v 10.5 2001/01/19 17:30:29 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: What is Berkeley DB?</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>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/intro/terrain.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/intro/dbisnot.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>What is Berkeley DB?</h1>
-<p>So far, we've discussed database systems in general terms. It's time
-now to consider Berkeley DB in particular and see how it fits into the
-framework we have introduced. The key question is, what kinds of
-applications should use Berkeley DB?
-<p>Berkeley DB is an open source embedded database library that provides
-scalable, high-performance, transaction-protected data management
-services to applications. Berkeley DB provides a simple function-call API
-for data access and management.
-<p>By "open source," we mean that Berkeley DB is distributed under a license that
-conforms to the <a href="http://www.opensource.org/osd.html">Open
-Source Definition</a>. This license guarantees that Berkeley DB is freely
-available for use and redistribution in other open source products.
-<a href="http://www.sleepycat.com">Sleepycat Software</a> sells
-commercial licenses for redistribution in proprietary applications, but
-in all cases the complete source code for Berkeley DB is freely available for
-download and use.
-<p>Berkeley DB is embedded because it links directly into the application. It
-runs in the same address space as the application. As a result, no
-inter-process communication, either over the network or between
-processes on the same machine, is required for database operations.
-Berkeley DB provides a simple function-call API for a number of programming
-languages, including C, C++, Java, Perl, Tcl, Python, and PHP. All
-database operations happen inside the library. Multiple processes, or
-multiple threads in a single process, can all use the database at the
-same time as each uses the Berkeley DB library. Low-level services like
-locking, transaction logging, shared buffer management, memory
-management, and so on are all handled transparently by the library.
-<p>The library is extremely portable. It runs under almost all UNIX and
-Linux variants, Windows, and a number of embedded real-time operating
-systems. It runs on both 32-bit and 64-bit systems.
-It has been deployed on high-end
-Internet servers, desktop machines, and on palmtop computers, set-top
-boxes, in network switches, and elsewhere. Once Berkeley DB is linked into
-the application, the end user generally does not know that there's a
-database present at all.
-<p>Berkeley DB is scalable in a number of respects. The database library itself
-is quite compact (under 300 kilobytes of text space on common
-architectures), but it can manage databases up to 256 terabytes in size.
-It also supports high concurrency, with thousands of users operating on
-the same database at the same time. Berkeley DB is small enough to run in
-tightly constrained embedded systems, but can take advantage of
-gigabytes of memory and terabytes of disk on high-end server machines.
-<p>Berkeley DB generally outperforms relational and object-oriented database
-systems in embedded applications for a couple of reasons. First, because
-the library runs in the same address space, no inter-process
-communication is required for database operations. The cost of
-communicating between processes on a single machine, or among machines
-on a network, is much higher than the cost of making a function call.
-Second, because Berkeley DB uses a simple function-call interface for all
-operations, there is no query language to parse, and no execution plan
-to produce.
-<h3>Data Access Services</h3>
-<p>Berkeley DB applications can choose the storage structure that best suits the
-application. Berkeley DB supports hash tables, B-trees, simple
-record-number-based storage, and persistent queues. Programmers can
-create tables using any of these storage structures, and can mix
-operations on different kinds of tables in a single application.
-<p>Hash tables are generally good for very large databases that need
-predictable search and update times for random-access records. Hash
-tables allow users to ask, "Does this key exist?" or to fetch a record
-with a known key. Hash tables do not allow users to ask for records
-with keys that are close to a known key.
-<p>B-trees are better for range-based searches, as when the application
-needs to find all records with keys between some starting and ending
-value. B-trees also do a better job of exploiting <i>locality
-of reference</i>. If the application is likely to touch keys near each
-other at the same time, the B-trees work well. The tree structure keeps
-keys that are close together near one another in storage, so fetching
-nearby values usually doesn't require a disk access.
-<p>Record-number-based storage is natural for applications that need
-to store and fetch records, but that do not have a simple way to
-generate keys of their own. In a record number table, the record
-number is the key for the record. Berkeley DB will can generate these
-record numbers automatically.
-<p>Queues are well-suited for applications that create records, and then
-must deal with those records in creation order. A good example is
-on-line purchasing systems. Orders can enter the system at any time,
-but should generally be filled in the order in which they were placed.
-<h3>Data management services</h3>
-<p>Berkeley DB offers important data management services, including concurrency,
-transactions, and recovery. All of these services work on all of the
-storage structures.
-<p>Many users can work on the same database concurrently. Berkeley DB handles
-locking transparently, ensuring that two users working on the same
-record do not interfere with one another.
-<p>The library provides strict ACID transaction semantics. Some systems
-allow the user to relax, for example, the isolation guarantees that the
-database system makes. Berkeley DB ensures that all applications can see only
-committed updates.
-<p>Multiple operations can be grouped into a single transaction, and can
-be committed or rolled back atomically. Berkeley DB uses a technique called
-<i>two-phase locking</i> to be sure that concurrent transactions
-are isolated from one another, and a technique called
-<i>write-ahead logging</i> to guarantee that committed changes
-survive application, system, or hardware failures.
-<p>When an application starts up, it can ask Berkeley DB to run recovery.
-Recovery restores the database to a clean state, with all committed
-changes present, even after a crash. The database is guaranteed to be
-consistent and all committed changes are guaranteed to be present when
-recovery completes.
-<p>An application can specify, when it starts up, which data management
-services it will use. Some applications need fast,
-single-user, non-transactional B-tree data storage. In that case, the
-application can disable the locking and transaction systems, and will
-not incur the overhead of locking or logging. If an application needs
-to support multiple concurrent users, but doesn't need transactions, it
-can turn on locking without transactions. Applications that need
-concurrent, transaction-protected database access can enable all of the
-subsystems.
-<p>In all these cases, the application uses the same function-call API to
-fetch and update records.
-<h3>Design</h3>
-<p>Berkeley DB was designed to provide industrial-strength database services to
-application developers, without requiring them to become database
-experts. It is a classic C-library style <i>toolkit</i>, providing
-a broad base of functionality to application writers. Berkeley DB was designed
-by programmers, for programmers: its modular design surfaces simple,
-orthogonal interfaces to core services, and it provides mechanism (for
-example, good thread support) without imposing policy (for example, the
-use of threads is not required). Just as importantly, Berkeley DB allows
-developers to balance performance against the need for crash recovery
-and concurrent use. An application can use the storage structure that
-provides the fastest access to its data and can request only the degree
-of logging and locking that it needs.
-<p>Because of the tool-based approach and separate interfaces for each
-Berkeley DB subsystem, you can support a complete transaction environment for
-other system operations. Berkeley DB even allows you to wrap transactions
-around the standard UNIX file read and write operations! Further, Berkeley DB
-was designed to interact correctly with the native system's toolset, a
-feature no other database package offers. For example, Berkeley DB supports
-hot backups (database backups while the database is in use), using
-standard UNIX system utilities, e.g., dump, tar, cpio, pax or even cp.
-<p>Finally, because scripting language interfaces are available for Berkeley DB
-(notably Tcl and Perl), application writers can build incredibly powerful
-database engines with little effort. You can build transaction-protected
-database applications using your favorite scripting languages, an
-increasingly important feature in a world using CGI scripts to deliver
-HTML.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/intro/terrain.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/intro/dbisnot.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>
diff --git a/bdb/docs/ref/intro/dbisnot.html b/bdb/docs/ref/intro/dbisnot.html
deleted file mode 100644
index a55fa71763e..00000000000
--- a/bdb/docs/ref/intro/dbisnot.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!--$Id: dbisnot.so,v 10.3 2000/12/14 20:52:03 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: What is Berkeley DB not?</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>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/intro/dbis.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/intro/need.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>What is Berkeley DB not?</h1>
-<p>In contrast to most other database systems, Berkeley DB provides relatively
-simple data access services.
-<p>Records in Berkeley DB are (<i>key</i>, <i>value</i>) pairs. Berkeley DB
-supports only a few logical operations on records. They are:
-<ul type=disc>
-<li>Insert a record in a table.
-<li>Delete a record from a table.
-<li>Find a record in a table by looking up its key.
-<li>Update a record that has already been found.
-</ul>
-<p>Notice that Berkeley DB never operates on the value part of a record.
-Values are simply payload, to be
-stored with keys and reliably delivered back to the application on
-demand.
-<p>Both keys and values can be arbitrary bit strings, either fixed-length
-or variable-length. As a result, programmers can put native programming
-language data structures into the database without converting them to
-a foreign record format first. Storage and retrieval are very simple,
-but the application needs to know what the structure of a key and a
-value is in advance. It cannot ask Berkeley DB, because Berkeley DB doesn't know.
-<p>This is an important feature of Berkeley DB, and one worth considering more
-carefully. On the one hand, Berkeley DB cannot provide the programmer with
-any information on the contents or structure of the values that it
-stores. The application must understand the keys and values that it
-uses. On the other hand, there is literally no limit to the data types
-that can be store in a Berkeley DB database. The application never needs to
-convert its own program data into the data types that Berkeley DB supports.
-Berkeley DB is able to operate on any data type the application uses, no
-matter how complex.
-<p>Because both keys and values can be up to four gigabytes in length, a
-single record can store images, audio streams, or other large data
-values. Large values are not treated specially in Berkeley DB. They are
-simply broken into page-sized chunks, and reassembled on demand when
-the application needs them. Unlike some other database systems, Berkeley DB
-offers no special support for binary large objects (BLOBs).
-<h3>Not a relational database</h3>
-<p>Berkeley DB is not a relational database.
-<p>First, Berkeley DB does not support SQL queries. All access to data is through
-the Berkeley DB API. Developers must learn a new set of interfaces in order
-to work with Berkeley DB. Although the interfaces are fairly simple, they are
-non-standard.
-<p>SQL support is a double-edged sword. One big advantage of relational
-databases is that they allow users to write simple declarative queries
-in a high-level language. The database system knows everything about
-the data and can carry out the command. This means that it's simple to
-search for data in new ways, and to ask new questions of the database.
-No programming is required.
-<p>On the other hand, if a programmer can predict in advance how an
-application will access data, then writing a low-level program to get
-and store records can be faster. It eliminates the overhead of query
-parsing, optimization, and execution. The programmer must understand
-the data representation, and must write the code to do the work, but
-once that's done, the application can be very fast.
-<p>Second, Berkeley DB has no notion of <i>schema</i> in the way that
-relational systems do. Schema is the structure of records in tables,
-and the relationships among the tables in the database. For example, in
-a relational system the programmer can create a record from a fixed menu
-of data types. Because the record types are declared to the system, the
-relational engine can reach inside records and examine individual values
-in them. In addition, programmers can use SQL to declare relationships
-among tables, and to create indexes on tables. Relational engines
-usually maintain these relationships and indexes automatically.
-<p>In Berkeley DB, the key and value in a record are opaque
-to Berkeley DB. They may have a rich
-internal structure, but the library is unaware of it. As a result, Berkeley DB
-cannot decompose the value part of a record into its constituent parts,
-and cannot use those parts to find values of interest. Only the
-application, which knows the data structure, can do that.
-<p>Berkeley DB does allow programmers to create indexes on tables, and to use
-those indexes to speed up searches. However, the programmer has no way
-to tell the library how different tables and indexes are related. The
-application needs to make sure that they all stay consistent. In the
-case of indexes in particular, if the application puts a new record into
-a table, it must also put a new record in the index for it. It's
-generally simple to write a single function to make the required
-updates, but it is work that relational systems do automatically.
-<p>Berkeley DB is not a relational system. Relational database systems are
-semantically rich and offer high-level database access. Compared to such
-systems, Berkeley DB is a high-performance, transactional library for record
-storage. It's possible to build a relational system on top of Berkeley DB. In
-fact, the popular MySQL relational system uses Berkeley DB for
-transaction-protected table management, and takes care of all the SQL
-parsing and execution. It uses Berkeley DB for the storage level, and provides
-the semantics and access tools.
-<h3>Not an object-oriented database</h3>
-<p>Object-oriented databases are designed for very tight integration with
-object-oriented programming languages. Berkeley DB is written entirely in the
-C programming language. It includes language bindings for C++, Java,
-and other languages, but the library has no information about the
-objects created in any object-oriented application. Berkeley DB never makes
-method calls on any application object. It has no idea what methods are
-defined on user objects, and cannot see the public or private members
-of any instance. The key and value part of all records are opaque to
-Berkeley DB.
-<p>Berkeley DB cannot automatically page in referenced objects, as some
-object-oriented databases do. The object-oriented application programmer
-must decide what records are required, and must fetch them by making
-method calls on Berkeley DB objects.
-<h3>Not a network database</h3>
-<p>Berkeley DB does not support network-style navigation among records, as
-network databases do. Records in a Berkeley DB table may move around over
-time, as new records are added to the table and old ones are deleted.
-Berkeley DB is able to do fast searches for records based on keys, but there
-is no way to create a persistent physical pointer to a record.
-Applications can only refer to records by key, not by address.
-<h3>Not a database server</h3>
-<p>Berkeley DB is not a standalone database server. It is a library, and runs in
-the address space of the application that uses it. If more than one
-application links in Berkeley DB, then all can use the same database at the
-same time; the library handles coordination among the applications, and
-guarantees that they do not interfere with one another.
-<p>Recent releases of Berkeley DB allow programmers to compile the library as a
-standalone process, and to use RPC stubs to connect to it and to carry
-out operations. However, there are some important limitations to this
-feature. The RPC stubs provide exactly the same API that the library
-itself does. There is no higher-level access provided by the standalone
-process. Tuning the standalone process is difficult, since Berkeley DB does
-no threading in the library (applications can be threaded, but the
-library never creates a thread on its own).
-<p>It is possible to build a server application that uses Berkeley DB for data
-management. For example, many commercial and open source Lightweight
-Directory Access Protocol (LDAP) servers use Berkeley DB for record storage.
-LDAP clients connect to these servers over the network. Individual
-servers make calls through the Berkeley DB API to find records and return them
-to clients. On its own, however, Berkeley DB is not a server.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/intro/dbis.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/intro/need.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>
diff --git a/bdb/docs/ref/intro/distrib.html b/bdb/docs/ref/intro/distrib.html
deleted file mode 100644
index a5ff52263c2..00000000000
--- a/bdb/docs/ref/intro/distrib.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--$Id: distrib.so,v 10.16 2000/09/22 18:23:58 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: What does the Berkeley DB distribution include?</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>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/intro/what.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/intro/where.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>What does the Berkeley DB distribution include?</h1>
-<p>The Berkeley DB distribution includes complete source code for the Berkeley DB
-library, including all three Berkeley DB products and their supporting
-utilities, as well as complete documentation in HTML format.
-<p>The distribution does not include pre-built binaries or libraries, or
-hard-copy documentation. Pre-built libraries and binaries for some
-architecture/compiler combinations are available as part of Sleepycat
-Software's Berkeley DB support services.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/intro/what.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/intro/where.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>
diff --git a/bdb/docs/ref/intro/need.html b/bdb/docs/ref/intro/need.html
deleted file mode 100644
index 771dd98908c..00000000000
--- a/bdb/docs/ref/intro/need.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--$Id: need.so,v 10.2 2000/12/08 23:59:06 mao Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Do you need Berkeley DB?</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>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/intro/dbisnot.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/intro/what.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Do you need Berkeley DB?</h1>
-<p>Berkeley DB is an ideal database system for applications that need fast,
-scalable, and reliable embedded database management. For applications
-that need different services, however, it can be a poor choice.
-<p>First, do you need the ability to access your data in ways you cannot
-predict in advance? If your users want to be able to enter SQL
-queries to perform
-complicated searches that you cannot program into your application to
-begin with, then you should consider a relational engine instead. Berkeley DB
-requires a programmer to write code in order to run a new kind of query.
-<p>On the other hand, if you can predict your data access patterns up front
--- and in particular if you need fairly simple key/value lookups -- then
-Berkeley DB is a good choice. The queries can be coded up once, and will then
-run very quickly because there is no SQL to parse and execute.
-<p>Second, are there political arguments for or against a standalone
-relational server? If you're building an application for your own use
-and have a relational system installed with administrative support
-already, it may be simpler to use that than to build and learn Berkeley DB.
-On the other hand, if you'll be shipping many copies of your application
-to customers, and don't want your customers to have to buy, install,
-and manage a separate database system, then Berkeley DB may be a better
-choice.
-<p>Third, are there any technical advantages to an embedded database? If
-you're building an application that will run unattended for long periods
-of time, or for end users who are not sophisticated administrators, then
-a separate server process may be too big a burden. It will require
-separate installation and management, and if it creates new ways for
-the application to fail, or new complexities to master in the field,
-then Berkeley DB may be a better choice.
-<p>The fundamental question is, how closely do your requirements match the
-Berkeley DB design? Berkeley DB was conceived and built to provide fast, reliable,
-transaction-protected record storage. The library itself was never
-intended to provide interactive query support, graphical reporting
-tools, or similar services that some other database systems provide. We
-have tried always to err on the side of minimalism and simplicity. By
-keeping the library small and simple, we create fewer opportunities for
-bugs to creep in, and we guarantee that the database system stays fast,
-because there is very little code to execute. If your application needs
-that set of features, then Berkeley DB is almost certainly the best choice
-for you.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/intro/dbisnot.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/intro/what.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>
diff --git a/bdb/docs/ref/intro/products.html b/bdb/docs/ref/intro/products.html
deleted file mode 100644
index ce04135f03a..00000000000
--- a/bdb/docs/ref/intro/products.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!--$Id: products.so,v 10.13 2000/12/04 18:05:42 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Sleepycat Software's Berkeley DB products</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><tr valign=top>
-<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/intro/where.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/simple_tut/intro.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Sleepycat Software's Berkeley DB products</h1>
-<p>Sleepycat Software licenses three different products that use the Berkeley DB
-technology. Each product offers a distinct level of database support.
-It is not possible to mix-and-match products, that is, each application
-or group of applications must use the same Berkeley DB product.
-<p>All three products are included in the single Open Source distribution of
-Berkeley DB from Sleepycat Software, and building that distribution
-automatically builds all three products. Each product adds services, and
-new interfaces, to the product that precedes it in the list. As a result,
-developers can download Berkeley DB and build an application that does only
-single-user, read-only database access, and later add support for more
-users and more complex database access patterns.
-<p>Users who distribute Berkeley DB must ensure that they are licensed for the
-Berkeley DB interfaces they use. Information on licensing is available directly
-from Sleepycat Software.
-<h3>Berkeley DB Data Store</h3>
-<p>The Berkeley DB Data Store product is an embeddable, high-performance data store. It
-supports multiple concurrent threads of control to read information
-managed by Berkeley DB. When updates are required, only a single process may
-be using the database. That process may be multi-threaded, but only one
-thread of control should be allowed to update the database at any time.
-The Berkeley DB Data Store does no locking, and so provides no guarantees of correct
-behavior if more than one thread of control is updating the database at
-a time.
-<p>The Berkeley DB Data Store product includes the <a href="../../api_c/db_create.html">db_create</a> interface, the
-DB handle methods, and the methods returned by <a href="../../api_c/db_cursor.html">DB-&gt;cursor</a>.
-<p>The Berkeley DB Data Store is intended for use in single-user or read-only applications
-that can guarantee that no more than one thread of control will ever
-update the database at any time.
-<h3>Berkeley DB Concurrent Data Store</h3>
-<p>The Berkeley DB Concurrent Data Store product adds multiple-reader, single writer capabilities to
-the Berkeley DB Data Store product, supporting applications that need concurrent updates
-and do not want to implement their own locking protocols. The additional
-interfaces included with the Berkeley DB Concurrent Data Store product are <a href="../../api_c/env_create.html">db_env_create</a>, the
-<a href="../../api_c/env_open.html">DBENV-&gt;open</a> method (using the <a href="../../api_c/env_open.html#DB_INIT_CDB">DB_INIT_CDB</a> flag), and the
-<a href="../../api_c/env_close.html">DBENV-&gt;close</a> method.
-<p>Berkeley DB Concurrent Data Store is intended for applications that require occasional write access
-to a database that is largely used for reading.
-<h3>Berkeley DB Transactional Data Store</h3>
-<p>The Berkeley DB Transactional Data Store product adds full transactional support and recoverability
-to the Berkeley DB Data Store product. This product includes all of the interfaces
-in the Berkeley DB library.
-<p>Berkeley DB Transactional Data Store is intended for applications that require industrial-strength
-database services, including good performance under high-concurrency
-workloads with a mixture of readers and writers, the ability to commit
-or roll back multiple changes to the database at a single instant, and
-the guarantee that even in the event of a catastrophic system or hardware
-failure, any committed database changes will be preserved.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/intro/where.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/simple_tut/intro.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>
diff --git a/bdb/docs/ref/intro/terrain.html b/bdb/docs/ref/intro/terrain.html
deleted file mode 100644
index f2a7089135c..00000000000
--- a/bdb/docs/ref/intro/terrain.html
+++ /dev/null
@@ -1,248 +0,0 @@
-<!--$Id: terrain.so,v 10.3 2000/12/14 20:52:03 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Mapping the terrain: theory and practice</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>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/intro/data.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/intro/dbis.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Mapping the terrain: theory and practice</h1>
-<p>The first step in selecting a database system is figuring out what the
-choices are. Decades of research and real-world deployment have produced
-countless systems. We need to organize them somehow to reduce the number
-of options.
-<p>One obvious way to group systems is to use the common labels that
-vendors apply to them. The buzzwords here include "network,"
-"relational," "object-oriented," and "embedded," with some
-cross-fertilization like "object-relational" and "embedded network".
-Understanding the buzzwords is important. Each has some grounding in
-theory, but has also evolved into a practical label for categorizing
-systems that work in a certain way.
-<p>All database systems, regardless of the buzzwords that apply to them,
-provide a few common services. All of them store data, for example.
-We'll begin by exploring the common services that all systems provide,
-and then examine the differences among the different kinds of systems.
-<h3>Data access and data management</h3>
-<p>Fundamentally, database systems provide two services.
-<p>The first service is <i>data access</i>. Data access means adding
-new data to the database (inserting), finding data of interest
-(searching), changing data already stored (updating), and removing data
-from the database (deleting). All databases provide these services. How
-they work varies from category to category, and depends on the record
-structure that the database supports.
-<p>Each record in a database is a collection of values. For example, the
-record for a Web site customer might include a name, email address,
-shipping address, and payment information. Records are usually stored
-in tables. Each table holds records of the same kind. For example, the
-<b>customer</b> table at an e-commerce Web site might store the
-customer records for every person who shopped at the site. Often,
-database records have a different structure from the structures or
-instances supported by the programming language in which an application
-is written. As a result, working with records can mean:
-<ul type=disc>
-<li>using database operations like searches and updates on records; and
-<li>converting between programming language structures and database record
-types in the application.
-</ul>
-<p>The second service is <i>data management</i>. Data management is
-more complicated than data access. Providing good data management
-services is the hard part of building a database system. When you
-choose a database system to use in an application you build, making sure
-it supports the data management services you need is critical.
-<p>Data management services include allowing multiple users to work on the
-database simultaneously (concurrency), allowing multiple records to be
-changed instantaneously (transactions), and surviving application and
-system crashes (recovery). Different database systems offer different
-data management services. Data management services are entirely
-independent of the data access services listed above. For example,
-nothing about relational database theory requires that the system
-support transactions, but most commercial relational systems do.
-<p>Concurrency means that multiple users can operate on the database at
-the same time. Support for concurrency ranges from none (single-user
-access only) to complete (many readers and writers working
-simultaneously).
-<p>Transactions permit users to make multiple changes appear at once. For
-example, a transfer of funds between bank accounts needs to be a
-transaction because the balance in one account is reduced and the
-balance in the other increases. If the reduction happened before the
-increase, than a poorly-timed system crash could leave the customer
-poorer; if the bank used the opposite order, then the same system crash
-could make the customer richer. Obviously, both the customer and the
-bank are best served if both operations happen at the same instant.
-<p>Transactions have well-defined properties in database systems. They are
-<i>atomic</i>, so that the changes happen all at once or not at all.
-They are <i>consistent</i>, so that the database is in a legal state
-when the transaction begins and when it ends. They are typically
-<i>isolated</i>, which means that any other users in the database
-cannot interfere with them while they are in progress. And they are
-<i>durable</i>, so that if the system or application crashes after
-a transaction finishes, the changes are not lost. Together, the
-properties of <i>atomicity</i>, <i>consistency</i>,
-<i>isolation</i>, and <i>durability</i> are known as the ACID
-properties.
-<p>As is the case for concurrency, support for transactions varies among
-databases. Some offer atomicity without making guarantees about
-durability. Some ignore isolatability, especially in single-user
-systems; there's no need to isolate other users from the effects of
-changes when there are no other users.
-<p>Another important data management service is recovery. Strictly
-speaking, recovery is a procedure that the system carries out when it
-starts up. The purpose of recovery is to guarantee that the database is
-complete and usable. This is most important after a system or
-application crash, when the database may have been damaged. The recovery
-process guarantees that the internal structure of the database is good.
-Recovery usually means that any completed transactions are checked, and
-any lost changes are reapplied to the database. At the end of the
-recovery process, applications can use the database as if there had been
-no interruption in service.
-<p>Finally, there are a number of data management services that permit
-copying of data. For example, most database systems are able to import
-data from other sources, and to export it for use elsewhere. Also, most
-systems provide some way to back up databases and to restore in the
-event of a system failure that damages the database. Many commercial
-systems allow <i>hot backups</i>, so that users can back up
-databases while they are in use. Many applications must run without
-interruption, and cannot be shut down for backups.
-<p>A particular database system may provide other data management services.
-Some provide browsers that show database structure and contents. Some
-include tools that enforce data integrity rules, such as the rule that
-no employee can have a negative salary. These data management services
-are not common to all systems, however. Concurrency, recovery, and
-transactions are the data management services that most database vendors
-support.
-<p>Deciding what kind of database to use means understanding the data
-access and data management services that your application needs. Berkeley DB
-is an embedded database that supports fairly simple data access with a
-rich set of data management services. To highlight its strengths and
-weaknesses, we can compare it to other database system categories.
-<h3>Relational databases</h3>
-<p>Relational databases are probably the best-known database variant,
-because of the success of companies like Oracle. Relational databases
-are based on the mathematical field of set theory. The term "relation"
-is really just a synonym for "set" -- a relation is just a set of
-records or, in our terminology, a table. One of the main innovations in
-early relational systems was to insulate the programmer from the
-physical organization of the database. Rather than walking through
-arrays of records or traversing pointers, programmers make statements
-about tables in a high-level language, and the system executes those
-statements.
-<p>Relational databases operate on <i>tuples</i>, or records, composed
-of values of several different data types, including integers, character
-strings, and others. Operations include searching for records whose
-values satisfy some criteria, updating records, and so on.
-<p>Virtually all relational databases use the Structured Query Language,
-or SQL. This language permits people and computer programs to work with
-the database by writing simple statements. The database engine reads
-those statements and determines how to satisfy them on the tables in
-the database.
-<p>SQL is the main practical advantage of relational database systems.
-Rather than writing a computer program to find records of interest, the
-relational system user can just type a query in a simple syntax, and
-let the engine do the work. This gives users enormous flexibility; they
-do not need to decide in advance what kind of searches they want to do,
-and they do not need expensive programmers to find the data they need.
-Learning SQL requires some effort, but it's much simpler than a
-full-blown high-level programming language for most purposes. And there
-are a lot of programmers who have already learned SQL.
-<h3>Object-oriented databases</h3>
-<p>Object-oriented databases are less common than relational systems, but
-are still fairly widespread. Most object-oriented databases were
-originally conceived as persistent storage systems closely wedded to
-particular high-level programming languages like C++. With the spread
-of Java, most now support more than one programming language, but
-object-oriented database systems fundamentally provide the same class
-and method abstractions as do object-oriented programming languages.
-<p>Many object-oriented systems allow applications to operate on objects
-uniformly, whether they are in memory or on disk. These systems create
-the illusion that all objects are in memory all the time. The advantage
-to object-oriented programmers who simply want object storage and
-retrieval is clear. They need never be aware of whether an object is in
-memory or not. The application simply uses objects, and the database
-system moves them between disk and memory transparently. All of the
-operations on an object, and all its behavior, are determined by the
-programming language.
-<p>Object-oriented databases aren't nearly as widely deployed as relational
-systems. In order to attract developers who understand relational
-systems, many of the object-oriented systems have added support for
-query languages very much like SQL. In practice, though, object-oriented
-databases are mostly used for persistent storage of objects in C++ and
-Java programs.
-<h3>Network databases</h3>
-<p>The "network model" is a fairly old technique for managing and
-navigating application data. Network databases are designed to make
-pointer traversal very fast. Every record stored in a network database
-is allowed to contain pointers to other records. These pointers are
-generally physical addresses, so fetching the referenced record just
-means reading it from disk by its disk address.
-<p>Network database systems generally permit records to contain integers,
-floating point numbers, and character strings, as well as references to
-other records. An application can search for records of interest. After
-retrieving a record, the application can fetch any referenced record
-quickly.
-<p>Pointer traversal is fast because most network systems use physical disk
-addresses as pointers. When the application wants to fetch a record,
-the database system uses the address to fetch exactly the right string
-of bytes from the disk. This requires only a single disk access in all
-cases. Other systems, by contrast, often must do more than one disk read
-to find a particular record.
-<p>The key advantage of the network model is also its main drawback. The
-fact that pointer traversal is so fast means that applications that do
-it will run well. On the other hand, storing pointers all over the
-database makes it very hard to reorganize the database. In effect, once
-you store a pointer to a record, it is difficult to move that record
-elsewhere. Some network databases handle this by leaving forwarding
-pointers behind, but this defeats the speed advantage of doing a single
-disk access in the first place. Other network databases find, and fix,
-all the pointers to a record when it moves, but this makes
-reorganization very expensive. Reorganization is often necessary in
-databases, since adding and deleting records over time will consume
-space that cannot be reclaimed without reorganizing. Without periodic
-reorganization to compact network databases, they can end up with a
-considerable amount of wasted space.
-<h3>Clients and servers</h3>
-<p>Database vendors have two choices for system architecture. They can
-build a server to which remote clients connect, and do all the database
-management inside the server. Alternatively, they can provide a module
-that links directly into the application, and does all database
-management locally. In either case, the application developer needs
-some way of communicating with the database (generally, an Application
-Programming Interface (API) that does work in the process or that
-communicates with a server to get work done).
-<p>Almost all commercial database products are implemented as servers, and
-applications connect to them as clients. Servers have several features
-that make them attractive.
-<p>First, because all of the data is managed by a separate process, and
-possibly on a separate machine, it's easy to isolate the database server
-from bugs and crashes in the application.
-<p>Second, because some database products (particularly relational engines)
-are quite large, splitting them off as separate server processes keeps
-applications small, which uses less disk space and memory. Relational
-engines include code to parse SQL statements, to analyze them and
-produce plans for execution, to optimize the plans, and to execute
-them.
-<p>Finally, by storing all the data in one place and managing it with a
-single server, it's easier for organizations to back up, protect, and
-set policies on their databases. The enterprise databases for large
-companies often have several full-time administrators caring for them,
-making certain that applications run quickly, granting and denying
-access to users, and making backups.
-<p>However, centralized administration can be a disadvantage in some cases.
-In particular, if a programmer wants to build an application that uses
-a database for storage of important information, then shipping and
-supporting the application is much harder. The end user needs to install
-and administer a separate database server, and the programmer must
-support not just one product, but two. Adding a server process to the
-application creates new opportunity for installation mistakes and
-run-time problems.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/intro/data.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/intro/dbis.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>
diff --git a/bdb/docs/ref/intro/what.html b/bdb/docs/ref/intro/what.html
deleted file mode 100644
index c8d12069a57..00000000000
--- a/bdb/docs/ref/intro/what.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!--$Id: what.so,v 10.22 2000/09/22 18:23:59 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: What other services does Berkeley DB provide?</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>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/intro/need.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/intro/distrib.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>What other services does Berkeley DB provide?</h1>
-<p>Berkeley DB also provides core database services to developers. These
-services include:
-<p><dl compact>
-<p><dt>Page cache management:<dd>The page cache provides fast access to a cache of database pages,
-handling the I/O associated with the cache to ensure that dirty pages
-are written back to the file system and that new pages are allocated on
-demand. Applications may use the Berkeley DB shared memory buffer manager to
-serve their own files and pages.
-<p><dt>Transactions and logging:<dd>The transaction and logging systems provide recoverability and atomicity
-for multiple database operations. The transaction system uses two-phase
-locking and write-ahead logging protocols to ensure that database
-operations may be undone or redone in the case of application or system
-failure. Applications may use Berkeley DB transaction and logging subsystems
-to protect their own data structures and operations from application or
-system failure.
-<p><dt>Locking:<dd>The locking system provides multiple reader or single writer access to
-objects. The Berkeley DB access methods use the locking system to acquire
-the right to read or write database pages. Applications may use the
-Berkeley DB locking subsystem to support their own locking needs.
-</dl>
-<p>By combining the page cache, transaction, locking, and logging systems,
-Berkeley DB provides the same services found in much larger, more complex and
-more expensive database systems. Berkeley DB supports multiple simultaneous
-readers and writers and guarantees that all changes are recoverable, even
-in the case of a catastrophic hardware failure during a database update.
-<p>Developers may select some or all of the core database services for any
-access method or database. Therefore, it is possible to choose the
-appropriate storage structure and the right degrees of concurrency and
-recoverability for any application. In addition, some of the systems
-(e.g., the locking subsystem) can be called separately from the Berkeley DB
-access method. As a result, developers can integrate non-database
-objects into their transactional applications using Berkeley DB.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/intro/need.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/intro/distrib.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>
diff --git a/bdb/docs/ref/intro/where.html b/bdb/docs/ref/intro/where.html
deleted file mode 100644
index 45d0dc3ae99..00000000000
--- a/bdb/docs/ref/intro/where.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--$Id: where.so,v 10.27 2000/12/04 18:05:42 bostic Exp $-->
-<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
-<!--All rights reserved.-->
-<html>
-<head>
-<title>Berkeley DB Reference Guide: Where does Berkeley DB run?</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>Introduction</dl></h3></td>
-<td width="1%"><a href="../../ref/intro/distrib.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/intro/products.html"><img src="../../images/next.gif" alt="Next"></a>
-</td></tr></table>
-<p>
-<h1 align=center>Where does Berkeley DB run?</h1>
-<p>Berkeley DB requires only underlying IEEE/ANSI Std 1003.1 (POSIX) system calls and can be
-ported easily to new architectures by adding stub routines to connect
-the native system interfaces to the Berkeley DB POSIX-style system calls.
-<p>Berkeley DB will autoconfigure and run on almost any modern UNIX system, and
-even on most historical UNIX platforms. See
-<a href="../../ref/build_unix/intro.html">Building for UNIX systems</a> for
-more information.
-<p>The Berkeley DB distribution includes support for QNX Neutrino. See
-<a href="../../ref/build_unix/intro.html">Building for UNIX systems</a> for
-more information.
-<p>The Berkeley DB distribution includes support for VxWorks, via a workspace
-and project files for Tornado 2.0. See
-<a href="../../ref/build_vxworks/intro.html">Building for VxWorks</a> for more
-information.
-<p>The Berkeley DB distribution includes support for Windows/95, Windows/98,
-Windows/NT and Windows/2000, via the MSVC 5 and 6 development
-environments. See <a href="../../ref/build_win/intro.html">Building for
-Windows systems</a> for more information.
-<table><tr><td><br></td><td width="1%"><a href="../../ref/intro/distrib.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/intro/products.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>