Thread: Trying to create multi db query in one large queries

Trying to create multi db query in one large queries

From
Hasnul Fadhly bin Hasan
Date:
Hi,

I am not sure if this is the place to ask this question, but since the
question is trying to improve the performance.. i guess i am not that
far off.

My question is if there is a query design that would query multiple
server simultaneously.. would that improve the performance?

To make it clear.. let's say we have 3 db servers.  1 server is just
designed to take the queries while the other 2 server is the ones that
actually
holds the data.  let's say we have a query of 'select * from
customer_data' and we change it to
select * from
(
dblink('db1','select * from customer_data where timestamp between
timestamp \'01-01-2004\' and timestamp \'06-30-2004\'')
union
dblink('db2','select * from customer_data where timestamp between
timestamp \'01-07-2004\' and timestamp \'12-31-2004\'')
)

Would the subquery above be done simultaneously by postgres before doing
the end query? or would it just execute one at a time?

If it does execute simultaneously.. it's possible to create code to
convert normal queries to distributed queries and requesting data from
multiple
database to improve performance.  This would be advantageous for large
amount of data.

Thanks,

Hasnul



Re: Trying to create multi db query in one large queries

From
Josh Berkus
Date:
Hasnul,

> My question is if there is a query design that would query multiple
> server simultaneously.. would that improve the performance?

Not without a vast amounts of infrastructure coding.   You're basically
talking about what Oracle has spent the last 3 years and $100 million working
on.

Would be nice, though.

--
Josh Berkus
Aglio Database Solutions
San Francisco

Re: Trying to create multi db query in one large queries

From
Christopher Browne
Date:
The world rejoiced as josh@agliodbs.com (Josh Berkus) wrote:
> Hasnul,
>
>> My question is if there is a query design that would query multiple
>> server simultaneously.. would that improve the performance?
>
> Not without a vast amounts of infrastructure coding.  You're
> basically talking about what Oracle has spent the last 3 years and
> $100 million working on.

I recall a presentation from folks from Empress Software
<http://www.empress.com/> back in about '94 or '95 offering this very
feature as part of the "base functionality" of their product.

I'm not sure it's quite fair to assess things as "more or less
preposterous" simply because they prove ludicrously expensive to
develop on a particular platform that happens to be targeted by even
more ludicrous quantities of development dollars...

On the other hand, it seems unlikely that "improved performance" would
be one of the merits of this approach...
--
let name="cbbrowne" and tld="gmail.com" in String.concat "@" [name;tld];;
http://www3.sympatico.ca/cbbrowne/
Rules of the  Evil Overlord #92.  "If I  ever talk to  the hero on the
phone, I  will  not taunt him.  Instead  I  will  say that  his dogged
perseverance has given me new insight on the futility  of my evil ways
and that if he leaves me alone for a few months of quiet contemplation
I will   likely  return to  the  path  of righteousness.   (Heroes are
incredibly gullible in this regard.) <http://www.eviloverlord.com/>