We have a pretty busy site based on Drupal and I was thinking of introducing some form of clustering for HA and Load balancing.

However, http://drupal.org/requirements says: Drupal supports MyISAM and InnoDB table types. NDB tables (MySQL Cluster) are not supported.

Does that mean I can't use a MySQL cluster to run Drupal? Or did I get that wrong?

Also, how many servers(virtual or physical) would we need to guarantee redundancy for a Drupal site? What software should I be using? I have googled for days and apparently there are many options available so a bit confused here..

  • "Not supported" can mean many things. It can mean "won't work", or it can mean "works fine but don't ask us if it breaks". With Drupal, there are usually much easier ways of scaling your site. If the db is truly your bottleneck, just having some MySQL read-only slaves can help dramatically.
    – ceejayoz
    Feb 17 '12 at 21:16
  • I looked into having read only slaves as well. But in that case, what happens when the master goes down? Can I configure one of the slaves to automatically become master so the site continue to function normally?
    – Debianuser
    Feb 24 '12 at 11:31
  • Yes, that's possible. It's somewhat complicated, but well worth it for reliability.
    – ceejayoz
    Feb 24 '12 at 14:39

This is the use case for MySQL Cluster.

Check out Percona XtraDB Cluster (based on Galera) for a similar (i.e. synchronous) solution for use with web applications. Note that it is an alpha release but it is probably the most promising solution out there today. Schooner also has a synchronous solution. There is also Continuent's Tungsten although it is an asynchronous solution.

Hope this helps.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.