I learned a few things about the Berkeley DB which is developed by my employer, Oracle. So let me share. Berkeley DB first came to my attention as an option for MySQL. But it is much more than it, it can store data for projects that range in size from kilobytes to petabytes. In addition, it can used as an embedded database, an XML Database or an SQL database. You can read about the all the possibilities on the overview page.
Berkeley DB Overview
Note: Before I forget, Berkeley DB is distributed with an open source license. You can use it for free for personal use or as a part of an open source project. If you wish to distribute your own DBs for profit, you can get a commercial license from Oracle.
Two things really jumped out at me. First, the latest version of Berkeley DB comes with an SQLite front end. So if you are familiar with SQLite, you can jump write in and try it out. You will find online documentation here:
Getting Started with the Oracle Berkeley DB SQL APIs
Second, Berkeley DB includes a Java embeddable flavor that allows you to persist collection structures in the database. Check out the tutorial here:
Berkeley DB Java Edition Collections Tutorial