Oracle drives rise of open source embedded database

Hot skills: Supplier builds on functionality of Berkeley DB

What is it?

Berkeley DB is a lightweight, embeddable database that emerged from the open source world but now has the marketing might of Oracle behind it. It enables developers to incorporate database functionality within applications that have predictable data access patterns, without the overhead of SQL query processing. However, it has nothing to offer database administrators, being designed to operate without administration.

In addition to the standard release, there are two further versions: Berkeley DB Java Edition and Berkeley DB XML.

Oracle acquired Berkeley DB's originator, Sleepycat, in February 2006, provoking speculation that it was moving to close down some of the open source competition that was eating at its market share. Instead, Oracle has provided a commercially licensed version alongside the open source project.

Analyst firm Ovum said, "Oracle has continued the development of Berkeley DB There is no sign of a lack of commitment to the future of the product."

According to Ovum, the embedded database market is growing faster than other database markets, at about 35% per year. "The backing of the Oracle sales and distribution channel should put Berkeley DB in a good position to exploit that growth," it said.

Where did it originate?

Berkeley DB was developed at the University of California. Before Sleepycat was formed, the database was used in Netscape's browser and LDap (Lightweight Directory Access Protocol) server.

What's it for?

Sleepycat said, "Berkeley DB is the ideal choice for static queries over dynamic data, while traditional relational databases are well suited for dynamic queries over static data."

It can manage databases in memory, on disc or both. All runtime administration is controlled by the application. Developers specify how resources are to be allocated, for example, the amount of memory dedicated to caching records, and the on-disc storage structure used for individual tables.

Sleepycat said, "Berkeley DB supports replication over multiple systems, enabling applications to scale massively with low latency and provide fault tolerance for high availability solutions."

What makes it special?

The non-stop upgrades feature in Berkeley DB 4.5, released under Oracle's ownership, enables it to be upgraded without downtime, making it particularly suitable for telecoms and other services that cannot afford to be offline.

How difficult is it to master?

The three-day Berkeley DB Developers Workshop is aimed at software engineers and architects with a working knowledge of C/C++ programming and database application development.

Where is it used?

Sleepycat said there are more than 200 million deployments of Berkeley DB. High-profile users include Google, eBay, Cisco, Yahoo and AT&T. It is found in all versions of Linux and BSD Unix, OpenLDap, Sendmail, Kerberos, Openoffice and Red Hat Directory Server. The Apache web server uses Berkeley DB for basic HTTP authentication, among other projects.

MySQL allows users to create tables to be managed by Berkeley DB. There are interfaces for Perl, Python, PHP and Ruby, among other programming languages.

What's coming up?

Oracle is working to integrate features from Berkeley DB into other database products. According to Ovum, Oracle is moving towards a blended database model, where relational and embedded technologies are integrated into the data management architecture.


Sourceforge and many other organisations bundle Berkeley DB with their products. Training is available from Oracle, Sleepycat and open source training providers:

Useful books have been published by Sleepycat and O'Reilly, among others:

Rates of pay

Salaries for experienced database developers start at about £40,000.


Comment on this article: [email protected]


Related articles:

Salary survey

Catch up on training advice with Hot Skills

Read more on Database software