berkeley db


I am an expert with Berkeley DB, the world's most widely deployed data management software. I do consulting on and off site, ‘hands on‘ or in an advisory role.  I am fluent in Java, C, C++, C# on Linux, Mac OS, Unix, Windows and have fairly deep knowledge of various Web technologies and system internals as well as compilers, linkers, libraries.  My services include code reviews, debugging and performance analysis, in addition to developing BDB or other applications. My client list for expert BDB consulting stretches around the world and includes Siemens, Nokia, NYSE (SIAC), Kineto, EMC, Ebay, AOL, CSB-Systems, Ironport, Marconi, Next Page, StorageTek, Chicago Mercantile Exchange, Motorola, Wachovia, ISS Proxy.  That’s a partial list, I also have some well-known clients that want to keep their use of Berkeley DB a secret, as a competitive edge!

I started working with Sleepycat Software, the developers of Berkeley DB, in 1997 to develop the first C++ and Java APIs.  There were only the founders at the company then, so I suppose I could have been employee  number 4, but I stayed an independent consultant.  Since those formative days, I worked for years with Sleepycat and also from time to time with Oracle since Sleepycat’s acquisition.  If you’re programming in C++ or Java using Berkeley DB, you’re probably using some software that I’ve written.

I write the libdb blog to help get the word out about best practices with Berkeley DB.  Some more specific information about my programming skills and pointers to resumes can be found here.

Performance Audit

Do you know if you are using Berkeley DB to its full potential?  Do you understand how the Berkeley DB cache, logging, locking, transaction and replication systems work under the covers?  Do you know how these subsystems interact with your operating system and hardware?  Looking for creative solutions to boost your performance and increase your scalability a few notches.  Discover what you’re missing with a performance audit.  A performance audit can be done in a few days on site.

Training workshop

I offer a training workshop that covers Berkeley DB internals, performance tuning and best practices.  We'll learn about BDB architecture, various APIs and what they do, how cache, logging, locking and replication work. We’ll learn to minimize contention and conquer deadlock problems as well as work through my list of over one hundred performance tips for all situations.  There are over 15 class exercises with working solutions that can be optionally added to complement the course. At the end, you'll have a deep understanding of how Berkeley DB works and how you can best leverage it for your application. This workshop can be tailored to your needs and the time constraints.  I've used and refined these materials over about 10 years with many organizations.  The workshop if often coupled with an on site performance audit.

A sample syllabus is here and a set of sample slides is here.

Emergency Code Review

Is your application crashing at unexpected times?  Having trouble figuring out how to start debugging it?  I’ve worked in all kind of environments, with and without typical debugging tools.  I have a proven track record of finding ways to nail down elusive problems and finding clean fixes.  I have clients that call me for my debugging skills alone (Berkeley DB aside).  I can often be on site quickly, or we can debug problems remotely.

Application Development

Applications developed, large and small, using the language of your choice.  For larger jobs, I have a pool of talented contractors that I can draw on.  We can put together a team quickly and work with you to deliver the software that you need.  For smaller jobs, I am experienced in working alone or with any existing team and delivering quality work on time.

Contact me at 617-547-7881 or dda at


Berkeley DB consulting