[ANN] buzhug-0.7 (pure-Python database engine)
Pierre Quentel
quentel.pierre at wanadoo.fr
Sun Feb 25 09:38:19 CET 2007
Hello,
A new version of buzhug has just been published : http://buzhug.sourceforge.net
buzhug is a fast, pure-Python database engine, using a syntax that
Python programmers should find very intuitive
The data is stored and accessed on disk (it is not an in-memory
database) ; the implementation has been designed to make all
operations, and especially selection, as fast as possible with an
interpreted language
The database is implemented as a Python iterator, yielding objects
whose attributes are the fields defined when the base is created ;
therefore, requests can be expressed as list comprehensions or
generator expressions, instead of SQL queries :
for record in [ r for r in db if r.name == 'pierre' ]:
print record.name,record.age
instead of
cursor.execute("SELECT * IN db WHERE name = 'pierre'")
for r in cursor.fetchall():
print r[0],r[1]
buzhug supports concurrency control by versioning, cleanup of unused
data when many records have been deleted, easy links between bases,
adding and removing fields on an existing base, etc
Database speed comparisons are not easy to make. I made a limited
benchmark using the same use cases as SQLite's author ; it shows that
buzhug is much faster than other pure-Python modules (KirbyBase,
gadfly) ; SQLite, which is implemented in C, is faster, but only less
than 3 times on the average
Version 0.7 is a minor update, with Python2.3 compatibility and a new
method for updating records
Download : http://sourceforge.net/project/showfiles.php?group_id=167078
Documentation : http://buzhug.sourceforge.net/
Tutorial : http://buzhug.sourceforge.net/tutorial.html
Users group : http://groups.google.com/group/buzhug?lnk=li
Regards,
Pierre
More information about the Python-announce-list
mailing list