Chapter 6. Berkeley DB Server

In addition to being an embedded database, Berkeley DB also supports the client-server architecture by providing a stand-alone server program and client driver APIs. The server program offers remote access to DB features. The client driver APIs provide building blocks for applications that communicate with a DB server. Multiple client applications can communicate with a single server simultaneously.

The server is capable of managing multiple DB environments and databases on behalf of client applications. All environments and databases managed by a server are protected by transactions. Non-transactional environments or databases are not supported by the server. The server can serve multiple client applications simultaneously.

Not all features offered by the DB library are supported by the server. For example, features that require callback functions are not supported. An exception to this is secondary databases, where a callback function is needed to create the set of secondary keys corresponding to a given primary key and data pair.

The following high-level features are supported by Berkeley DB server:

  • B-Tree, Hash and Recno access methods
  • Transaction
  • In-memory databases
  • Secondary databases, foreign constraints and join cursors
  • Sequences
  • Environment and database statistics
  • Close long-inactive handles manually and automatically
  • SSL over TCP connections

For more information on installing and building distributed applications see Berkeley DB Getting Started with Distributed Applications.