This page contains a single entry from the blog posted on July 20, 2007 3:00 PM.
The previous post in this blog was The JE DbCacheSize Utility.
The next post in this blog is Netbeans 6.0 and JE.
Many more can be found on the main index page or by looking through the archives.
Comments (4)
Hi Charles,
First, let me say that I'm really surprised Berkeley DB JE hasn't caught on more in the Java community. Maybe it's because of the license -- isn't it Apache/BSD-incompatible? In other words, say, if you use any Apache Commons code in your product (which is licensed under Apache License v2.0), isn't it impossible to distribute it with BDB JE if you don't pay money for a proprietary license?
Do you know of anyone using BDB JE for high-profile/interesting projects, whether open source or proprietary?
Finally, I'm still not quite sure what to make of the whitepaper that was posted late last year comparing JE and Derby -- in what situations does JE have the greatest performance lead over Derby?
Learning Berkeley DB's API is very different from using JDBC, and I'm still working through the DPL/JE Collections stuff, but it looks very cool. Could you summarize some of the most noteworthy features and benefits of the DPL/Collections stuff for people who haven't used BDB JE before?
Thanks!
Posted by Warren Henning | July 31, 2007 3:08 AM
Posted on July 31, 2007 03:08
Hi Warren,
If you ship any code that uses with JE with source code, then you can ship JE without a revenue-based license.
JE is used in several places. One of the open source places is Archive.org which uses JE for a number of purposes including the Heritrix crawler.
JE and Derby are really two different animals. If you don't need the power/overhead of SQL, then JE is a good option to consider. If you need SQL, then JE won't cut it for you (i.e. consider Derby instead). The white paper is simply trying to compare raw performance of the engine. But the reader must keep in mind that in many ways it is an apples to oranges comparison.
DPL offers straightforward POJO persistence for Java objects and alleviates the need for the user to write marshall/unmarshall code and also maintains the relationships and indexes between objects.
Regards,
Charles Lamb
Posted by Charles Lamb | July 31, 2007 11:32 AM
Posted on July 31, 2007 11:32
Hi Charles,
A while ago you apparently gave a talk about Direct Persistence Layer - http://blogs.oracle.com/charleslamb/2006/08/27 - did you ever post slides for that? Could you if you haven't?
The Spring framework has stuff to reduce the amount of boilerplate necessary to use JDBC and other relational database technology. Does JE have anything for reducing boilerplate pertaining to opening/closing environments, environment configurations, etc?
Thanks!
Posted by Warren Henning | August 4, 2007 1:34 PM
Posted on August 4, 2007 13:34
Hi Warren,
Here are the slides: http://blogs.oracle.com/charlesLamb/gems/OOW06BDBJE.ppt
DPL is probably the closest thing we have to reducing boilerplate.
Regards,
-cwl
Posted by Charles Lamb | August 6, 2007 9:12 AM
Posted on August 6, 2007 09:12