Percona XtraDB Cluster · FAQ Questions I am asked Percona XtraDB Cluster . It looks so easy. Why...

Post on 07-Mar-2021

9 views 0 download

Transcript of Percona XtraDB Cluster · FAQ Questions I am asked Percona XtraDB Cluster . It looks so easy. Why...

Percona XtraDB Cluster powered by Galera

Peter Zaitsev CEO, Percona

Slide Credits: Vadim Tkachenko Percona University,

Washington,DC Sep 12,2013

This talk

High Availability

Replication

Cluster

Percona XtraDB Cluster

What is HA

Availability

Avail ~ Ability

Ability to Avail

Percona XtraDB Cluster

Availability by redundancy

Percona XtraDB Cluster

Duplicate resources

Percona XtraDB Cluster

Failover

Percona XtraDB Cluster

Probability of failure

Single server: P

Two servers: P/2

X servers: P/X

Percona XtraDB Cluster

Probability of failure

1 2 3 4 5 6 7 8 9 10

Pro

bab

ilit

y o

f fa

ilu

re

N of servers

Percona XtraDB Cluster

Easy ?

Not if we deal with databases

Percona XtraDB Cluster

Database

Percona XtraDB Cluster

Redundancy ?

Percona XtraDB Cluster

Database availability is hard

Service availability

Data availability

Percona XtraDB Cluster

Replication

Percona XtraDB Cluster

Percona XtraDB Cluster

What is wrong with MySQL replication ?

“a”

Percona XtraDB Cluster

What is wrong with MySQL replication ?

“a” in async

Percona XtraDB Cluster

What is wrong with MySQL replication ?

“async”

vs

“sync”

Percona XtraDB Cluster

Async

Percona XtraDB Cluster

Async

Percona XtraDB Cluster

sync

Percona XtraDB Cluster

Didn’t we just reinvent

DRBD ?

Percona XtraDB Cluster

DRBD

Percona XtraDB Cluster

Clustering

Percona XtraDB Cluster

Percona XtraDB Cluster

Free and Open Source

Percona XtraDB Cluster

Percona XtraDB Cluster

Percona XtraDB Cluster

Synchronous or Virtually

synchronous

http://en.wikipedia.org/wiki/Virtual_synchrony

Percona XtraDB Cluster

Virtually synchronous

Percona XtraDB Cluster

synchronous replication

multi-master replication

parallel applying on

slaves

data consistency

automatic node

provisioning

Percona XtraDB Cluster

synchronous replication

multi-master replication

parallel applying on

slaves

data consistency

automatic node

provisioning

Percona XtraDB Cluster

Multi-master: MySQL

Percona XtraDB Cluster

Multi-master: XtraDB Cluster

Percona XtraDB Cluster

synchronous replication

multi-master replication

parallel applying on

slaves

data consistency

automatic node

provisioning

Percona XtraDB Cluster

Parallel apply: MySQL

Percona XtraDB Cluster

Parallel apply: XtraDB Cluster

Percona XtraDB Cluster

synchronous replication

multi-master replication

parallel applying on

slaves

data consistency

automatic node

provisioning

Percona XtraDB Cluster

XtraDB Cluster data consistency

Percona XtraDB Cluster

synchronous replication

multi-master replication

parallel applying on

slaves

data consistency

automatic node

provisioning

Percona XtraDB Cluster

Node provisioning

Percona XtraDB Cluster

CAP theorem

http://en.wikipedia.org/wiki/CAP_theorem

Percona XtraDB Cluster

Pick only TWO

Consistency Node

availability

Partition Tolerance

Percona XtraDB Cluster

Network failure

Percona XtraDB Cluster

MySQL Replication

Percona XtraDB Cluster

Access to all systems -

YES

Data consistency -

NO

XtraDB Cluster

Percona XtraDB Cluster

Access to all systems -

NO

Data consistency -

YES

3 nodes is the minimal

recommended configuration

Percona XtraDB Cluster

Split brain

Percona XtraDB Cluster

Which system to make available

?

Split brain

Percona XtraDB Cluster

But you deal with consequences

You still can have this setup

Choice

