u're talking about full replication...
what's the possiblity of local-readonly DB to have different (older) 
data than that of the master? and how this should be tackled?

theoreticaly from what i get of the multi-sessions/engine approach, 
then your two sessions (one writeable:master, one readonly:local) may 
have different objects which represent/has to be one object?

On Monday 09 June 2008 21:22:48 qhfgva wrote:
> On Jun 6, 12:34 pm, Michael Bayer <[EMAIL PROTECTED]> wrote:
> > On Jun 6, 2008, at 2:29 PM, qhfgva wrote:
> > > We have (what I think of as) a moderately complicated database
> > > configuration and I'm hoping there will be a way to configure
> > > sqlalchemy to deal with it.  The basic scenario is like this:
> > >
> > > There are N mysql servers in different geographical regions
> > > that are all replicating against one master.  In the interest
> > > of speed the rule in each location is to do reads which are
> > > very frequent against the local copy of the database and if
> > > there is a write to do that against the master.  As an added
> > > wrinkle the user has an option to write to the master with a
> > > master_pos_wait so that the current process will wait until
> > > replication has caught up with the update just executed.
> > > Hopefully that makes sense and gives enough of a flavor of what
> > > I've got in mind.
> > >
> > > I'm pretty new to sqlalchemy.  Is the above feasible?  If so
> > > are there examples to compare with and learn from doing
> > > something similar? Where (api/code) would I start looking to
> > > accomplish the above?
> > >
> > > Any tips to get me going would be much appreciated.
> >
> > easiest approach is to use multiple sessions, multiple engines.  
> > Your   app would need to know which engine it wants to talk to,
> > and binds a session to that engine.  Binding is described here:
> >  http://www.sqlalchemy.org/docs/04/session.html#unitofwork_gettin
> >g_bin...
>
> Thanks I'll take a look.  I left out what I think is an important
> part of this scenario (or maybe it's trivial - I don't have a good
> perspective on this yet).  In any case,  I would like to use the
> ORM component of sqlalchemy and completely hide the fact that the
> read/ write connections are possibly different.   (They might
> become the same connection if the local database becomes
> unaccessible and/or is too far behind the master).
>
> In other words I'd like to have a handle to, say, a user object,
> and do reads/updates to it with the programmer using this object
> not caring about how the work gets done.   So for instance I select
> a number of user objects that come from the local database.  Later
> I update a field on one of these and the update takes place on the
> master directly.
>
> Is that weird?  Doable?  Unfortunately this is the environment I
> need to get this working with.
>
> As a side note, we manage this difference by hand now, it's really
> annoying which is why I'd love to abstract it away.
>
> thanks.
> 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to