Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Using MySQL Fabric for High Availability and Scaling Out


Published on

MySQL Fabric is an extensible framework for managing farms of MySQL Servers. In this webinar, you will learn what MySQL Fabric is, what it can achieve and how it is used by database administrators and developers. Plus, you will learn how MySQL Fabric can help for sharding and high-availability. See more @

  • Be the first to comment

Using MySQL Fabric for High Availability and Scaling Out

  1. 1. WEBINAR on MySQL Fabric For HA and Scaling Out Presented By Abdul Manaf
  2. 2. OSSCube Corporate Capabilities
  3. 3. Who Are We • Global Solutions Provider having offices in the US, UK and India. • We offer complete solutions in the domain of Digital Transformation, IT Modernization and IoT. • Appraised at CMMI Level 3, we've been amongst the top 100 Great Places to Work® for three consecutive (2014, 2015 & 2016) years. • We’ve delivered enterprise solutions to the likes of The New York Times, PVR Cinemas, ACER, Intel, CU Solutions, among others.
  4. 4. Digital Transformation Practice • PIM (Product Information Management) • WCM (Web Content Management) • DAM (Digital Asset Management) • e-Commerce Modernization Practice • Cloud • Enterprise Mobility • Application Modernization IOT Practice • SMART Track & Trace • Product Lifecycle Management • Big Data - Analytics © 2015 OSSCube LLC. All rights reserved. What We Do
  5. 5. Agenda • Concept of HA • Concept of Sharding • MySQL Fabric Basics • MySQL Fabric for HA • MySQL Fabric for Sharding • Some commands
  6. 6. High Availability
  7. 7. High Availability
  8. 8. Availability Calculation
  9. 9. Principles and Causes of loosing HA Principles of High Availability • Elimination of single points of failure • Reliable crossover. In multi threaded systems, the crossover point itself tends to become a single point of failure. • Detection of failures as they occur. If the two principles above are observed, then a user may never see a failure. But the maintenance activity must. Scheduled and unscheduled downtime Causes of losing it (unscheduled downtime) • Failures of hosts , Databases / MySQL • Operating system • The hardware • Maintenance activity that may otherwise cause downtime • And many more ……
  10. 10. MySQL HA Solutions HA is achieved via redundancy The primary solutions supported by MySQL include: • MySQL Native Replication • MySQL Cluster • MySQL with DRBD • Galera Cluster • Oracle VM Template for MySQL • MySQL with Solaris Cluster
  11. 11. So what is MySQL Replication? Replication copies transactions from the master and replays them to the slave
  12. 12. Sharding
  13. 13. Sharding • Sharding is a type of database partitioning that separates very large databases into smaller, faster, more easily managed parts called data shards. • The word shard means a small part of a whole.
  14. 14. (Sharding) Tumblrʼs Size and Growth
  15. 15. Why Sharding? Write scalability • No other way to scale writes beyond the limits of one machine • During peak insert times, you'll likely start hitting lag on slaves before your master shows a concurrency problem Data size • Working set won't fit in RAM • SSD performance drops as disk fills up • Risk of completely full disk • Operational difficulties: slow backups, longer to spin up new slaves • Fault isolation: all of your data in one place = single point of failure affecting all users
  16. 16. Make Sharding Your Last Resort • Optimize everything else first, and then if the performance still isn’t good enough, it’s time to take a very bitter medicine • The application developer has to write more code to be able to handle sharding logic • Operational issues become more difficult (backing up, adding indexes, changing schema).
  17. 17. MySQL Fabric An extensible and easy-to-use framework for managing a farm of MySQL server supporting high- availability and sharding
  18. 18. MySQL Fabric: What is it?
  19. 19. General Concepts , MySQL Fabric • Group : collection of mysqld servers • Global group : Special groups that store updates that must be propagated to all shards • Node : Running instance of MySQL Fabric • Shard : Horizontal partition of data in a table • Primary : Group member that has been designated master • Secondary : Group member that is read only
  20. 20. High Availability, MySQL Fabric • Group of MySQL servers • Primary server • Secondary servers • GTID based replication to work • MySQL 5.6 +
  21. 21. MySQL Fabric , HA What Fabric Provides in terms of HA • Failure detection and promotion • Routing of database
  22. 22. MySQL Fabric , Sharding • Used to scale-out the database servers by partitioning the data across multiple MySQL Server "groups". • Group could contain a single MySQL Server or it could be a HA group.
  23. 23. MySQL Fabric , Sharding
  24. 24. Birds-eye View of a Sharded Database
  25. 25. MySQL Fabric: Configuration
  26. 26. MySQL Fabric: Setup and Teardown
  27. 27. MySQL Fabric: Starting and Stopping
  28. 28. Sharding Architecture
  29. 29. MySQL Fabric: Sharding Setup
  30. 30. MySQL Fabric: Create Groups and add Servers
  31. 31. MySQL Fabric: Create Groups and add Servers
  32. 32. MySQL Fabric: Set up Shard Mapping
  33. 33. MySQL Fabric: Add Shards
  34. 34. Current Limitations • Sharding is not completely transparent to the application. • Auto-increment columns cannot be used as a sharding key • The MySQL Fabric process itself is not fault- tolerant and must be restarted in the event of it failing • Because the connectors perform the routing function, which could add extra latency
  35. 35. Thanks ! For queries please write to Q & A