[long] Recovery handling in TXN branch

Gyepi SAM gyepi at praxis-sw.com
Tue Aug 17 14:47:19 CEST 2004


On Mon, Aug 16, 2004 at 10:53:15PM +0200, Matthias Andree wrote:
> On Mon, 16 Aug 2004, Gyepi SAM wrote:
> > What we need here is a small, fast
> > embedded database with transactional capabilities. Ideally, we should
> > support only a single database instead of the 3 or 4 that currently
> > exists.
> 
> I'm fine with dropping TDB and QDBM. QDBM has been a quality nightmare,
> and TDB - at least the way your code uses its locking - is painfully
> slow.

I agree to dropping those two. I use the coarse grained locking with TDB
in order to get some of the semantics of a transaction, but the locking
implementation in the library is rather slow. Since I seem to be the only
person using that back-end database, it shouldn't be a great loss to drop
it.

> 
> > Perhaps it's time to investigate an alternative database system. I recommend
> > SQLite (http://www.sqlite.com/). It has all the desired features with, AFAIK,
> > none of the drawbacks of BDB.
> 
> Yet it must parse SQL. I'd also thought about how well PostgreSQL might
> work, but I'm not sure how we stuff halfways binary data (tokens) into
> that data base. I'd think SQL is a bit oversized.

It seems quite fast. The tokens must, of course, be encoded and decoded.
I'll keep it in mind for when I have some free cycles to work on it.
My ultimate goal is to find a fast back-end system that doesn't corrupt data
and requires *no* user intervention. In my ideal case, users wouldn't know or
care that bogofilter had a database.

-Gyepi

-- 
There is nothing permanent except change.
	--Heraclitus 



More information about the bogofilter-dev mailing list