- Berkeley DB Reference Guide:
- Introduction
|
|
Sleepycat Software's Berkeley DB products
Sleepycat Software licenses four 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.
All four products are included in the single Open Source distribution
of Berkeley DB from Sleepycat Software, and building that distribution
automatically builds all four products. Each product adds new
interfaces and services 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 easily add support
later for more users and more complex database access patterns.
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.
Berkeley DB Data Store
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 multithreaded, 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. 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.
Berkeley DB Concurrent Data Store
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. Berkeley DB Concurrent Data Store is
intended for applications that require occasional write access to a
database that is largely used for reading.
Berkeley DB Transactional Data Store
The Berkeley DB Transactional Data Store product adds full transactional support and recoverability
to the Berkeley DB Data Store product. Berkeley DB Transactional Data Store is intended for applications that require
industrial-strength database services, including excellent 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.
Berkeley DB High Availability
The Berkeley DB High Availability product support for data replication. A single master system
handles all updates, and distributes them to as many replicas as the
application requires. All replicas can handle read requests during
normal processing. If the master system fails for any reason, one of
the replicas takes over as the new master system, and distributes
updates to the remaining replicas.
Copyright Sleepycat Software
|