Managed Database Clusters
High performance, high availability database clusters for MySQL, MariaDB, and PostgreSQL with automatic replication, vertical and horitzontal scaling.
Database Clusterization
Database clusterization is a necessity for highly loaded production applications to ensure data availability and high performance. However, the configuration of a reliable cluster is not a trivial task even for experienced developers and system administrators.
Togglebox Platform-as-a-Service (PaaS) solves this by offering out-of-the-box clustering for MySQL, MariaDB and PostgreSQL to make applications highly available by default. Multiple replication methods are available for automatic deployment, and clusters can automatically scale both hortiontally and vertically.
Benefits of Database Clusters
Replication Types
Master-Slave Replication
Master-slave replication is the most common used topology, that provides a good consistency (i.e. exactly one node to modify data), but no automatic failover upon master failure. Write latency in asynchronous replication is low because the write is recorded locally by the master server before writing to the slave servers. It allows to scale-out the reads, providing the highest performance, since adding more replicas does not affect replication latency. Slaves can be read without impact on the master, providing such obvious advantages as:
- High performance for read requests
- Database backup can be done with no impact on master instance
- Analytical requests can load the slave instance only without affecting the master
Master-Master Replication
Master-master asynchronous replication operates with two master nodes simultaneously, Compared to the default master-slave solution, it benefits on the balancing of writing load and simpler recovery upon one master node failure.
- High performance for write requests
- Higher fault tolerance
Galera
Galera cluster is a type of multi-master synchronous replication which is performed at a transaction commit time, by broadcasting transaction write set to all cluster nodes for applying and makes sure the write that was sent to all nodes in the cluster before this write will be actually committed.
- High fault tolerance
- Protects against data inconsistences