Buy Percona SupportBuy Now

About Percona XtraDB Cluster

Percona XtraDB Cluster is open-source, free MySQL High Availability software

General introduction

  1. The Cluster consists of Nodes. Recommended configuration is to have at least 3 nodes, but you can make it running with 2 nodes as well.
  2. Each Node is regular MySQL / Percona Server setup. The point is that you can convert your existing MySQL / Percona Server into Node and roll Cluster using it as a base. Or otherwise – you can detach Node from Cluster and use it as just a regular server.
  3. Each Node contains the full copy of data.
_images/cluster-diagram1.png

Benefits and Drawbacks

Benefits:
  • When you execute a query, it is executed locally on the node. All data is available locally, no need for remote access.
  • No central management. You can loose any node at any point of time, and the cluster will continue to function.
  • Good solution for scaling a read workload. You can put read queries to any of the nodes.
Drawbacks:
  • Overhead of joining new node. The new node has to copy full dataset from one of existing nodes. If it is 100GB, it copies 100GB.
  • This can’t be used as an effective write scaling solution. There might be some improvements in write throughput when you run write traffic to 2 nodes vs all traffic to 1 node, but you can’t expect a lot. All writes still have to go on all nodes.
  • You have several duplicates of the data, for 3 nodes - 3 duplicates.

Components

Percona XtraDB Cluster is based on Percona Server with XtraDB and includes Write Set Replication patches. It uses the Galera library, version 3.x, a generic Synchronous Multi-Master replication plugin for transactional applications.

Galera library is developed by Codership Oy.

Galera 3.x supports such new features as:
  • Incremental State Transfer (IST), especially useful for WAN deployments,
  • RSU, Rolling Schema Update. Schema change does not block operations against table.
This documentation is developed in Launchpad as part of the Percona XtraDB Cluster 5.6.
If you spotted innacuracies, errors, don't understood it or you think something is missing or should be improved, please file a bug.


General Inquiries

For general inquiries, please send us your question and someone will contact you.