SlideShare a Scribd company logo
1 of 35
WEBINAR
on
MySQL Fabric
For HA and Scaling Out
Presented By
Abdul Manaf
OSSCube Corporate Capabilities
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.
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
Agenda
• Concept of HA
• Concept of Sharding
• MySQL Fabric Basics
• MySQL Fabric for HA
• MySQL Fabric for Sharding
• Some commands for Configuration &
Installation
High Availability
High Availability
Availability Calculation
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 ……
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
So what is MySQL Replication?
Replication copies transactions from the master and
replays them to the slave
Sharding
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.
(Sharding) Tumblrʼs Size and Growth
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
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).
MySQL Fabric
An extensible and easy-to-use framework for
managing a farm of MySQL server supporting high-
availability and sharding
MySQL Fabric: What is it?
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
High Availability, MySQL Fabric
• Group of MySQL servers
• Primary server
• Secondary servers
• GTID based replication to work
• MySQL 5.6 +
MySQL Fabric , HA
What Fabric Provides in terms of HA
• Failure detection and promotion
• Routing of database
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.
MySQL Fabric , Sharding
Birds-eye View of a Sharded Database
MySQL Fabric: Configuration
MySQL Fabric: Setup and Teardown
MySQL Fabric: Starting and Stopping
Sharding Architecture
MySQL Fabric: Sharding Setup
MySQL Fabric: Create Groups and add Servers
MySQL Fabric: Create Groups and add Servers
MySQL Fabric: Set up Shard Mapping
MySQL Fabric: Add Shards
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
Thanks !
For queries please write to
abdul@osscube.com
Q & A

More Related Content

What's hot

Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Ontico
 
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...jaxLondonConference
 
Webinar | Introducing DataStax Enterprise 4.6
Webinar | Introducing DataStax Enterprise 4.6Webinar | Introducing DataStax Enterprise 4.6
Webinar | Introducing DataStax Enterprise 4.6DataStax
 
Managing MySQL Scale Through Consolidation
Managing MySQL Scale Through ConsolidationManaging MySQL Scale Through Consolidation
Managing MySQL Scale Through ConsolidationNetApp
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0Ted Wennmark
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
Helsinki Cassandra Meetup #2: Introduction to CQL3 and DataModeling
Helsinki Cassandra Meetup #2: Introduction to CQL3 and DataModelingHelsinki Cassandra Meetup #2: Introduction to CQL3 and DataModeling
Helsinki Cassandra Meetup #2: Introduction to CQL3 and DataModelingBruno Amaro Almeida
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineKangaroot
 
Maria db vs mysql
Maria db vs mysqlMaria db vs mysql
Maria db vs mysqlNitin KR
 
Cassandra tech talk
Cassandra tech talkCassandra tech talk
Cassandra tech talkSatish Mehta
 
Apache Cassandra and The Multi-Cloud by Amanda Moran
Apache Cassandra and The Multi-Cloud by Amanda MoranApache Cassandra and The Multi-Cloud by Amanda Moran
Apache Cassandra and The Multi-Cloud by Amanda MoranData Con LA
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialColin Charles
 
Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Gavin Heavyside
 
Scaling Your Database in the Cloud
Scaling Your Database in the CloudScaling Your Database in the Cloud
Scaling Your Database in the CloudRightScale
 
Архитектура приложений с использованием MySQL, Петр Зайцев (Percona)
Архитектура приложений с использованием MySQL, Петр Зайцев (Percona)Архитектура приложений с использованием MySQL, Петр Зайцев (Percona)
Архитектура приложений с использованием MySQL, Петр Зайцев (Percona)Ontico
 
Choosing the right Cloud Database
Choosing the right Cloud DatabaseChoosing the right Cloud Database
Choosing the right Cloud DatabaseJanakiram MSV
 
Sql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureSql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureMarco Obinu
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLColin Charles
 

What's hot (20)

Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)
 
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
 
Webinar | Introducing DataStax Enterprise 4.6
Webinar | Introducing DataStax Enterprise 4.6Webinar | Introducing DataStax Enterprise 4.6
Webinar | Introducing DataStax Enterprise 4.6
 
Storage for VDI
Storage for VDIStorage for VDI
Storage for VDI
 
