Looking for a DB for object persistance...

Jeremy Hylton jeremy at zope.com
Thu Feb 5 21:54:11 EST 2004


> I need it to:
>
> Works both in Linux and windoze
> Server independent (no Mysql or the like)

I'm not sure what you mean by server independent.  Do you mean you don't
want a solution that requires you to run a separate server process?

> Allow simultaneous access by multiple process for read/write operations.
> Be able to hold lots of data (close to a gig)
>
> I tough Berkeley DB with bsddb3 would be the ticket, but I could not
> make sense of the installation instructions for win32, no mention of
> python.

It does work with Python.  I've built it for Python 2.3 on Windows NT.
There are instructions in the PCbuild subdirectory of the Python source
tree.

> I am considering Zodb3, but did not find info for simultaneous access
> capability.

Within a single process, any number of threads can access independent,
consistent views of the database.  If you run a ZEO server, then clients on
any machine can connect to the server to access the database.  It works on
Windows and Linux, and I'm familiar with several installations that have
databases with > 10GB of data.

If all you want is a shelve interface, you'd probably do better with
BerkeleyDB.  ZODB provides a more natural interface for Python programs --
it just stores objects -- but it does have a different programming model
than shelve.  On the other hand, ZODB is faster than BerkeleyDB for many
applications.

Jeremy





More information about the Python-list mailing list