Fog Creek Software
Discussion Board




BerkelyDb Java Edition

On previous topics I detected a few BerkeleyDb fans.  I just went to their site and discovered they now have a pure Java version.  It is currently in beta.  I plan to give it a try.  I'm am pretty excited.  Clearly I am a bit of a dork.

name withheld out of cowardice
Wednesday, April 07, 2004

I'm ashamed to admit that I too find it exciting. Will the Java edition be interoperable with the "normal" one?
  -tim

a2800276
Wednesday, April 07, 2004

They are a quality organization when i worked with
them. I have not used their new project, but if
they are doing it, it would be worth a shot.

son of parnas
Wednesday, April 07, 2004

My guess is the two formats are incompatible.  The java version seems to store only a "log file" on disk, i.e. there is not a separate database and log file.  The two concepts seem to be combined into a single entity somehow.  I'm not sure how this affects performance.

It does seem to do some cool things for you, like automatically managing log files and letting you close a Database even if it has open cursors.  The literature doesn't say anything about how big databases can be (though they do imply fairly large).

name withheld out of cowardice
Wednesday, April 07, 2004

Why do you people care what language a db was written in? Unless you're working on the product itself (or maybe a plugin to the product or something), it seems completely irrelevant.

mystified
Wednesday, April 07, 2004

maybe they want to deploy a java app to a small device and don't want to have to port berkeley'sc code.  Maybe they want to make a java webstart app and it is easier top deploy if it's all Java.  Maybe they want the application to take a more active role in managing itself, as seems to be the case with the java version.

name withheld out of cowardice
Wednesday, April 07, 2004

Why do they care?

Because they have shares in hardware companies, and they want the world's software to run slower and slower and slooooooower until we all rush out and buy shiney new machines.

HeWhoMustBeConfused
Wednesday, April 07, 2004

Maybe I'm missing something.

Why would *anyone* want a pure-Java version when you already have Java version with a C backend. Won't the latter be substantially faster?

Craig.
Wednesday, April 07, 2004

Why do we care?  Yes it will be 'slightly' slower, but the benefits are *huge*.

JNI based classes are a pain in the ass in an app server configuration where many apps share one class loader.  Then there's the platform independence problem.

Fundamentally, sleepycat wouldn't have built it if there wasn't a market for it.

Koz
Thursday, April 08, 2004

I think the "Why do you care what language the DB is written it" might need some further clarification for people who aren't familiar with BerkleyDB. The product most people think of when they hear DB is something along the line of Oracle, SQL Server, MySql or what-have-you. A standalone process that takes care of managed, relational data-access through a standardized query language like SQL.

If that's what you're in the market for, BerklyDB will disappoint you. Working with it allows you to securely store key-data pairs, so it's basically "just" a serialized hash table that provides ACID capabilities. There is no stand-alone program running, BerkleyDB is  compiled into your program, providing an API to securely access its data files. As such, it does make quite a difference if the code is available in your "native language" especially in Java where native code is frowned upon for performance and portability reasons.

a2800276
Thursday, April 08, 2004

Also, it occured to me that if you were a java shop you might not have the C knowledge in hous to fix or alter the code, whereas with the Java code freely available you would have confidence running your project on it.

name withheld out of cowardice
Thursday, April 08, 2004

*  Recent Topics

*  Fog Creek Home