Managing MySQL Scale Through Consolidation
Managing MySQL Scale Through ConsolidationManaging MySQL Scale Through Consolidation
Managing MySQL Scale Through Consolidation
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
Helsinki Cassandra Meetup #2: Introduction to CQL3 and DataModeling
Helsinki Cassandra Meetup #2: Introduction to CQL3 and DataModelingHelsinki Cassandra Meetup #2: Introduction to CQL3 and DataModeling
Helsinki Cassandra Meetup #2: Introduction to CQL3 and DataModeling
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
 
Maria db vs mysql
Maria db vs mysqlMaria db vs mysql
Maria db vs mysql
 
Cassandra tech talk
Cassandra tech talkCassandra tech talk
Cassandra tech talk
 
Apache Cassandra and The Multi-Cloud by Amanda Moran
Apache Cassandra and The Multi-Cloud by Amanda MoranApache Cassandra and The Multi-Cloud by Amanda Moran
Apache Cassandra and The Multi-Cloud by Amanda Moran
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
 
Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011
 
Scaling Your Database in the Cloud
Scaling Your Database in the CloudScaling Your Database in the Cloud
Scaling Your Database in the Cloud
 
Архитектура приложений с использованием MySQL, Петр Зайцев (Percona)
Архитектура приложений с использованием MySQL, Петр Зайцев (Percona)Архитектура приложений с использованием MySQL, Петр Зайцев (Percona)
Архитектура приложений с использованием MySQL, Петр Зайцев (Percona)
 
Choosing the right Cloud Database
Choosing the right Cloud DatabaseChoosing the right Cloud Database
Choosing the right Cloud Database
 
Sql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su AzureSql Start! 2020 - SQL Server Lift & Shift su Azure
Sql Start! 2020 - SQL Server Lift & Shift su Azure
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
 

Viewers also liked

Sumith_SE_EXP_3yr
Sumith_SE_EXP_3yrSumith_SE_EXP_3yr
Sumith_SE_EXP_3yrSumith R
 
ordination_license_Eplin
ordination_license_Eplinordination_license_Eplin
ordination_license_EplinKenny Eplin
 
Networking topics like ISP,DNS etc
Networking topics like ISP,DNS etcNetworking topics like ISP,DNS etc
Networking topics like ISP,DNS etcKamlesh Nishad
 
非常嬌點Vol.1 - 陳宜廷 - 1個人105天9國30城的北歐之旅
非常嬌點Vol.1 - 陳宜廷 - 1個人105天9國30城的北歐之旅非常嬌點Vol.1 - 陳宜廷 - 1個人105天9國30城的北歐之旅
非常嬌點Vol.1 - 陳宜廷 - 1個人105天9國30城的北歐之旅交點
 
ANSYS_Pressure_Equipment_Seminar
ANSYS_Pressure_Equipment_SeminarANSYS_Pressure_Equipment_Seminar
ANSYS_Pressure_Equipment_SeminarJanet Wolf, PE
 
Foe what it's all worth.mini.series.html.doc
Foe what it's all worth.mini.series.html.docFoe what it's all worth.mini.series.html.doc
Foe what it's all worth.mini.series.html.dockhristianj
 
Fich ortogragfia am_an
Fich ortogragfia am_anFich ortogragfia am_an
Fich ortogragfia am_anangela_costa
 

Viewers also liked (12)

Memorias grupo 1
Memorias grupo 1Memorias grupo 1
Memorias grupo 1
 
Sumith_SE_EXP_3yr
Sumith_SE_EXP_3yrSumith_SE_EXP_3yr
Sumith_SE_EXP_3yr
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
 
ordination_license_Eplin
ordination_license_Eplinordination_license_Eplin
ordination_license_Eplin
 
Networking topics like ISP,DNS etc
Networking topics like ISP,DNS etcNetworking topics like ISP,DNS etc
Networking topics like ISP,DNS etc
 
非常嬌點Vol.1 - 陳宜廷 - 1個人105天9國30城的北歐之旅
非常嬌點Vol.1 - 陳宜廷 - 1個人105天9國30城的北歐之旅非常嬌點Vol.1 - 陳宜廷 - 1個人105天9國30城的北歐之旅
非常嬌點Vol.1 - 陳宜廷 - 1個人105天9國30城的北歐之旅
 
