Subject | Re: [IB-Architect] Proxy Query ? |
---|---|
Author | Ann W. Harrison |
Post date | 2001-03-07T03:28:52Z |
At 12:02 AM 3/7/2001 -0300, Marcelo Lopez Ruiz wrote:
It could easily (sic) send parts off to other databases. Early in the
history of InterBase, a customer called us and explained that he had
a query that took 26 hours (16? Some huge number) to run. A quick check
revealed that it took (x hours - 4 seconds) to optimize and 4 seconds to run.
That led to serious tree-pruning in optimization. The equivalent process
distributed around a network is going to be interesting.
Another issue is network speed - simpler than it was in the old days,
but still a consideration. A serious consideration.
two InterBase databases - and have a strong desire to do it right, if
we do it at all.
optimization are available in a format that could be distributed.
The question is:
select db1.a.whatever, db2.b.whatever
from a inner join b over a.fx = b.fx
where a.f1 <= '34' and b.f2 = 9
Do you find the matching A's and send them to B? Vice-versa?
If B were across a high-bandwidth, high latency line, would that
change the equation?
gradually knock off corners until we get to the whole thing.
another is enjoying a thunder storm. Sorry, that's antediluvian.
Because another is enjoying preventive maintenance.
discussing its characteristics. As a volunteer group, we could have
decades of similar fun.
are some interesting and less overwhelming projects that need a fresh
imagination.
Regards,
Ann
www.ibphoenix.com
We have answers.
>...parsed and compiled by a query processor engine, ... separate layer (OLEThat's approximately what InterBase does - though only on one database.
>DB layer, an internal one in the case of MSSQL7 itself), and queries it for
>information about metadata, available indexes, etc.
It could easily (sic) send parts off to other databases. Early in the
history of InterBase, a customer called us and explained that he had
a query that took 26 hours (16? Some huge number) to run. A quick check
revealed that it took (x hours - 4 seconds) to optimize and 4 seconds to run.
That led to serious tree-pruning in optimization. The equivalent process
distributed around a network is going to be interesting.
Another issue is network speed - simpler than it was in the old days,
but still a consideration. A serious consideration.
>...each OLE DB provider may implement a lot ofAt the moment, I don't know what the right hints are to offer between
>interfaces (which provide optimization hints, like the internal OLE DB
>provider does) or just a few (enough to perform some rough operations on
>plain text files, for example).
two InterBase databases - and have a strong desire to do it right, if
we do it at all.
>Through the use of well-designed interfaces, transaction contexts can alsoThat's well understood technology. Even I can do that.
>be extended to encompass other databases.
>I don't know how well IB separates query compilation, optimization andThey're completely separate. And yes, all the stats that go into
>execution, but I'm sure it will require major changes.
optimization are available in a format that could be distributed.
The question is:
select db1.a.whatever, db2.b.whatever
from a inner join b over a.fx = b.fx
where a.f1 <= '34' and b.f2 = 9
Do you find the matching A's and send them to B? Vice-versa?
If B were across a high-bandwidth, high latency line, would that
change the equation?
>However, look at theOK - but it might also make sense to start with a simpler problem and
>bright side - if interfaces (structs of function pointes will do, thanks)
>are used, the changes can be done in smaller increments - an index reporting
>interface on this provider, an interface to help the optimizer on that one.
gradually knock off corners until we get to the whole thing.
> > How do we handle the case of access to one database when the otherThat's what bother's me - having one database unavailable because
> > is not available? What happens if one database is moved or renamed?
>
>Rollback the transaction, whine to the user. What else is there to do?
another is enjoying a thunder storm. Sorry, that's antediluvian.
Because another is enjoying preventive maintenance.
> > Yes, aliases help here [general whining].We called that the mega-database and had hours of unproductive fun
>
>The aliases are part of the database holding the reference metadata. Abstrac
>ting the local/remote logic to its own layer makes it a bit less
>troublesome - the connected database is just a special case of "stuff that
>exposeds interfaces/behaviour I can work with".
discussing its characteristics. As a volunteer group, we could have
decades of similar fun.
>Having said all that, feel free to spank me into reality - the only time IOn the contrary - what can I do to draw you into the project? There
>have ever looked at the code was on the security incident.
are some interesting and less overwhelming projects that need a fresh
imagination.
Regards,
Ann
www.ibphoenix.com
We have answers.