Berkeley DBs Rivals
Whats the difference between what Sleepycat has done with Berkeley DB and what relational database vendors such as IBM have done with Java in DB2, for example? Were talking about a completely different category of database here. JE and Berkeley DB provide the building blocks of relational databases. Of course, there is more to JE, which makes it easier to use while performing common operations such as joins. The API is much more than a simple B-tree data structure in this way. However, fundamentally at its core, both these APIs are B-tree implementations. Simple databases that do not need the robust features of a relational database system can be hand-rolled using JE or Berkeley DB. This makes their footprint significantly smaller and removes the need for a client-server tier.The SQL machinery rather than an API is used to intuitively interface with the database and ask questions. These databases possess their own client-server communication mechanisms, like Oracles SQL*Net. JE does not. JE is nonrelational with only support for two column tables, while DB2 and Oracle store data within tables. In JE, you must build tables by handusing multiple B-trees. When databases are simple in nature, yet large in size, JE is an excellent API to use for hand-rolling a database. Basically, when all of the searches are handled using canned queries, you might want to think about hand-rolling your database to make it fast or embed it within another application. How does Berkeley DB work with those relational databases? How will a pure-Java version work better with them? Berkeley DB can be used to work with relational databases, sure. It can also be used to build one. I think MySQL as one option uses the Berkeley DB C edition as the underlying record-backing store. One could build a pure-Java relational database using JE pretty rapidly, I think. Its probably just a matter of time now. Next page: What Sleepycats move will mean for the future of Java.
RDBMSes like DB2 and Oracle [Corp.s databases] are intended more for enterprise-scale applications. Plus, they were designed for use out of the box. You can install Oracle, pump data into her, and slice and dice with SQL.