Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Resources for building database *server* interface

by erix (Prior)
on Nov 12, 2004 at 18:13 UTC ( [id://407463]=note: print w/replies, xml ) Need Help??


in reply to Resources for building database *server* interface

It sounds interesting. However I for one would like to get some more of that context.

The only thing it reminds me of at the moment is the pulling together of several cgi frontends (=databases) to a single frontend. I've seen some examples of that. But I suppose you want something more, eh, detached?

  • Comment on Re: Resources for building database *server* interface

Replies are listed 'Best First'.
Re^2: Resources for building database *server* interface
by etcshadow (Priest) on Nov 12, 2004 at 20:22 UTC
    OK... more context, then (just for fun, though... doesn't really have anything to do with the question):

    We've got a system that has a large number of identically structured databases. Because they are identically structured, then you can imagine a sort of "virtual database" consisting of the sum of all the constituent databases. For example, if you had a table FOO in each of the databases like:

    ( FOOID number, FOOTYPE varchar, AMOUNT number
    for example. Thus, in the virtual database, there would exist a virtual table FOO like:
    ( FOOID number, FOOTYPE varchar, AMOUNT number,
      DATABASEID  number
    )

    So, if you took a query like:

    select sum(amount), footype from foo group by footype
    and ran it against the virtual database, what would actually happen is that the query
    select sum(amount), footype from foo group by footype
    would get run in parallel through all of the identical (actual) DBs, and they would each return their result sets to the virtual DB, which would then roll up the individual result-sets into one result set. It's conceptually as though the query were executed like:
    select sum(sum_amount), footype from ( select sum(amount) as sum_amount, footype from db1.foo group by footype UNION ALL select sum(amount) as sum_amount, footype from db2.foo group by footype UNION ALL ... UNION ALL select sum(amount) as sum_amount, footype from dbN.foo group by footype ) group by footype
    Only with the "UNION"s being executed in parallel.

    To get an even better idea, there's stuff like:

    select sum(amount), footype from foo where databaseid in (1,2,3) group by footype
    This would get pulled apart, such that the "where databaseid in (...)" was removed from the query, and was used, instead, to control the set of databases over which to run the query.

    Anyway, none of that is what I want help with. It's already a done deal... I'm trying to figure out if there are any tools, etc, on how to build an ODBC server interface... I've already got the server to back it up, I just need the ability to slap an ODBC access method onto it.

    ------------ :Wq Not an editor command: Wq

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://407463]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-04-20 00:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found