On 10/26/2010 04:04 AM, Anton Stonor wrote:
> In order to scale an application using RelStorage I was thinking about
> seperating reads and writes accross databases. Writes would go to a
> Mysql master and the app would read from one or more Mysql slaves.
If you mean that you intend to set up some clients to write to a master
database, while other clients only read from asynchronous replicas, then
yes, you'll be in good shape. You should be able to get amazing
scalability that way.
> It looks like RelStorage already keeps seperate connections for read and
> write (even though they are not exposed through configuration), so it is
> probably easy to set up.
> Would it work or is there a risk of getting inconsistent data? Or is
> that entirely up to the ability of doing synchronous replication of the
> underlying database?
These questions make me wonder if you're thinking of something more
complicated than the plan I described above.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org