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 @ http://www.osscube.com/
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.
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.
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