Hi,
Well… For now I would like to make the following question: which are
the restrictions that prevent two or more Sequoia Controllers to share
a backend? I’m asking this because, as far as we can see now, the best
way to adapt the Sequoia to our platform would be deploying multiple
controllers connected to the same set of backends. This happens
because, in a parallel execution, there will be multiple clients
connected to the DB cluster via the controllers, and we would like to
avoid the duplication of requests on the network. Let me explain this
better:
- if we have a single controller, then the requests generated by the
app instances would “travel” from the driver to the controller and
from the controller to the backends, duplicating the usage of the network,
- on the other hand, if each app instance has its own controller
running locally, and if all controllers share the same set of
backends, then the requests would be sent to the local controller and
forwarded to the backends, making the network busy only once.
Does it sound reasonable?
Yes, you want to have one controller per site with the local databases
attached to it. The controllers on each site will communicate and
synchronize through the group communication.
Another thing that we couldn’t understand so far is: why does the
Sequoia use group communication among the controllers if they don’t
manage the same set of backends? What’s to be synchronized?
It is not because the controllers are not sharing the same physical
backends that they are not replicating the same data. Imagine a client
connected to controller1 that has db1 and db2. When client issues a
write, controller1 updates db1 and db2. If controller1 does not tell
controller2 about the write, controller2's backends will not be able to
be synchronized and perform the write as well.
The document
http://c-jdbc.objectweb.org/current/doc/C-JDBC_horizontal_scalability.pdf
is a little bit old but explains the fundamental issues behind sharing
physical backends. You can also check Figure 8 in
http://c-jdbc.objectweb.org/current/doc/C-JDBC_Flexible_Database_Clustering_Middleware.pdf
that should have a configuration close to what you want to achieve.
Thanks for your interest in Sequoia,
Emmanuel
--
Emmanuel Cecchet
Chief Scientific Officer, Continuent
Blog: http://emanux.blogspot.com/
Open source: http://www.continuent.org
Corporate: http://www.continuent.com
Skype: emmanuel_cecchet
Cell: +33 687 342 685
_______________________________________________
Sequoia mailing list
[EMAIL PROTECTED]
https://forge.continuent.org/mailman/listinfo/sequoia