pure Python DB

Gerhard Häring gh at ghaering.de
Wed Aug 27 10:50:06 EDT 2003


David Rushby wrote:
> Gerhard Häring wrote:
>> If you need [concurrent transactions] 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. [...]

The included README says:

"""
     But you should be aware that you cannot access single
     database from a number of the embedded servers
     simultaneously, because they have SuperServer architecture
     and hence exclusively lock attached databases.
"""

So it doesn't help in a multi-process environment, either (like in CGI 
scripts). But then again, CGI sucks :-P

Embedded Firebird sounds like a good solution for small *multithreaded* 
application servers, though.

> 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.

That's interesting. I wonder how much of that is because of the 
relatively inefficient Python wrapper over SQLite. Time to go on with my 
prototype for PySQLite 0.5 :-)

-- Gerhard





More information about the Python-list mailing list