On Thu, Apr 30, 2009 at 5:13 PM, Mark Matthews <[email protected]> wrote:
>
> Mark,
>
> Connector/J for MySQL can do this today (in a rudimentary way). If the Java
> program calls Connection.setReadOnly(true), and more than one mysqld host
> has been specified in the URL connection string, the driver will send the
> queries in a random load balance scheme to any hosts listed after the first
> one.
>
> This could be pretty easily extended to use the response time, and
> health-check aware variants of the load balancer built into Connector/J (it
> just isn't today), to have something a bit fancier, and achieve the "less
> moving parts" you seek.
>
> I realize this doesn't solve the problem for folks *not* using JDBC, but it
> also shows that replication-aware connections can be built with what exists
> out there today. I am pretty interested in the eventually consistent model
> Adi proposes though, seems like a neat "lift" from the non-relational
> scale-out folks.

Mark,

The majority of our workload is from the (excellent) MySQL JDBC
driver. But we have strict requirements for some of the load. The
connection must use a server that has any transactions committed by
the 'client'. If we tracked the binlog offset on the master when
commits were done and only used replicas with a slave SQL thread
offset >= that value, and did all of this transparent to the
application programmer then you would make many people very happy and
read scaleout would be much easier to achieve.

Once that is working, adding additional constraints based on QoS and
server health should be easy.

>
>
>
>
>



-- 
Mark Callaghan
[email protected]

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to