~ubuntu-branches/ubuntu/maverick/evolution-data-server/maverick-proposed

« back to all changes in this revision

Viewing changes to libdb/docs/ref/intro/need.html

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-05-17 17:02:06 UTC
  • mfrom: (1.1.79 upstream) (1.6.12 experimental)
  • Revision ID: james.westby@ubuntu.com-20100517170206-4ufr52vwrhh26yh0
Tags: 2.30.1-1ubuntu1
* Merge from debian experimental. Remaining change:
  (LP: #42199, #229669, #173703, #360344, #508494)
  + debian/control:
    - add Vcs-Bzr tag
    - don't use libgnome
    - Use Breaks instead of Conflicts against evolution 2.25 and earlier.
  + debian/evolution-data-server.install,
    debian/patches/45_libcamel_providers_version.patch:
    - use the upstream versioning, not a Debian-specific one 
  + debian/libedata-book1.2-dev.install, debian/libebackend-1.2-dev.install,
    debian/libcamel1.2-dev.install, debian/libedataserverui1.2-dev.install:
    - install html documentation
  + debian/rules:
    - don't build documentation it's shipped with the tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!--$Id$-->
2
 
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
3
 
<!--All rights reserved.-->
4
 
<!--See the file LICENSE for redistribution information.-->
5
 
<html>
6
 
<head>
7
 
<title>Berkeley DB Reference Guide: Do you need Berkeley DB?</title>
8
 
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
9
 
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
10
 
</head>
11
 
<body bgcolor=white>
12
 
<table width="100%"><tr valign=top>
13
 
<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Introduction</dl></h3></td>
14
 
<td align=right><a href="../../ref/intro/dbisnot.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/intro/what.html"><img src="../../images/next.gif" alt="Next"></a>
15
 
</td></tr></table>
16
 
<p>
17
 
<h1 align=center>Do you need Berkeley DB?</h1>
18
 
<p>Berkeley DB is an ideal database system for applications that need fast,
19
 
scalable, and reliable embedded database management. For applications
20
 
that need different services, however, it can be a poor choice.
21
 
<p>First, do you need the ability to access your data in ways you cannot
22
 
predict in advance? If your users want to be able to enter SQL
23
 
queries to perform
24
 
complicated searches that you cannot program into your application to
25
 
begin with, then you should consider a relational engine instead. Berkeley DB
26
 
requires a programmer to write code in order to run a new kind of query.
27
 
<p>On the other hand, if you can predict your data access patterns up front
28
 
Berkeley DB is a good choice. The queries can be coded up once, and will then
29
 
run very quickly because there is no SQL to parse and execute.
30
 
<p>Second, are there political arguments for or against a standalone
31
 
relational server? If you're building an application for your own use
32
 
and have a relational system installed with administrative support
33
 
already, it may be simpler to use that than to build and learn Berkeley DB.
34
 
On the other hand, if you'll be shipping many copies of your application
35
 
to customers, and don't want your customers to have to buy, install,
36
 
and manage a separate database system, then Berkeley DB may be a better
37
 
choice.
38
 
<p>Third, are there any technical advantages to an embedded database? If
39
 
you're building an application that will run unattended for long periods
40
 
of time, or for end users who are not sophisticated administrators, then
41
 
a separate server process may be too big a burden. It will require
42
 
separate installation and management, and if it creates new ways for
43
 
the application to fail, or new complexities to master in the field,
44
 
then Berkeley DB may be a better choice.
45
 
<p>The fundamental question is, how closely do your requirements match the
46
 
Berkeley DB design? Berkeley DB was conceived and built to provide fast, reliable,
47
 
transaction-protected record storage. The library itself was never
48
 
intended to provide interactive query support, graphical reporting
49
 
tools, or similar services that some other database systems provide. We
50
 
have tried always to err on the side of minimalism and simplicity. By
51
 
keeping the library small and simple, we create fewer opportunities for
52
 
bugs to creep in, and we guarantee that the database system stays fast,
53
 
because there is very little code to execute. If your application needs
54
 
that set of features, then Berkeley DB is almost certainly the best choice
55
 
for you.
56
 
<table width="100%"><tr><td><br></td><td align=right><a href="../../ref/intro/dbisnot.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/intro/what.html"><img src="../../images/next.gif" alt="Next"></a>
57
 
</td></tr></table>
58
 
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
59
 
</body>
60
 
</html>