lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andi Vajda <>
Subject Re: DbDirectory with Berkeley DB Java Edition
Date Thu, 15 Dec 2005 01:18:35 GMT

On Wed, 14 Dec 2005, jian chen wrote:

> Hi,
> I am pretty pessimistic about any DB directory implementation for Lucene.
> The nature of the Lucene index files does not really fit well into a
> relational database. Therefore, performance wise, the DB implementations
> would suffer a lot. Basically, I would discourage anyone on the DB
> implementation.
> 2 cents,
> Jian

Berkeley DB is *not* a relational database. A relational database may be built 
from it (see MySQL) but, by itself, it is not a relational database. It is a 
simple way to persist key/values pairs organized in a Btree, Hashtable, 
numbered record list, or queue.

The Berkeley Java API C edition-based Lucene Index implementation is using 2 
Btrees to store file-like structures. One Btree is a directory of files, the 
other Btree is a directory of data blocks.

The advantage of using Berkeley DB over the file system for Lucene index data 
is that, in a situation where index updates are frequent and concurrent, 
Berkeley DB offers transactional protection - all the changes either go in, 
atomiically, or not - and better concurrency by providing finer locking.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message