On Wed, Jul 02, 2003 at 09:18:47AM -0400, Hardy Merrill wrote:
> I have no experience with it, but I remember seeing (and
> I just looked it up on CPAN:
> 
>   http://search.cpan.org/author/TKISHEL/DBD-Multiplex-1.9/Multiplex.pm
> 
> that Tim Bunce wrote DBD::Multiplex which gives simultaneous
> access to more than one datasource with one connect.

Actually Thomas Kishel did most of the actual implementation work.

I have been doing more work on it recently, and Alex Rak has also
worked with me to incorporate key ideas from his DBIx::DBCluster
module into DBD::Multiplex.

> Not sure if this solves your problem, but it might.

It's certainly the module that *should* solve it. If it can't then
it needs extending.

Future DBI releases will include DBD::Multiplex. I'm bundling it
into the distribution because it's a "core plumbing" module like
DBD::Proxy and co-distribution avoids version skew issues.

Tim.

> HTH.
> -- 
> Hardy Merrill
> Red Hat, Inc.
> 
> Andy Crichton [EMAIL PROTECTED] wrote:
> > Hi,
> >     How easy is it to transparently maintain 2 connections such that each
> > insert/update/delete type statement is executed on 2 connections and each
> > select... statement only on one (specified). Should one statement fail with
> > an error code other then NOT_FOUND then the connection would be marked bad
> > and ignored for all subsequent transactions. I can be certain that there
> > will be no transactions which update the same rows occurring concurrently
> > (i.e. no row-level locking would be required and there will only be one
> > attempt to modify any of these rows across both databases). The actual
> > number of updates would be small (mainly session/user information) but it
> > would be nice for global load balancing purposes if I could easily perform
> > this within the application rather than using (expensive �����) database
> > synchronisation.
> > 
> > I want to have this scenario:
> > 
> >     GLB
> >     /      \
> >    /        \
> > App1                 App2
> >  |  \       _____   / |
> >  |  /               \ |
> > DB1          DB2
> > 
> > 
> > I can provide load balancing of the "app" servers but would like session
> > information to be persisted across both backend databases. Should one
> > database fail then both app servers would access a single database.
> > 
> > I can easily solve the front end load balancing by using TCP/IP monitoring
> > to drive a bind name server. Has anyone already solved this problem on the
> > application level in perl or does this sound like a particularly bad idea to
> > try (and why)?
> > I am happy to expend some effort to get this working however I am more of
> > perl "user" rather than developer (I am a C programmer mainly). This is a
> > solaris platform (solaris7/8) and oracle databases are used however I
> > suspect something would be possible at the DBI level and so be platform
> > agnostic.
> > 
> > Many thanks for your time and thoughts in advance. Any pointers would be
> > appreciated (even if you suspect I am a lunatic for even suggesting such a
> > thing).
> > 
> > Andy Crichton
> 

Reply via email to