Talend_Certificate
Talend_CertificateTalend_Certificate
Talend_Certificate
 
ANSYS_Pressure_Equipment_Seminar
ANSYS_Pressure_Equipment_SeminarANSYS_Pressure_Equipment_Seminar
ANSYS_Pressure_Equipment_Seminar
 
Stratifikasi sosial
Stratifikasi sosialStratifikasi sosial
Stratifikasi sosial
 
Cap 08 vias-aereas
Cap 08 vias-aereasCap 08 vias-aereas
Cap 08 vias-aereas
 
Foe what it's all worth.mini.series.html.doc
Foe what it's all worth.mini.series.html.docFoe what it's all worth.mini.series.html.doc
Foe what it's all worth.mini.series.html.doc
 
Fich ortogragfia am_an
Fich ortogragfia am_anFich ortogragfia am_an
Fich ortogragfia am_an
 

Similar to MySQL HA Sharding-Fabric

Scaling MySQL Using Fabric
Scaling MySQL Using FabricScaling MySQL Using Fabric
Scaling MySQL Using FabricRemote MySQL DBA
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using FabricKarthik .P.R
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterContinuent
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQLWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQLContinuent
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlContinuent
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted CloudColin Charles
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive WritesLiran Zelkha
 
Maria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityMaria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityOSSCube
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera ClusterAbdul Manaf
 
MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)Colin Charles
 
The MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inThe MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inSakari Keskitalo
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialColin Charles
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud Colin Charles
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015Colin Charles
 
MySQL: Scale Through Consolidation Webinar
MySQL: Scale Through Consolidation Webinar MySQL: Scale Through Consolidation Webinar
MySQL: Scale Through Consolidation Webinar NetApp
 
MariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started TutorialMariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started Tutorialphamhphuc
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么YUCHENG HU
 
MariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectMariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectColin Charles
 

Similar to MySQL HA Sharding-Fabric (20)

Scaling MySQL Using Fabric
Scaling MySQL Using FabricScaling MySQL Using Fabric
Scaling MySQL Using Fabric
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQLWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
 
MySQL overview
MySQL overviewMySQL overview
MySQL overview
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
 
Maria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityMaria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High Availability
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
 
MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)
 
The MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inThe MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits in
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015
 
MySQL in the Cloud
MySQL in the CloudMySQL in the Cloud
MySQL in the Cloud
 
MySQL: Scale Through Consolidation Webinar
MySQL: Scale Through Consolidation Webinar MySQL: Scale Through Consolidation Webinar
MySQL: Scale Through Consolidation Webinar
 
MariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started TutorialMariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started Tutorial
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么
 
MariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectMariaDB 10 and what's new with the project
MariaDB 10 and what's new with the project
 

MySQL HA Sharding-Fabric

  • 1. WEBINAR on MySQL Fabric For HA and Scaling Out Presented By Abdul Manaf
  • 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. 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. Agenda • Concept of HA • Concept of Sharding • MySQL Fabric Basics • MySQL Fabric for HA • MySQL Fabric for Sharding • Some commands for Configuration & Installation
  • 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. 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. So what is MySQL Replication? Replication copies transactions from the master and replays them to the slave
  • 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.
  • 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. 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. MySQL Fabric An extensible and easy-to-use framework for managing a farm of MySQL server supporting high- availability and sharding
  • 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. High Availability, MySQL Fabric • Group of MySQL servers • Primary server • Secondary servers • GTID based replication to work • MySQL 5.6 +
  • 21. MySQL Fabric , HA What Fabric Provides in terms of HA • Failure detection and promotion • Routing of database
  • 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. MySQL Fabric , Sharding
  • 24. Birds-eye View of a Sharded Database
  • 26. MySQL Fabric: Setup and Teardown
  • 27. MySQL Fabric: Starting and Stopping
  • 30. MySQL Fabric: Create Groups and add Servers
  • 31. MySQL Fabric: Create Groups and add Servers
  • 32. MySQL Fabric: Set up Shard Mapping
  • 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. Thanks ! For queries please write to abdul@osscube.com Q & A