pure Python DB

David Rushby woodsplitter at rocketmail.com
Wed Aug 27 10:34:01 EDT 2003


Gerhard Häring <gh at ghaering.de> wrote in message news:<mailman.1061966520.22920.python-list at python.org>...
> Aaron Watters wrote:
> > Andy Todd <andy47 at halfcooked.com> wrote in message news:<mailman.1061889235.29240.python-list at python.org>...
> >>Patrick Useldinger wrote:> 
> >>Gadfly is lightweight but doesn't support transactions. It is in low 
> >>maintenance mode, development is currently not active but the project is 
> >>hosted at SourceForge (http://sourceforge.net/projects/gadfly) and any 
> >>bug reports and (especially) patches would be more than welcome.
> > 
> > Um.. doesn't support transactions?  It depends what you mean,
> > I guess.  It supports transaction commit and rollback and recovery
> > but not transaction concurrency...  (yet)
> 
> Neither does SQLite. Only one transaction can be active at any time. 
> Another transaction will block at BEGIN.
> 
> If you need that I'd suggest you switch to a client-server database like 
> PostgreSQL.

No need to go client/server.  Embedded Firebird supports concurrent
transactions with configurable isolation levels, foreign keys, views,
stored procedures, and other features one would expect from a
full-fledged RDBMS.  Plus it's fast--kinterbasdb with embedded
Firebird 1.5-rc4 is about twice as fast as pysqlite 0.4.3 in various
trivial speed tests I've tried.

Embedded Firebird is not the primary focus of the Firebird core
developers, though, so releases aren't always up to date, and so far,
binaries have only been released for Windows.  Here's the most recent:
http://prdownloads.sourceforge.net/firebird/Firebird-1.5.0.3744_RC4_embed_win32.zip?download

To use it from Python, see:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/kinterbasdb/Kinterbasdb-3.0/docs/usage.html#faq_fep_embedded_using_with

I'm not aware of any reason why embedded Firebird couldn't run on *nix
(the server variant does), but AFAIK no one has done so.  Also, I
haven't used the embedded variant for anything non-trivial, so I can't
comment on its stability.




More information about the Python-list mailing list