ClusterControl for ProxySQL

Enabling MySQL, MariaDB and Percona database systems to easily manage intense, high-traffic database applications

The All-inclusive Open Source Database Management System - Load Balancing

Applications should not need to know anything about your database infrastructure or handle failover, but that level of transparency is not trivial to achieve. Databases can be distributed across multiple servers, sometimes across multiple datacenters using various replication technologies in active-active or active-standby configurations. Applications should not stop to handle requests because of a failed or overloaded database server, while others might have plenty of resources to handle requests - do you really want to handle database failover and load balancing in your applications? Master-slave replication topologies often require applications to only write to masters, and read from slaves. In dynamic environments, master failover can happen automatically, at any time. Read only servers might need to be added or removed without notice - Do you really want to handle these dynamic infrastructure changes in your applications?

Database load balancers are an essential component in the database high availability stack. They are the endpoints that your applications talk to, in order to access their data while hiding the complexity of the underlying database infrastructure. Because of ProxySQL’s ability to understand the MySQL protocol, it is uniquely suited to manage the database traffic between applications and backend database servers. It has an advanced multi-core architecture to handle large number of connections, multiplexed to potentially hundreds of backend servers.

Packaged in ClusterControl, ProxySQL enables MySQL, MariaDB and Percona XtraDB database systems to easily manage intense, high-traffic database applications without losing availability or requiring applications to understand the database infrastructure.

Benefits of ClusterControl for ProxySQL

Easily deploy and manage your ProxySQL deployments

High Availability Deployment & Management

Deploy distributed setups and keep query rules, users and other settings in sync across multiple instances, set up transparent failover with Keepalived and Virtual IP. Automate health checks for master-slave replication or Galera clusters.

Simple UI & Performance Insights

A clear view of ProxySQL performance like connections, queries, data transfer and utilization, and more. Easily make zero downtime dynamic changes to your ProxySQL instances to further fine tune performance and optimize resource usage.

Complete Workload Management

View your most time consuming queries, create query rules. Cache, re-write or re-route queries on the fly. Easily manage hostgroups for read/write splits.

ClusterControl for ProxySQL Feature Highlights

Application-level load balancing

ProxySQL understands the MySQL protocol and for that reason can provide advanced control on how to handle database transactions. Use sticky queries, set priorities for important queries, or even prevent queries from being executed (firewall).

Query caching

Applications that request the same dataset over and over again, easily generate unnecessary load. ProxySQL can cache results for a configurable timespan, in native MySQL packets format. This also reduces the need for a separate caching layer (e.g. Redis or Memcached) to manage.

Query routing

ProxySQL has an advanced matching engine, and is able to route different queries based for example on performance metrics to separate groups of servers, aka hostgroups. You can of course also, forward writes to a master and reads to slaves.

Query re-writing

The development team doesn't need to rewrite queries generated by ORMs or software that cannot be easily modified. ProxySQL has a query rewriting feature, that empowers the admin to dynamically modify the query at proxy level. For instance, slow and inefficient queries can be rewritten, and that has a direct impact on database performance.

Query analytics

Traffic that goes through ProxySQL generates in-depth queries statistics. It does not require any extra load on the database server by having to enable, e.g., the slow query log. Use ClusterControl to detect poorly written and non-performing queries, and gain in-sight to further optimize your application performance.

Sharding

ProxySQL can easily support sharding using its advanced rule engine. Shard by host, schema or a combination between the two. This requires minimal modifications to application and queries.

Start Using ClusterControl for ProxySQL