mysql ha sharding-fabric

35
WEBINAR on MySQL Fabric For HA and Scaling Out Presented By Abdul Manaf

Upload: abdul-manaf

Post on 21-Feb-2017

151 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MySQL HA Sharding-Fabric

WEBINAR on

MySQL Fabric For HA and Scaling Out

Presented ByAbdul Manaf

Page 2: MySQL HA Sharding-Fabric

OSSCube Corporate Capabilities

Page 3: MySQL HA Sharding-Fabric

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.

Page 4: MySQL HA Sharding-Fabric

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

Page 5: MySQL HA Sharding-Fabric

Agenda

• Concept of HA

• Concept of Sharding

• MySQL Fabric Basics

• MySQL Fabric for HA

• MySQL Fabric for Sharding

• Some commands for Configuration & Installation

Page 6: MySQL HA Sharding-Fabric

High Availability

Page 7: MySQL HA Sharding-Fabric

High Availability

Page 8: MySQL HA Sharding-Fabric

Availability Calculation

Page 9: MySQL HA Sharding-Fabric

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 downtimeCauses of losing it (unscheduled downtime)• Failures of hosts , Databases / MySQL• Operating system• The hardware • Maintenance activity that may otherwise cause downtime• And many more ……

Page 10: MySQL HA Sharding-Fabric

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

Page 11: MySQL HA Sharding-Fabric

So what is MySQL Replication?

Replication copies transactions from the master and replays them to the slave

Page 12: MySQL HA Sharding-Fabric

Sharding

Page 13: MySQL HA Sharding-Fabric

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.

Page 14: MySQL HA Sharding-Fabric

(Sharding) Tumblrʼs Size and Growth

Page 15: MySQL HA Sharding-Fabric

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

Page 16: MySQL HA Sharding-Fabric

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).

Page 17: MySQL HA Sharding-Fabric

MySQL FabricAn extensible and easy-to-use framework for

managing a farm of MySQL server supporting high-availability and sharding

Page 18: MySQL HA Sharding-Fabric

MySQL Fabric: What is it?

Page 19: MySQL HA Sharding-Fabric

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

Page 20: MySQL HA Sharding-Fabric

High Availability, MySQL Fabric

• Group of MySQL servers

• Primary server

• Secondary servers

• GTID based replication to work

• MySQL 5.6 +

Page 21: MySQL HA Sharding-Fabric

MySQL Fabric , HA

What Fabric Provides in terms of HA

• Failure detection and promotion

• Routing of database

Page 22: MySQL HA Sharding-Fabric

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.

Page 23: MySQL HA Sharding-Fabric

MySQL Fabric , Sharding

Page 24: MySQL HA Sharding-Fabric

Birds-eye View of a Sharded Database

Page 25: MySQL HA Sharding-Fabric

MySQL Fabric: Configuration

Page 26: MySQL HA Sharding-Fabric

MySQL Fabric: Setup and Teardown

Page 27: MySQL HA Sharding-Fabric

MySQL Fabric: Starting and Stopping

Page 28: MySQL HA Sharding-Fabric

Sharding Architecture

Page 29: MySQL HA Sharding-Fabric

MySQL Fabric: Sharding Setup

Page 30: MySQL HA Sharding-Fabric

MySQL Fabric: Create Groups and add Servers

Page 31: MySQL HA Sharding-Fabric

MySQL Fabric: Create Groups and add Servers

Page 32: MySQL HA Sharding-Fabric

MySQL Fabric: Set up Shard Mapping

Page 33: MySQL HA Sharding-Fabric

MySQL Fabric: Add Shards

Page 34: MySQL HA Sharding-Fabric

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

Page 35: MySQL HA Sharding-Fabric

Thanks !

For queries please write to

[email protected]

Q & A