Whitepapers

Database sharding with MySQL fabric

Why do we shard? How does sharding work? What are the different ways I can shard my database? This white paper goes through some of the theory behind sharding. It also discusses three different tools which are designed to help users shard their MySQL databases. And last but not least, it shows you how to set up a sharded MySQL setup based on MySQL Fabric and ProxySQL.

What we’ll cover in this white paper

  • 1. Why Sharding?
  • 2. How does Sharding work?
    • 2.1. Functional sharding
    • 2.2. Expression-based sharding
    • 2.3. Metadata-based sharding
  • 3. Sharding solutions
    • 3.1. Vitess
      • 3.1.1. Tablets
      • 3.1.2. How sharding works in Vitess?
      • 3.1.3. Migration into Vitess cluster
    • 3.2. MySQL Fabric
      • 3.2.1. High availability in MySQL Fabric
      • 3.2.2. Scaling out with MySQL Fabric
      • 3.2.3. Query routing in MySQL Fabric
  • 4. Migrating into sharded environment with MySQL Fabric
    • 4.1. Environment overview
    • 4.2. Setting up MySQL Fabric
      • 4.2.1. Installation
      • 4.2.2. Initial setup
      • 4.2.3. Setting up global replication group
      • 4.2.4. Define shard mappings
      • 4.2.5. Creating shards
    • 4.3. Setting up MySQL Router
      • 4.3.1. Installation of MySQL Router
      • 4.3.2. Configuring MySQL Router
    • 4.4. Configuring ProxySQL for sharding
      • 4.4.1. Configuring hostgroups
      • 4.4.2. Configuring query rules
      • 4.4.3. Testing of query rules
    • 4.5. Cutover process
      • 4.5.1. Preparations
      • 4.5.2. Cutover
      • 4.5.3. Cleanup
    • 4.6. Typical operations in MySQL Fabric sharded environment
      • 4.6.1. Add node to shard
      • 4.6.2. Remove node from a shard
      • 4.6.3. Promote a secondary node in a shard
      • 4.6.4. Move shard to a different high availability group
      • 4.6.5. Splitting the shard
    • 4.7. High availability aspect
  • 5. Summary

Subscribe below to be notified of fresh posts