I've used BDB a lot over the last 10 years, embedded inside a C++ server, and I have to say I've been disappointed in its multi-threaded scalability.
Running a single threaded access pattern can easily get you 20K plus reads/sec, but if you try to run more threads the throughput per thread just goes down, up to a point where more threads actually slow you down.
Make sure to run extensive benchmarks if you consider using it in a multi-threaded application.
I've never tried running BDB in a multi-process architecture, so I have no idea how it'd behave when used that way.