[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