for your high availability and clustering needs percona ... · for your high availability and...
TRANSCRIPT
![Page 1: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/1.jpg)
Percona XtraDB Cluster-5.7 + ProxySQL
For your high availability and clustering needs
Ramesh Sivaraman Krunal Bauskar
![Page 2: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/2.jpg)
Agenda
● What is Good HA eco-system ?● Understanding PXC-5.7● Understanding ProxySQL● PXC + ProxySQL = Complete HA solution● Monitoring using PMM● Q&A
![Page 3: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/3.jpg)
HA eco-system
● Characteristics of good HA eco-systems○ No single point failure○ Scalable○ Auto-failover○ Auto/Seamless joining of new members○ System represent unified view of data○ Secure connection among members○ Transparent handling of communication failure○ Ease of doing maintenance w/o affecting active workload○ Effectively control workload execution
![Page 4: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/4.jpg)
Workload suitable for HA
● Non-Suitable○ Things that can’t be rolled back.○ Locks○ Local Operation○ Mix of transaction and non-transactional workload.○ Order preserving replication. (ROW vs STMT)○ Entity that can’t be uniquely represented across the cluster.
● Suitable○ Non-overlapping workload○ Batched DDL and DML○ Replay-safe transactions○ Tables with primary-keys
![Page 5: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/5.jpg)
● PXC-5.7○ Multi-master Solution○ Virtually synchronous○ Auto node provisioning (SST)○ Fully Scalable○ Ability to view updated data (avoid stable view)○ Seamless Incremental Transfer○ Completely secure: in-transit + at-rest○ Operates across WAN○ Compatible with MySQL Master-Slave○ Integrated well with leading products: PMM,
ProxySQL, Xtrabackup
Understanding PXC-5.7
N1
N2
N3
![Page 6: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/6.jpg)
● Does PXC-5.7 provides all the needed characteristics for good HA ?○ pxc_strict_mode: blocks non-safe workload○ sst/ist: transparent node joining○ quorum: protection against Split-Brain, Single Node.○ unified view: wsrep_sync_wait○ security: especially with geo-distributed nodes
Understanding PXC-5.7
![Page 7: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/7.jpg)
● Does PXC-5.7 provides all the needed characteristics for good HA ?○ pxc_strict_mode: blocks non-safe workload○ sst/ist: transparent node joining○ quorum: protection against Split-Brain, Single Node.○ unified view: wsrep_sync_wait○ security: especially with geo-distributed nodes
Understanding PXC-5.7
YES IT DOES
![Page 8: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/8.jpg)
PXC in different Setups/Topologies
Traditional master slave topology multi-master topology
N1
N2
N3
![Page 9: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/9.jpg)
PXC in different Setups/Topologies
Data-Center-2
N4
N5
N6
N1
N2
N3
Data-Center-1
Geo-Distributed Single PXC cluster
![Page 10: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/10.jpg)
PXC in different Setups/Topologies
N1
N2
N3
N1
N2
N3
Cluster-Cluster replication
Async replication
PXC-Cluster-1 PXC-Cluster-2
MASTER
SLAVE
![Page 11: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/11.jpg)
PXC in different Setups/Topologies
N1
N2
N3
N1
N2
N3
Async replication
Cluster-Cluster replication
MASTER
SLAVE
SLAVE MASTER
PXC-Cluster-1 PXC-Cluster-2
![Page 12: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/12.jpg)
Combination-2
Combination-1
Combination-3
PXC in different Setups/Topologies
N1
N2
N3
Master-Cluster-Slave replication
Async replication Async replication
MASTER
SLAVE
![Page 13: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/13.jpg)
PXC in different Setups/Topologies
● PXC supports and works in different setup/topology environment.
● PXC is flexible and you can easily mix-match PXC cluster with most of the your existing setup.
![Page 14: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/14.jpg)
Understanding ProxySQL
● ProxySQL is a high performance SQL proxy. ● ProxySQL runs as a daemon watched by a monitoring
process.● The monitoring process monitors the daemon and restarts it
whenever it crashes (in order to minimize downtime).● The daemon accepts incoming traffic from MySQL clients and
forwards it to backend MySQL servers.
![Page 15: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/15.jpg)
Understanding ProxySQL
● ProxySQL is designed to run on continuous basis without need of to restart.
● In order to allow this, most of configurations can be done at runtime.
● Configuration interface looks alike SQL queries making it simple to grasp for existing DB-user.
● Runtime parameters, server grouping, and traffic-related settings can all be changed at runtime.
![Page 16: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/16.jpg)
Understanding ProxySQL
Configuration : All configuration parameter changes are made in memory.
Runtimeproduction settings
Memorycurrent working place
DiskSQLITE database
Config file
![Page 17: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/17.jpg)
Understanding ProxySQL
Important features:○ Query caching○ Query Routing○ Supports failover○ Cross platform○ Advanced configuration with almost 0 downtime○ Advanced topology support○ Firewall
![Page 18: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/18.jpg)
PXC
Understanding ProxySQL
Query caching:
Using advanced ProxySQL rule engine query results can be cached for a configurable timespan, in native MySQL packets format.
Application ProxySQL Cache
![Page 19: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/19.jpg)
Understanding ProxySQLQuery Routing:
With the help of ProxySQL's hostgroup concept. it is easy to route queries transparently towards the destination cluster that can execute them most efficiently.
Application ProxySQL QueryRouting
PXC
![Page 20: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/20.jpg)
PXC
Understanding ProxySQLSupports failover:
While ProxySQL does not offer support failover as a feature, it collaborates smoothly with the existing tools that enable it. It monitors the health of the backends it communicates with and is able to temporarily shun them based on configurable error rates.
Application ProxySQL
![Page 21: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/21.jpg)
Understanding ProxySQL
Cross platform:
ProxySQL works with multiple flavors of Linux and FreeBSD. Moreover, it should be easily portable to other platforms where a gcc-compatible toolchain is available.
![Page 22: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/22.jpg)
Understanding ProxySQL
Advanced configuration with almost 0 downtime:
ProxySQL's configuration system is inspired from routers. You can dynamically configure everything, persist the configuration and modify it. All with 0 downtime.
Advanced topology support:
Cascading proxies for extra availability and flexibility. Complex MySQL topologies support, involving replication and failover or query mirroring. All of it performed effortlessly by ProxySQL.
![Page 23: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/23.jpg)
PXC
Understanding ProxySQL
Advanced topology support:
Application
Application
Application
WRITE HOSTGROUP
READ HOSTGROUP
![Page 24: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/24.jpg)
Understanding ProxySQL
Firewall:In case of offending queries that cause problems to the DB (SQL injection or inefficient retrieval of information via SELECT * without WHERE, for example), ProxySQL acts as a gatekeeper between the application and the DB, allowing DBAs to react quickly.
Application ProxySQL Queryblocking
PXC
![Page 25: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/25.jpg)
Understanding ProxySQL
● Does ProxySQL provides all the needed characteristics for good HA ?○ Dynamically route traffic on demand.○ Built-in monitoring.○ Runtime reconfigurable.○ Load Balancing.○ Read/Write split and sharing.
![Page 26: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/26.jpg)
Understanding ProxySQL
● Does ProxySQL provides all the needed characteristics for good HA ?○ Dynamically route traffic on demand.○ Built-in monitoring.○ Runtime reconfigurable.○ Load Balancing.○ Read/Write split and sharing.
YES IT DOES
![Page 27: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/27.jpg)
PXC + ProxySQL = HA
● PXC and ProxySQL are fully compatible.
● ProxySQL assisted PXC maintenance mode
● ProxySQL provides single-step setup process that can help auto-discover PXC nodes and add them to ProxySQL tracking table. (proxysql-admin tool)
● Customizable monitoring scripts
![Page 28: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/28.jpg)
PXC + ProxySQL = HA
DISABLED
SHUTDOWN
MAINTENANCE
pxc_maint_mode
pxc_maint_transition_period
Transparent rerouting of workload without affecting active
workload/application*
![Page 29: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/29.jpg)
PXC + ProxySQL = HA● ProxySQL Admin Tool
ProxySQL Admin (proxysql-admin) is a powerful tool for configuring Percona XtraDB Cluster nodes into ProxySQL. The proxysql-admin tool comes with the ProxySQL package from Percona apt/yum repositories.
We can configure multiple clusters in proxysql through proxysql-admin tool. ProxySQL 1.4.6 is now available from the Percona repositories.
![Page 30: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/30.jpg)
PXC + ProxySQL = HA● Proxysql-admin can handle read/write operations in two modes
○ singlewrite : This mode accepts writes only on one single node. All other remaining nodes will be read-only and accept only read statements.With --write-node option we can control a priority order of what host is most desired to be the writer at any given time. When used the feature will create the config file which is by default "/var/lib/proxysql/host_priority.conf", this is configurable in proxysql-admin.cnf. Servers can be specified comma delimited - 10.0.0.51:3306, 10.0.0.52:3306 - The 51 node will always be in the writer hostgroup if it is ONLINE, if it is OFFLINE the 52 node will go into the writer hostgroup, and if it goes down a node from the remaining nodes will be randomly chosen for the writer hostgroup.
![Page 31: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/31.jpg)
PXC + ProxySQL = HA
○ loadbal : With this mode, read/write transactions will split across all nodes.
You can download proxysql-admin tool from: https://github.com/percona/proxysql-admin-tool OR ProxySQL package from percona repo.
![Page 32: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/32.jpg)
PXC + ProxySQL = HA● Customizable monitoring scripts:
○ proxysql_node_monitor: checks cluster node membership and re-configures ProxySQL if the cluster membership changes.
○ proxysql_galera_checker: checks desynced nodes, and temporarily deactivates them.
Note : These scripts will make sure to setup a good HA solution
![Page 33: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/33.jpg)
Monitoring through PMM● Important to monitor HA system using a single window monitoring system.
○ PMM helps provide this.● Fully integrated with PXC and ProxySQL to monitor crucial status allowing
single window tracking.● Track items like
○ Is the node hitting Flow-control○ What is average write-set packet size○ Receive/Send queue○ How long can node sustain w/o doing SST○ Conflicts
ProxySQL PMM Demo : https://pmmdemo.percona.com/graph/dashboard/db/proxysql-overview?orgId=1&from=now-1h&to=now&var-interval=$__auto_interval&var-proxysql=pxc57-1&var-hostgroup=11
![Page 34: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/34.jpg)
Monitoring through PMM
![Page 35: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/35.jpg)
PXC + ProxySQL + PMM = HA
N1
N2
N3
![Page 36: For your high availability and clustering needs Percona ... · For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar. Agenda What is Good HA eco-system ?](https://reader036.vdocuments.net/reader036/viewer/2022070718/5ede278cad6a402d66697344/html5/thumbnails/36.jpg)
Questions/Comments/Queries
You can also write to us:[email protected]
[email protected] XtraDB Cluster Forum(https://goo.gl/pby3EU)ProxySQL-admin issue tracker(https://goo.gl/QDVLBN)