2

Recently, I've been digging into various types of DBs. I need to store & query “relational, hierarchical, graph, document” hybrid data. I'm looking for the best DB solution.

I can't find much data about Berkeley DB. Most of the stuff on their website is written by the marketing dept. One of the PDFs makes it sound like it handles relational data, not just key-value pairs. I saw in a blog that it does indexing.

Where can I get some real info on this DB and how it compares to MongoDB? Data types, indexing capabilities, analytics, usage, and "suited for...".

I am a little surprised at how little useful data is coming up in Google considering this DB is 15 years old.

Community
  • 1
  • 1
IamIC
  • 17,747
  • 20
  • 91
  • 154

2 Answers2

3

Here's what wikipedia has to say about it: http://en.wikipedia.org/wiki/BerkeleyDB

I think the following sentence may be of particular interest:

"unlike SQLite, Berkeley DB does not support SQL or any other query language, nor does it support table schemas or table columns. SQL support was added by Oracle by including a version of SQLite in Berkeley DB"

  • Thanks Mark. I saw that a while after I posted the Q. – IamIC Oct 22 '10 at 15:24
  • It's hard to tell if it acts as a document DB with keys, or, with the SQLite front-end, as a native relational DB. – IamIC Oct 22 '10 at 15:24
  • 6
    This is not 100% true. Yes, the history of Berkeley DB has been focused on key/value schema-less storage without query language (because it is a foundational library on which you'd build that kind of software) but recently this has been changing. Berkeley DB 5.x and later includes a SQLite 3.x compatible API which uses the Berkeley DB BTREE rather than the SQLite BTREE for storage. Berkeley DB XML supports XQuery and XPath queries and Berkeley DB Java Edition has it's own Direct Persistence Layer which is similar to EJB and has a way to index and query object graphs. – Greg Burd Nov 30 '10 at 16:03
1

I studied Berkeley DB when I was in the university, when the database wasn't property of Oracle but Sleepycat Software (the creators).

It you search on Google with "Sleepycat" and "Berkeley DB" or "Berley DB XML", you could find more information about it.

For example: https://web.stanford.edu/class/cs276a/projects/docs/berkeleydb/reftoc.html

Regards