Choosing a Database Proxy for MySQL and MariaDB

This whitepaper discusses what database proxies are, what their use is and how to build a highly available and highly controllable MySQL and MariaDB database environment using modern proxies.

Get the whitepaper

Introducton

This whitepaper discusses what database proxies are, what their use is and how to build a highly available and highly controllable MySQL and MariaDB database environment using modern proxies.

Table of contents

  • 1. Introduction
    • 1.1. What Is a Database Proxy?
    • 1.2. Proxy Types
      • 1.2.1. Layer 4 Proxies
      • 1.2.2. SQL-Aware Proxies
  • 2. Features of Advanced, SQL-Aware Proxies
    • 2.1. Query Routing
    • 2.2. Query Rewriting
    • 2.3. Query Caching
    • 2.4. Traffic Control
      • 2.4.1. Kill a Query
      • 2.4.2. Slow Down Traffic
  • 3. Designing Highly Available Proxy Architecture
    • 3.1. Dedicated Proxy Instances
      • 3.1.1. A Proxy with a Virtual IP Assigned
      • 3.1.2. Elastic Load Balancing
      • 3.1.3. Application-Side Proxy Discovery
    • 3.2. Collocating Proxies on Application Hosts
    • 3.3. Silo Approach
  • 4. Managing Large Proxy Deployments
  • 5. Setting up Highly Available Proxy Layers with ClusterControl
    • 5.1. ProxySQL Deployment
    • 5.2. HAProxy Deployment
  • 6. Which Proxy Should I Pick?
    • 6.1. SQL-Aware Proxy or Not?
    • 6.2. Which SQL-Aware Proxy Should Be Chosen?
ClusterControl
The only management system you’ll ever need to take control of your open source database infrastructure.