Dalke Scientific Software: More science. Less time. Products
[ previous | newer ]     /home/writings/diary/archive/2005/04/26/databases


Accessing a SQL database with Python is very simple. There are Python modules that interface to most database servers. All of those implement a standard API which makes it easy to port from one database to another. (Though each database has its own nuances and sticky points.) There are tutorials and many people know how to use it so you can ask questions on the comp.lang.python newsgroup or read recipes (how-tos).

Because of the standard API there are libraries like SQLObject to do object-relation mapping on top of an existing SQL database. There are even several self-contained SQL libraries if you don't want to run a server.

If you decide to use a relational database, the best Oracle client for Unix is cx_Oracle and the best Windows ODBC solution is mxODBC.

If you don't like relational databases you can use an object database instead. Again there are several, including ZODB and Durus. I've used ZODB for several projects where I had to store lots of different data types and didn't need fast searching.

Or you can try out Sleepycat's BerkeleyDB.

The options are almost overwhelming. This should help simplify your decisions:

Andrew Dalke is an independent consultant focusing on software development for computational chemistry and biology. Need contract programming, help, or training? Contact me

Copyright © 2001-2013 Andrew Dalke Scientific AB