[pygresql] Please suggest

Bill Tate tatebll at aol.com
Wed Mar 20 11:33:29 EST 2002


Gerhard Häring <gerhard at bigfoot.de> wrote in message news:<mailman.1016582792.31989.python-list at python.org>...
> Le 19/03/02 à 15:10, Suraj Peri écrivit:
> > Dear Group, 
> >  Please excuse me if my question is not appropriate
> > for this group. We are planning to make a public
> > object oriented database for genes and proteins (
> > biological databases are generally huge and has lots
> > of inter-relationships). 
> > While planning this, my friend is very much particular
> > about using Zope. 
> > Our plan is using PostgreSQL-PHP tiers. 
> > there will be many relationships between our objects.
> > Now the question is is Zope more sophisticated in
> > dealing with objects than PostgreSQL? if so is this
> > sophistication is in dealing with the complexity of
> > relationships between objects or something else?
> > 
> > Please suggest is ZOPE a good and better choice that
> > PostgreSQL-PHP or PostgreSQL-JDBC-Java client
> > interface. 
> 
> Well, PHP, ZOPE and Java servlets are only technologies for the
> frontend. It doesn't matter much which one you choose - either one will
> work. But in IMO Python and Java better languages than PHP. And,
> compared to Java, Python is far easier to develop with. Btw. I've also
> seen some open-source computational biology libraries for Python
> mentioned on the comp.lang.python newsgroup.
> 
> The much more important decision to make is which backend technology
> (database) to choose. AFAIK PostgreSQL is not really an Object Database,
> though it may have some features that go in this direction.
> 
> I basically see two options
> 1) a relational database, like PostgreSQL
> 2) an object database, like ZODB (for Python, part of Zope). There are
> also several open-source object databases for Java
> 
> But to say which one is more appropriate, we'd have to know more of the
> requirements.
> 
> One more hint: if you want to reuse Java libraries from an easy-to-use
> language like Python, you can use Jython (http://www.jython.org/). It's
> a Python interpreter than runs in the JVM.
> 
> As for a more perhaps more appropriate place to ask, I don't know a
> newsgroup that has this exact topic, but I think you might get value
> advice in the comp.lang.python newsgroup, or the Python mailing list,
> which is basically the same thing, just via email.
> 
> Come to think of it, I'l just cc the Python mailing list. Have an eye
> there (or in the newsgroup, whichever you prefer).
> 
> Gerhard

I would suspect this would be case where an OODBMS would very likely
choke if you try to do anything that involves some really advanced
querying capability.  Normally you take a pretty big performance hit
when you start querying down deep in an object graph and/or across
object instances - I wish it were otherwise.  Note also that zodb
currently doesn't support querying in the traditional sense of say a
product like Object Design's objectstore - you get pretty much
everything under the database root.  Where ODBMS tends to excel is in
applications where you have document-like data.  There are other's as
well, but your questions don't strike me as that being the situation
here.

PG has a number of very nice features including the ability to work
with datatypes other than alpha-numeric or binary, e.g., geometric
datatypes.  The ability to inherit from a table's schema design is
interesting and might be useful in this circumstance.  Since most
RDBMS now allow you to drop columns in a table (historically this
wasn't a fun thing to do) so schema evolution is not as big a deal as
it used to be.  I suspect you'll find PG offers most of what you need
here.



More information about the Python-list mailing list