Percona XtraDB 集群

93
Percona XtraDB Cluster powered by Galera Vadim Tkachenko Percona Inc, co-founder, CTO www.percona.com www.mysqlperformanceblog.com

description

Percona XtraDB 集群 http://www.ossez.com/forum.php?mod=viewthread&tid=26861&fromuid=426 (出处: OSSEZ)

Transcript of Percona XtraDB 集群

Percona XtraDB Clusterpowered by Galera

Vadim TkachenkoPercona Inc, co-founder, CTO

www.percona.comwww.mysqlperformanceblog.com

This talk online• PowerPoint• http://bit.ly/PXC-meetup

• PDF• http://bit.ly/PXC-meetup-pdf

• Google Docs• http://bit.ly/PXC-meetup-gdocs

Percona XtraDB Cluster

This talk

Percona XtraDB Cluster

What is HA

Percona XtraDB Cluster

Availability by redundancy

Percona XtraDB Cluster

Duplicate resources

Percona XtraDB Cluster

Failover

Percona XtraDB Cluster

Percona XtraDB Cluster

Probability of failure

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

Percona XtraDB Cluster

Replication

Percona XtraDB Cluster

Percona XtraDB Cluster

What is wrong with MySQL replication ?

Percona XtraDB Cluster

What is wrong with MySQL replication ?

Percona XtraDB Cluster

What is wrong with MySQL replication ?

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 ClusterFree and Open Source

Percona XtraDB Cluster

Percona XtraDB Cluster

Percona XtraDB Cluster

Virtually synchronoushttp://en.wikipedia.org/wiki/Virtual_synchrony

Percona XtraDB Cluster

Virtually synchronous

Percona XtraDB Cluster

Percona XtraDB Cluster

Percona XtraDB Cluster

Multi-master: MySQL

Percona XtraDB Cluster

Multi-master: XtraDB Cluster

Percona XtraDB Cluster

Percona XtraDB Cluster

Parallel apply: MySQL

Percona XtraDB Cluster

Parallel apply: XtraDB Cluster

Percona XtraDB Cluster

Percona XtraDB Cluster

XtraDB Cluster data consistency

Percona XtraDB Cluster

Percona XtraDB Cluster

Node provisioning

Percona XtraDB Cluster

CAP theoremhttp://en.wikipedia.org/wiki/CAP_theorem

Percona XtraDB Cluster

Pick only TWO

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 consequencesYou still can have this setup

Choice

Percona XtraDB Cluster

MySQL Replication:Access to all systems

Data consistency XtraDB Cluster:

Percona XtraDB Cluster

Percona XtraDB Cluster details

Percona XtraDB Cluster

Percona XtraDB Cluster

Percona XtraDB Cluster

Percona XtraDB Cluster

Percona XtraDB Cluster

So, is this a perfect solution?

Percona XtraDB Cluster

Limitationssome will be solved later

Percona XtraDB Cluster

Only InnoDB tables are supported

Percona XtraDB Cluster

OPTIMISTIC locking for transactions on different servershttp://en.wikipedia.org/wiki/Optimistic_concurrency_control

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 nodeNot 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

Percona XtraDB Cluster

Join process

Percona XtraDB Cluster

State Transfer

Percona XtraDB Cluster

Snapshot State Transfer

Percona XtraDB Cluster

Incremental State Transfer

Percona XtraDB Cluster

Scaleability

Percona XtraDB Cluster

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

10 servers scale to :

Percona XtraDB Cluster

FAQQuestions 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

Would I install it on a production system?Yes. I am going to upgrade MySQLPerformanceBlog.com to use XtraDB Cluster

Percona XtraDB Cluster

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

Resources• http://www.percona.com/software/percona-xtradb-cluster/• http://www.codership.com/wiki/doku.php• Virtual synchrony• http://en.wikipedia.org/wiki/Virtual_synchrony

• CAP Theorem• http://en.wikipedia.org/wiki/CAP_theorem

• Optimistic locking• http://en.wikipedia.org/wiki/Optimistic_concurrency_control

Percona XtraDB Cluster

Credits• WSREP patches and Galera library is developed by Codership

Oy

Percona XtraDB Cluster

Thank you!

Percona XtraDB Cluster