Oracle Berkeley DB Review

It helped us to develop a performance-critical DB backend module in the healthcare domain.

What is most valuable?

  • Transactional data store
  • Concurrent data store

How has it helped my organization?

This product helped us to develop a performance-critical DB backend module in the healthcare domain.

What needs improvement?

Environment corruption is a common problem found when a DB environment is used by more than one process on a machine at a time. Another thing is that an entire page will be locked when updating a record. This will cause locking of other records on the same page. This can be improved a bit more.

For how long have I used the solution?

I used it for two years, about nine years ago.

What was my experience with deployment of the solution?

When multiple processes are holding handles to same environment, then there is a high possibility that the environment handles might get corrupted and the whole connection to various databases need to be recreated on the fly. This will also cause ongoing DB operations to get terminated. One solution to this problem is to design the DB access mechanism in such a way that only one process (we can call it a server process and it can be a COM server) is holding the database environment handle and all other client process should communicate with this server process to read/write DB records.

How are customer service and technical support?

There was excellent support in the Oracle Berkeley DB forum. Also, we had an opportunity to talk to a Oracle Berkeley DB technical person in their Japan office.

Which solution did I use previously and why did I switch?

We had a previous solution. Because of its proprietary nature and non-conformance to our performance requirements, we considered this product.

How was the initial setup?

Initial steps were pretty straightforward.

What about the implementation team?

We were an in-house team. Things such as database page size, locking model, etc. need to be carefully chosen and designed. A prototype development model would be highly effective.

What's my experience with pricing, setup cost, and licensing?

Since I am a technical person, I don't know any good details about pricing.

What other advice do I have?

Because I was primarily concentrating on the performance side of this product, one will have to first benchmark their own performance requirements. Next, consider concurrency requirements. Then, evaluate how Berkeley DB can satisfy your performance and concurrency requirements using a prototype model of software development.

**Disclosure: I am a real user, and this review is based on my own experience and opinions.
Add a Comment