Hi Gilad,
We have been considering Sequoia for our product deployment. Looks like
an extremely robust and very well engineered product. Well done! ;)
We aim to provide fault tolerance and high availability for our software
product which uses PostgreSQL, and Sequoia seems like the natural
candidate.
I was hoping you could help me decide if this is the right solution for
us, as I've only had a few days worth of experimentation, and have not
come to conclusions on the following factors:
1. We will not use JDBC (we do not use Java), but a C++ client
application.
You will not get all benefits of Sequoia in the C/C++ world. You will
have to use Myosotis (now called Tungsten Connector) to connect to
Sequoia controllers, but you will not have failover in case of a
Myosotis proxy crash.
2. Our product will be deployed in the following form: two boxes, each
running a PostgreSQL server and our server application, using heartbeat2
and Sequoia to provide active/passive functionality.
Sequoia has been primarily designed to provide active/active
functionality. It might be an overkill for a simpler active/passive
scenario.
>From what I understand, Sequoia is not meant as an "Automatic"
fail-over/recovery mechanism - i.e. it requires manual intervention to
recover. Consider the following scenario:
1. Primary server is malfunctioning, Backup server is now active
... [all SQL activity takes place on the backup server]...
2. Primary server is back on-line.
Is it possible to make the primary server re-sync automatically and
assume the primary role once more without manual intervention, or would
I have to run the Sequoia console, recover the logs manually and enable
the Backend to bring the primary server back on-line?
When you want to perform recovery, you can invoke a script that
resynchronize the controller and its attached backend (see how the
Sequoia demo scripts the console).
For your scenario, you might want to use some simpler solutions such as
DRDB with Heartbeat (quite a bit of literature on the web about it) that
could integrate more smoothly in your environment without requiring any
Java in the middle. There are a couple of other options for Postgres
including Warm Standby with PITR (check
http://www.postgresql.org/docs/8.3/static/warm-standby.html) or Slony.
So to answer your original question, while Sequoia might do the job, it
might not be the best solution for your problem. If you are planning to
move later on to an active/active replication solution, then investing
time in Sequoia now makes sense.
Thanks for your interest in Sequoia,
Emmanuel
--
Emmanuel Cecchet
FTO @ Frog Thinker
Open Source Development & Consulting
--
Web: http://www.frogthinker.org
email: [EMAIL PROTECTED]
Skype: emmanuel_cecchet
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia