Robert Hodges (JIRA)
2008-05-13 22:06:43 UTC
Implement load balancing of reads
---------------------------------
Key: MYO-60
URL: https://forge.continuent.org/jira/browse/MYO-60
Project: Myosotis
Type: New Feature
Reporter: Robert Hodges
Assigned to: Gilles Rayrat
As everyone knows, there's a problem with Sequoia when you get a very large number of reads. The single Sequoia process quickly becomes a
bottleneck. What would happen if we introduced a feature in the connector to go around the controller and dispatch reads directly to database servers?
It might work as follows from the user perspective:
1.) By default all reads and writes go to controllers as they do now.
2.) Users can optionally set properties on their connection that
might allow
the following:
-> Send any autocommitted read directly to the server.
-> Send any read containing a particular hint or comment to the server
-> Send *any* read directly to the server
This is essentially a lightweight load balancing scheme that would work for any collection of servers where one server must receive the write and a set of replicas are available for reads.
We could implement by providing a network interface to specify to the connector a "logical connection" consisting of a list of one or more masters that can be uses for updates and one or more replicas that can be uses for reads. The connector would be configured with a policy for using the logical connection.
We could use group communications to broadcast updates to the logical connection (e.g., server not available) with guaranteed delivery. The initial implementation would be "lightweight" and would not handle seamless failover.
---------------------------------
Key: MYO-60
URL: https://forge.continuent.org/jira/browse/MYO-60
Project: Myosotis
Type: New Feature
Reporter: Robert Hodges
Assigned to: Gilles Rayrat
As everyone knows, there's a problem with Sequoia when you get a very large number of reads. The single Sequoia process quickly becomes a
bottleneck. What would happen if we introduced a feature in the connector to go around the controller and dispatch reads directly to database servers?
It might work as follows from the user perspective:
1.) By default all reads and writes go to controllers as they do now.
2.) Users can optionally set properties on their connection that
might allow
the following:
-> Send any autocommitted read directly to the server.
-> Send any read containing a particular hint or comment to the server
-> Send *any* read directly to the server
This is essentially a lightweight load balancing scheme that would work for any collection of servers where one server must receive the write and a set of replicas are available for reads.
We could implement by providing a network interface to specify to the connector a "logical connection" consisting of a list of one or more masters that can be uses for updates and one or more replicas that can be uses for reads. The connector would be configured with a policy for using the logical connection.
We could use group communications to broadcast updates to the logical connection (e.g., server not available) with guaranteed delivery. The initial implementation would be "lightweight" and would not handle seamless failover.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira