What is the difference between SQL clustering and MySQL clustering?
What is SQL clustering?
SQL (Structured Query Language) clustering is a type of clustering which is when two or more servers are configured to operate as a single virtual SQL server to support database transactions.
Should one SQL server fail in the cluster, another clustered server will automatically take over, keeping downtime to minutes rather than hours or days as in normal circumstances. Clients will notice little, if any differences during this time.
It’s important to remember that clustering is not a complete backup system for applications. It is only one aspect of a multi-part strategy required to ensure minimum downtime and 100% recoverability.
When choosing clustering for a dedicated server, there are two primary clustering methods:
- Active-Active: both servers in the cluster process the transactions typically at 50% of the total resources. This is because either server can failover to the other so that a single server would be responsible for the transactions of both servers.
- Active-Passive: only one server in the cluster processes the transactions. The second server only processes transactions if the first server fails. To run in this mode the servers require additional replication management software.
Click here to find out more about SQL clustering.
What is MySQL clustering?
Full MySQL clustering offers 99.999% availability and provides both failover resilience and increased database performance. MySQL clustered solutions are ideally suited for mission critical projects where downtime, of any length, is unacceptable.
Because data is stored in the server's main memory (RAM) and not on the hard disk, database transactions can be processed exceptionally quickly. Clustering requires three or more nodes which are configured to operate as a single virtual MySQL server.
A typical configuration would have two load balanced Web/MySQL servers and a third MySQL server, known as a management node.
MySQL clustering provides no single point of failure with the added advantage of geographical flexibility. Customers can opt to have their environment clustered across data centres using shared or private IP LAN or VLAN for additional redundancy, if required.
Scalability is a key concern for many companies predicting fast or future growth. Clustered solutions can be scaled quickly by simply dropping in further front-end servers behind the load balancer, and adding database servers to the cluster.
Click here to find out more about MySQL clustering.
Why is clustering needed for SQL or MySQL servers?
- High availability provides no single point of failure. So if a node fails, the next server will back it up, which means no downtime for any of your sites.
- Load balancing spreads work evenly between the nodes in the cluster, allowing all of the websites to be quicker.
- Scalability allows the expansion of a cluster as a clients company grows.
- They are easy to manage and administer because the nodes in the cluster are handled as one single system.