Re: Optimizing Queries in OODBs (was: Dreaming About Redesigning SQL)

From: Mikito Harakiri <mikharakiri_at_iahu.com>
Date: Fri, 10 Oct 2003 12:07:36 -0700
Message-ID: <8ADhb.35$qu2.40_at_news.oracle.com>


"Patrick K. O'Brien" <pobrien_at_orbtech.com> wrote in message news:m2he2hdjnw.fsf_at_orbtech.com...
> "Mikito Harakiri" <mikharakiri_at_iahu.com> writes:
> > I just went through simple stupidity test for Object Relational
yesterday.
> > Yes, Object Relational folks are not totally dumb, their stuff doesn't
have
> > *obvious* flaws. Therefore, yes it seems possible in principle to
optimize
> > queries in Object Extensions to SQL, and maybe in even OQL as well.
> >
> > The problem is that they raise complexity so significatly that it is
> > extremely challenging for the optimizer to catch up. Note, that sql
> > optimization is struggling to solve all problems in "simple" area of
"flat"
> > relations. Or, to put it in other words, how large is optimization team
in
> > your little PyPerSyst?
>
> I don't completely understand all of what you have said, or exactly
> what you are asking, but I'll try to provide some information that may
> answer your question. First, PyPerSyst is not Relational, nor is it
> Object Relational, nor does it support OQL. It is a persistence
> system for Python objects. It can persist any Python object graph,
> but it also comes with a couple of base classes that can be used to
> create an object system that has some *qualities* in common with
> Relational databases.
>
> As for optimization, that isn't quite as much of an issue, as
> PyPerSyst is an in-memory database, which means that all objects
> reside in RAM. Transactions are logged to disk before being executed,
> and the combination of system snapshot and transaction log is used to
> recover from a crash. So performance is good without a lot of
> attention to optimization.
>
> There is no optimization team. As of right now, I have written all
> the PyPerSyst code. But I have drawn inspiration from other projects
> and academic papers, and there are several developers actively
> contributing ideas as well. PyPerSyst is free and open source, so you
> can examine the source code yourself:

I apologyse for rude tone of my message. Our newsgroup is overflown with messages like "Could you please answer the following question, and here is BTW a little system that I developed".

Optimization is a hard problem. It doesn't matter if the system operates in memory or on hard disk. If it seems simple in your scope, that means that there are limitations in flexibility, query expressiveness, and/or power. Received on Fri Oct 10 2003 - 21:07:36 CEST

Original text of this message