Percona XtraDB Cluster

MySQL Replication:

Access to all systems

Data consistency

XtraDB Cluster:

MySQL replication based

MMM

MHA

Flipper

PRM

Percona XtraDB Cluster

Percona XtraDB Cluster

details

Percona XtraDB Cluster

Percona

XtraDB Cluster

Percona Server

WSREP patches

Galera library

Percona XtraDB Cluster

Partnership

Percona

Codership

Percona XtraDB Cluster

Full compatibility with existing

systems

Percona XtraDB Cluster

Minimal efforts to migrate

Percona XtraDB Cluster

Minimal efforts to

return back to MySQL

Percona XtraDB Cluster

So, is this a perfect solution?

Percona XtraDB Cluster

Limitations

Percona XtraDB Cluster

Only InnoDB tables are fully

supported

MyISAM support is limited

Percona XtraDB Cluster

OPTIMISTIC locking for

transactions on different servers

http://en.wikipedia.org/wiki/Optimistic_concurrency_cont

rol

Percona XtraDB Cluster

Traditional locking

Percona XtraDB Cluster

Optimistic locking

Percona XtraDB Cluster

The write performance is

limited by weakest node

Percona XtraDB Cluster

Write performance

Percona XtraDB Cluster

For write intensive applications

there could be datasize limit per

node

Not physical but logical

Percona XtraDB Cluster

Join process. Step 1

Percona XtraDB Cluster

Join process. Step 2

Percona XtraDB Cluster

Join process: step 3

Percona XtraDB Cluster

This is software + hardware

solution

Percona XtraDB Cluster

InnoDB write performance

Percona XtraDB Cluster

InnoDB performance + ACID

Percona XtraDB Cluster

Cluster performance

•10 GigE

•Infiniband Network

•SSD

•PCI-e Flash Storage

Percona XtraDB Cluster

Join process

Percona XtraDB Cluster

State Transfer

Percona XtraDB Cluster

Full data SST

New node

Node long time

disconnected

Incremental IST

Node disconnected

short time

Snapshot State Transfer

Percona XtraDB Cluster

Mysqldump

Small databases

Rsync

Donor disconnected for copy time

faster

XtraBackup

Donor disconnected for short time

slower

Incremental State Transfer

Percona XtraDB Cluster

Node was in cluster

Disconnected for

maintenance

Node Crashed

Scaleability

Percona XtraDB Cluster

Scaleability

Scale ~ Ability

Ability to Scale

Percona XtraDB Cluster

Scaleability is similar to availability

Percona XtraDB Cluster

XtraDB Cluster: Reads scalability is easy

Percona XtraDB Cluster

Write scalability is complicated

Percona XtraDB Cluster

N servers scale to :

Percona XtraDB Cluster

•N factor 100% reads

•… …

•N/2 factor 50/50

•… …

•1 or const 100% writes

10 servers scale to :

Percona XtraDB Cluster

• 1 server: 100 q/s

• 10 servers: 1000 q/s 100% reads

• 1 server: 100 q/s

• 10 servers: 500 q/s 50/50

• 1 server: 100 q/s

• 10 servers: 100 q/s (can be more)

100% writes

FAQ

Questions I am asked

Percona XtraDB Cluster

It looks so easy. Why did

not you implement it earlier?

It is not easy.

Computer science of group communication

and distributed transactions.

Credits to Codership Oy

Percona XtraDB Cluster

How fast is it?

Reasonably fast.

Percona XtraDB Cluster

Can I replicate XtraDB

Cluster to MySQL

Replication?

Yes

Percona XtraDB Cluster

Percona XtraDB Cluster

Async MySQL Replication

How it is compared to

MySQL Cluster?

It is different

Percona XtraDB Cluster

XtraDB

Cluster

MySQL

Cluster

Easy to migrate Easy to use Cloud / EC2 Changes in an

application Write scaling 99.999%

Percona XtraDB Cluster

Credits

• WSREP patches and Galera library is developed by

Codership Oy

Percona XtraDB Cluster

Thank you!

Questions ?

You can try Percona XtraDB Cluster today!

Percona XtraDB Cluster