SlideShare ist ein Scribd-Unternehmen logo
1 von 52
© 2017 Pythian. Confidential 1
2© The Pythian Group Inc., 2018
February 26, 2019 - New York City, NY, USA
Matthias Crauwels
Deploying MariaDB for
High Availability on
Google Cloud Platform
© The Pythian Group Inc., 2018 3
Who am I?
© The Pythian Group Inc., 2018 44© The Pythian Group Inc., 2017
Matthias Crauwels
● Living in Ghent, Belgium
● Bachelor Computer Science
● ~20 years Linux user / admin
● ~10 years PHP developer
● ~8 years MySQL DBA
● 3rd year at Pythian
● Currently Lead Database Consultant
● GCP Certified Professional Architect
● AWS Solutions Architect Associate
● Father of Leander
© The Pythian Group Inc., 2018 5© The Pythian Group Inc., 2019 5
PYTHIAN
A global IT company that helps businesses leverage disruptive technologies to better compete.
Our services and software solutions unleash the power of cloud, data and analytics to drive better
business outcomes for our clients.
Our 20 years in data, commitment to hiring the best talent, and our deep technical and business expertise
allow us to meet our promise of using technology to deliver the best outcomes faster.
© The Pythian Group Inc., 2019
6© The Pythian Group Inc., 2019
AI / ML / BLOCKCHAIN
Intelligent analytics
and decision making
Software autonomy
Disruptive data technologies
CLOUD MIGRATION
& OPERATIONS
Plan, Migrate, Manage,
Optimize, Innovate
Multi-cloud, Hybrid-Cloud,
Cloud Native
ANALYTIC DATA SYSTEMS
Kick AaaS cloud-native, pre-packaged
analytics platform
Custom analytics platform design, implementation
and support services–for on-premises and cloud
Data science consulting and implementation services
OPERATIONAL DATA SYSTEMS
Database services–architecture
to ongoing management
On prem and in the cloud
Oracle, MS SQL, MySQL, Cassandra, MongoDB,
Hadoop, AWS/Azure/Google DBaaS
7© The Pythian Group Inc., 2018
AGENDA
7© The Pythian Group Inc., 2019
● Google Cloud Platform (GCP)
● 2 possible implementation
● More complex theoretical example
8© The Pythian Group Inc., 2018
Let's get started!
9© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 9
● Public cloud by Google
● Started as "AppEngine" (GA since Nov 2011)
● New services grew quickly, Compute Engine, CloudSQL, ...
Google Cloud Platform
10© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 10
Service comparison to AWS
Google Cloud Platform (GCP) Amazon Web Services (AWS)
Google Compute Engine (GCE) Elastic Compute Cloud (EC2)
Google Cloud Storage (GCS) Simple Storage Service (S3)
Google Kubernetes Engine (GKE) Elastic Container Service for Kubernetes
Google CloudSQL Relational Database Service (RDS)
Google BigQuery Redshift
... ...
11© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 11
Google Cloud Storage options
Source: Coursera
12© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 12
2 relational database stores?
Google CloudSQL Google Spanner
13© The Pythian Group Inc., 2018 13© The Pythian Group Inc., 2019
Google CloudSQL Google Spanner
● Managed service for MySQL
and PostgreSQL
● Scales up to 10 TB storage
● Regional availability
● Fully managed service
● Read replicas in multiple
zones
● Relational database store
● Horizontally scalable
● Heavily sharded
● Global availability
● Highly Available
● Fully managed service
14© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 14
● Stability
CloudSQL is still a pretty young product, it's not really mature (yet).
● Flexibility
There are still limits to the SQL you can run, not a simple
lift-and-shift
● Cost
Spanner is more expensive than Compute Engine
Why do something else?
15© The Pythian Group Inc., 2018
Solution 1
16© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 16
● MariaDB + Galera cluster
● Minimum 3 nodes (always odd number of nodes)
● Preferably within the same region (latency)
● Writing to any node is supported, but not recommended
● Suggested to use a proxy-layer
● MaxScale (for MariaDB subscribers)
● ProxySQL
MariaDB Cluster
17© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 17
MariaDB Cluster - schematics
18© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 18
On premise → GCP
1. Take a backup on premise
2. Use backup to seed first node in GCE
3. Bootstrap first node
4. Start node 2 and 3 → they will perform SST
5. Set up async replication from on prem to first node
6. Setup proxies and load-balancers
7. Cut over application to new load-balancer
MariaDB Cluster - migration path
19© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 19
MariaDB Cluster - conclusion
Pro Con
Lift and shift from on-prem to the cloud Will not keep scaling
You can put nodes in different zones within the
same region
Will not scale to multi-region
Proxy will perform read-write split All the perks from using Galera
All the benefits from using Galera
20© The Pythian Group Inc., 2018
Solution 2
21© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 21
● Default replication method for years in MySQL world
● Very stable and reliable
● Minimum 2 nodes (1 master + 1 replica/slave)
● Can be multi-region
● What about master high availability?
Regular (asynchronous) replication
22© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 22
Basic database architecture
23© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 23
● Master is single-point-of-failure (spof)
● How to detect master failure?
● What to do when failure is detected?
● How to announce changes in topology to the application
● ...
● Slaves scale out pretty well but
● There is no global load balancer for port 3306
● ...
Problems
24© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 24
Orchestrator is a High Availability and replication management tool.
● Works with ALL flavours of MySQL / MariaDB
● Can be use for multiple purposes
● discovery
● visualisation
● refactoring
● recovery
Master high availability using Orchestrator
25© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 25
Orchestrator - discovery
Orchestrator can (and will) discover your entire replication technology as
soon as you connect it to a single server in the topology.
It will use SHOW SLAVE HOSTS, SHOW PROCESSLIST, SHOW
SLAVE STATUS to try and connect to the other servers in the topology.
Requirement: the orchestrator_topology_userneeds to be created
on every server in the cluster so it can connect.
26© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 26
Orchestrator - visualisation
Orchestrator comes with a web interface that visualizes the servers in the
topology.
27© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 27
Orchestrator - refactoring
Orchestrator can be used to refactor the topology.
This can be done from the command line tool, via the API or even via the
web interface by dragging and dropping.
You can do things like
● Repoint a slave to a new master
● Promote a server to a (co-)master
● Start / Stop slave
● ...
28© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 28
Orchestrator - recovery
All of these features are nice, but they still require a human to execute
them. This doesn’t help you much when your master goes down at 3AM
and you get paged to resolve this.
Orchestrator can be configured to automatically recover your topology
from an outage.
29© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 29
Orchestrator - how recovery works?
To be able to perform a recovery, Orchestrator first needs to detect a
failure.
As indicated before Orchestrator connects to every server in the topology
and gathers information from each of the instances.
Orchestrator uses this information to make decisions on the best action to
take. They call this the holistic approach.
30© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 30
Orchestrator - failure detection example
31© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 31
Orchestrator HA
Orchestrator was written with High Availability as a basic concept.
You can easily run multiple Orchestrator instances with a shared MySQL
backend. All instances will collect all information but they will allow only
one instance to be the “active node” and to make changes to the
topology.
To eliminate a single-point-of-failure in the database backend you can
use either master-master replication (2 nodes) or Galera synchronous
replication (3 nodes).
32© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 32
Orchestrator HA (2)
Since version 3.x of Orchestrator there is “Orchestrator-on-Raft”.
Orchestrator now implements the ‘raft consensus protocol’. This will
● Ensure that a leader node is elected from the available nodes
● Ensure that the leader node has a quorum (majority) at all times
● Allow to run Orchestrator without a shared database backend
● Allow to run without a MySQL backend but use a sqlite backend
33© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 33
● Managed Instance Group requiring 3 nodes
● Orchestrator nodes using
● Raft for leader elections
● SQLite backend for local state
● Orchestrator database is auto-healing so no data replication is
required
Orchestrator in GCP
34© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 34
Orchestrator in GCP
35© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 35
Putting it together
36© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 36
● We introduce a proxy layer
● to help with read write splitting
● to prevent application connections to break on failover
● to have an easy to manage endpoint
● Proxy options
● ProxySQL
● MaxScale
● In this example I will use ProxySQL
Read write splitting
37© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 37
● Layer 7 proxy, understands MySQL protocol
● Uses "hostgroups" to group hosts together
(example one hostgroup for master and one for slaves)
● Query rules to redirect traffic to hostgroups
example:
by default all queries go to master hostgroup
add query rule to have regex ^SELECT to go to slaves
● ProxySQL clustering
● Proxy's will share configuration
● On GCP, start with 2 instances in Managed Instance Group with
autoscaling, add load balancer for traffic
ProxySQL
38© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 38
ProxySQL
39© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 39
Putting it together
40© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 40
● Up until this slide ProxySQL and MaxScale are interchangeable
● Hostgroups and Query rules can be replaced by the
read-write-split-service.
● We picked ProxySQL because of what comes next:
How do we connect Orchestrator and the proxy in a safe way?
Why ProxySQL over MaxScale
41© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 41
● Consul
● Distributed key-value store
● Orchestrator has native support for Consul
● Works across DC's
● Consul-template
● Connects to a consul service
● Updates a templated file everytime consul is update
● Runs arbitrary command on every update
Consul and Consul-template
42© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 42
● Orchestrator detects failure
● Orchestrator takes action, promoting new master
● Orchestrator updates Consul KV store
● Consul distributes values and notifies watchers
● Consul-template receives a notification
● Consul-template recreates query file and launches configured
command
Consul workflow
43© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 43
● Orchestrator has built-in support to update master entries in the Consul KV store
● But if we want the new master to be taken out of the reader pool we need to
implement some "hooks" to update Consul
● Example
# cat /usr/local/orchestrator/postfailoverhook.sh
#!/bin/bash
CONSUL_EXEC="/usr/local/bin/consul"
CONSUL_SLAVE_PREFIX="mysql/slave"
echo "Failover occurred. Running custom PostMasterFailoverProcesses Hook"
# orchestrator needs to make call to consul so the following is accomplished:
# 1. remove new master from slave group
# 2. put old master in slave group
echo "Removing new master from slave pool:
${CONSUL_SLAVE_PREFIX}/${ORC_FAILURE_CLUSTER_ALIAS}/${ORC_SUCCESSOR_HOST}"
${CONSUL_EXEC} kv delete ${CONSUL_SLAVE_PREFIX}/${ORC_FAILURE_CLUSTER_ALIAS}/${ORC_SUCCESSOR_HOST}
echo "Adding old master to slave pool: ${CONSUL_SLAVE_PREFIX}/${ORC_FAILURE_CLUSTER_ALIAS}/${ORC_FAILED_HOST}"
${CONSUL_EXEC} kv put ${CONSUL_SLAVE_PREFIX}/${ORC_FAILURE_CLUSTER_ALIAS}/${ORC_FAILED_HOST}
Orchestrator hooks
44© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 44
● Example of "query" file
{{ if keyExists "mysql/master/testcluster/hostname" }}
DELETE FROM mysql_servers where hostgroup_id=10;
REPLACE into mysql_servers (hostgroup_id, hostname) values ( 10, " {{ key "mysql/master/testcluster/hostname" }}" );
{{ end }}
DELETE FROM mysql_servers where hostgroup_id=11;
{{ range tree "mysql/slave/testcluster" }}
REPLACE INTO mysql_servers (hostgroup_id, hostname) values ( 11, " {{ .Key }}{{ .Value }}" );
{{ end }}
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;
● Example command
command = "/bin/bash -c 'mysql --defaults-file=/etc/proxysql-admin.my.cnf <
/opt/consul-template/templates/proxysql.sql'"
command_timeout = "60s"
Consul-template examples
45© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 45
Single region solution
46© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 46
● WePay
https://wecode.wepay.com/posts/highly-available-mysql-clusters-at-
wepay
● Implementation done by our sibling-team
● Chosen for HAProxy over ProxySQL because they needed
end-to-end SSL encryption
● ProxySQL 1.4.x does not support client-side SSL
● ProxySQL 2.x does support full end-to-end SSL encryption but was not
GA yet at time of implementation.
Publicly shared example
47© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 47
● We would want to create a multi-region setup
● Will be able to work on read-heavy environment that can tolerate
some "stale" reads.
● Master will still be a single instance that runs in one region.
● 1 or more slave(s) in each region
● ProxySQL cluster with internal load balancer in each region,
applications connect to local proxy cluster
● Orchestrator and Consul server can be scale to 1 instance per
region (recommended max 3 instances so not every region might
have an instance)
Where to go from here?
48© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 48
Theoretical Multi-region example
Questions?
Contact
Matthias Crauwels
crauwels@pythian.com
+1 (613) 565-8696 ext. 1215
© 2017 Pythian. Confidential 51
© 2017 Pythian. Confidential 52

Weitere ähnliche Inhalte

Was ist angesagt?

Quy định, noi quy phong server
Quy định, noi quy phong serverQuy định, noi quy phong server
Quy định, noi quy phong serverlaonap166
 
MongoDB sharded cluster. How to design your topology ?
MongoDB sharded cluster. How to design your topology ?MongoDB sharded cluster. How to design your topology ?
MongoDB sharded cluster. How to design your topology ?Mydbops
 
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...Mydbops
 
Kĩ thuật bào chế thuốc cốm
Kĩ thuật bào chế thuốc cốmKĩ thuật bào chế thuốc cốm
Kĩ thuật bào chế thuốc cốmangTrnHong
 
Setting up mongodb sharded cluster in 30 minutes
Setting up mongodb sharded cluster in 30 minutesSetting up mongodb sharded cluster in 30 minutes
Setting up mongodb sharded cluster in 30 minutesSudheer Kondla
 
Bao cao thuc tap
Bao cao thuc tapBao cao thuc tap
Bao cao thuc tapLeo Aurico
 
Inter vlan-routing FundamentoDeRedes
Inter vlan-routing FundamentoDeRedesInter vlan-routing FundamentoDeRedes
Inter vlan-routing FundamentoDeRedesArnold Ochoa Prado
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteKenny Gryp
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerBình Tân Phú
 
XÂY DỰNG KẾ HOẠCH KINH DOANH NHÀ THUỐC NGÔ VY ĐẾN NĂM 2025
 XÂY DỰNG KẾ HOẠCH KINH DOANH NHÀ THUỐC NGÔ VY ĐẾN NĂM 2025 XÂY DỰNG KẾ HOẠCH KINH DOANH NHÀ THUỐC NGÔ VY ĐẾN NĂM 2025
XÂY DỰNG KẾ HOẠCH KINH DOANH NHÀ THUỐC NGÔ VY ĐẾN NĂM 2025anh hieu
 
Thử nghiệm tương đương sinh học
Thử nghiệm tương đương sinh họcThử nghiệm tương đương sinh học
Thử nghiệm tương đương sinh họcHA VO THI
 
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...HostedbyConfluent
 
Best practices in deploying and managing aruba bluetooth low energy (ble) bea...
Best practices in deploying and managing aruba bluetooth low energy (ble) bea...Best practices in deploying and managing aruba bluetooth low energy (ble) bea...
Best practices in deploying and managing aruba bluetooth low energy (ble) bea...Aruba, a Hewlett Packard Enterprise company
 
báo cáo thực tập tại nhà thuốc và thông tin về những nhóm thuốc thông dụng ở ...
báo cáo thực tập tại nhà thuốc và thông tin về những nhóm thuốc thông dụng ở ...báo cáo thực tập tại nhà thuốc và thông tin về những nhóm thuốc thông dụng ở ...
báo cáo thực tập tại nhà thuốc và thông tin về những nhóm thuốc thông dụng ở ...hieu anh
 

Was ist angesagt? (20)

Quy định, noi quy phong server
Quy định, noi quy phong serverQuy định, noi quy phong server
Quy định, noi quy phong server
 
MongoDB sharded cluster. How to design your topology ?
MongoDB sharded cluster. How to design your topology ?MongoDB sharded cluster. How to design your topology ?
MongoDB sharded cluster. How to design your topology ?
 
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...
 
Kĩ thuật bào chế thuốc cốm
Kĩ thuật bào chế thuốc cốmKĩ thuật bào chế thuốc cốm
Kĩ thuật bào chế thuốc cốm
 
Setting up mongodb sharded cluster in 30 minutes
Setting up mongodb sharded cluster in 30 minutesSetting up mongodb sharded cluster in 30 minutes
Setting up mongodb sharded cluster in 30 minutes
 
Bao cao thuc tap
Bao cao thuc tapBao cao thuc tap
Bao cao thuc tap
 
Presentation AuthZForce
Presentation AuthZForcePresentation AuthZForce
Presentation AuthZForce
 
Inter vlan-routing FundamentoDeRedes
Inter vlan-routing FundamentoDeRedesInter vlan-routing FundamentoDeRedes
Inter vlan-routing FundamentoDeRedes
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
 
Mẫu bài báo cáo thực tập tại Nhà Thuốc điểm cao, hay nhất
Mẫu bài báo cáo thực tập tại Nhà Thuốc điểm cao, hay nhấtMẫu bài báo cáo thực tập tại Nhà Thuốc điểm cao, hay nhất
Mẫu bài báo cáo thực tập tại Nhà Thuốc điểm cao, hay nhất
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracer
 
Ta duoc tang hap thu
Ta duoc tang hap thuTa duoc tang hap thu
Ta duoc tang hap thu
 
MongoDB Sharding Fundamentals
MongoDB Sharding Fundamentals MongoDB Sharding Fundamentals
MongoDB Sharding Fundamentals
 
Tài liệu hướng dẫn GSP
Tài liệu hướng dẫn GSPTài liệu hướng dẫn GSP
Tài liệu hướng dẫn GSP
 
XÂY DỰNG KẾ HOẠCH KINH DOANH NHÀ THUỐC NGÔ VY ĐẾN NĂM 2025
 XÂY DỰNG KẾ HOẠCH KINH DOANH NHÀ THUỐC NGÔ VY ĐẾN NĂM 2025 XÂY DỰNG KẾ HOẠCH KINH DOANH NHÀ THUỐC NGÔ VY ĐẾN NĂM 2025
XÂY DỰNG KẾ HOẠCH KINH DOANH NHÀ THUỐC NGÔ VY ĐẾN NĂM 2025
 
Danh mục kiểm tra & quy trình cấp giấy chứng nhận gpp, gdp (v)
Danh mục kiểm tra & quy trình cấp giấy chứng nhận gpp, gdp (v)Danh mục kiểm tra & quy trình cấp giấy chứng nhận gpp, gdp (v)
Danh mục kiểm tra & quy trình cấp giấy chứng nhận gpp, gdp (v)
 
Thử nghiệm tương đương sinh học
Thử nghiệm tương đương sinh họcThử nghiệm tương đương sinh học
Thử nghiệm tương đương sinh học
 
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
Everything you ever needed to know about Kafka on Kubernetes but were afraid ...
 
Best practices in deploying and managing aruba bluetooth low energy (ble) bea...
Best practices in deploying and managing aruba bluetooth low energy (ble) bea...Best practices in deploying and managing aruba bluetooth low energy (ble) bea...
Best practices in deploying and managing aruba bluetooth low energy (ble) bea...
 
báo cáo thực tập tại nhà thuốc và thông tin về những nhóm thuốc thông dụng ở ...
báo cáo thực tập tại nhà thuốc và thông tin về những nhóm thuốc thông dụng ở ...báo cáo thực tập tại nhà thuốc và thông tin về những nhóm thuốc thông dụng ở ...
báo cáo thực tập tại nhà thuốc và thông tin về những nhóm thuốc thông dụng ở ...
 

Ähnlich wie Deploying MariaDB for HA on Google Cloud Platform

Implementing MySQL Database-as-a-Service using open source tools
Implementing MySQL Database-as-a-Service using open source toolsImplementing MySQL Database-as-a-Service using open source tools
Implementing MySQL Database-as-a-Service using open source toolsAll Things Open
 
OSMC 2018 | Why we recommend PMM to our clients by Matthias Crauwels
OSMC 2018 | Why we recommend PMM to our clients by Matthias CrauwelsOSMC 2018 | Why we recommend PMM to our clients by Matthias Crauwels
OSMC 2018 | Why we recommend PMM to our clients by Matthias CrauwelsNETWAYS
 
QCon 2018 | Gimel | PayPal's Analytic Platform
QCon 2018 | Gimel | PayPal's Analytic PlatformQCon 2018 | Gimel | PayPal's Analytic Platform
QCon 2018 | Gimel | PayPal's Analytic PlatformDeepak Chandramouli
 
Make your data fly - Building data platform in AWS
Make your data fly - Building data platform in AWSMake your data fly - Building data platform in AWS
Make your data fly - Building data platform in AWSKimmo Kantojärvi
 
Big Data Helsinki v 3 | "Distributed Machine and Deep Learning at Scale with ...
Big Data Helsinki v 3 | "Distributed Machine and Deep Learning at Scale with ...Big Data Helsinki v 3 | "Distributed Machine and Deep Learning at Scale with ...
Big Data Helsinki v 3 | "Distributed Machine and Deep Learning at Scale with ...Dataconomy Media
 
One bridge to connect them all. Oracle GoldenGate for Big Data.UKOUG Tech 2018
One bridge to connect them all. Oracle GoldenGate for Big Data.UKOUG Tech 2018One bridge to connect them all. Oracle GoldenGate for Big Data.UKOUG Tech 2018
One bridge to connect them all. Oracle GoldenGate for Big Data.UKOUG Tech 2018Gleb Otochkin
 
Gimel at Dataworks Summit San Jose 2018
Gimel at Dataworks Summit San Jose 2018Gimel at Dataworks Summit San Jose 2018
Gimel at Dataworks Summit San Jose 2018Romit Mehta
 
Dataworks | 2018-06-20 | Gimel data platform
Dataworks | 2018-06-20 | Gimel data platformDataworks | 2018-06-20 | Gimel data platform
Dataworks | 2018-06-20 | Gimel data platformDeepak Chandramouli
 
Postgres Vision 2018: Taking Postgres Everywhere
Postgres Vision 2018: Taking Postgres EverywherePostgres Vision 2018: Taking Postgres Everywhere
Postgres Vision 2018: Taking Postgres EverywhereEDB
 
Why You Need Manageability Now More than Ever and How to Get It
Why You Need Manageability Now More than Ever and How to Get ItWhy You Need Manageability Now More than Ever and How to Get It
Why You Need Manageability Now More than Ever and How to Get ItGustavo Rene Antunez
 
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...Flink Forward
 
Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Luís Soares
 
Container Attached Storage (CAS) with OpenEBS - SDC 2018
Container Attached Storage (CAS) with OpenEBS -  SDC 2018Container Attached Storage (CAS) with OpenEBS -  SDC 2018
Container Attached Storage (CAS) with OpenEBS - SDC 2018OpenEBS
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Cloud Native Day Tel Aviv
 
A Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
A Planet-Scale Database for Low Latency Transactional Apps by YugabyteA Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
A Planet-Scale Database for Low Latency Transactional Apps by YugabyteCarlos Andrés García
 
A Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
A Planet-Scale Database for Low Latency Transactional Apps by YugabyteA Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
A Planet-Scale Database for Low Latency Transactional Apps by YugabyteVMware Tanzu
 

Ähnlich wie Deploying MariaDB for HA on Google Cloud Platform (20)

Implementing MySQL Database-as-a-Service using open source tools
Implementing MySQL Database-as-a-Service using open source toolsImplementing MySQL Database-as-a-Service using open source tools
Implementing MySQL Database-as-a-Service using open source tools
 
OSMC 2018 | Why we recommend PMM to our clients by Matthias Crauwels
OSMC 2018 | Why we recommend PMM to our clients by Matthias CrauwelsOSMC 2018 | Why we recommend PMM to our clients by Matthias Crauwels
OSMC 2018 | Why we recommend PMM to our clients by Matthias Crauwels
 
Huge pages why-what-how
Huge pages why-what-howHuge pages why-what-how
Huge pages why-what-how
 
Cloud Native with Kyma
Cloud Native with KymaCloud Native with Kyma
Cloud Native with Kyma
 
QCon 2018 | Gimel | PayPal's Analytic Platform
QCon 2018 | Gimel | PayPal's Analytic PlatformQCon 2018 | Gimel | PayPal's Analytic Platform
QCon 2018 | Gimel | PayPal's Analytic Platform
 
Make your data fly - Building data platform in AWS
Make your data fly - Building data platform in AWSMake your data fly - Building data platform in AWS
Make your data fly - Building data platform in AWS
 
Big Data Helsinki v 3 | "Distributed Machine and Deep Learning at Scale with ...
Big Data Helsinki v 3 | "Distributed Machine and Deep Learning at Scale with ...Big Data Helsinki v 3 | "Distributed Machine and Deep Learning at Scale with ...
Big Data Helsinki v 3 | "Distributed Machine and Deep Learning at Scale with ...
 
One bridge to connect them all. Oracle GoldenGate for Big Data.UKOUG Tech 2018
One bridge to connect them all. Oracle GoldenGate for Big Data.UKOUG Tech 2018One bridge to connect them all. Oracle GoldenGate for Big Data.UKOUG Tech 2018
One bridge to connect them all. Oracle GoldenGate for Big Data.UKOUG Tech 2018
 
Gimel at Dataworks Summit San Jose 2018
Gimel at Dataworks Summit San Jose 2018Gimel at Dataworks Summit San Jose 2018
Gimel at Dataworks Summit San Jose 2018
 
Dataworks | 2018-06-20 | Gimel data platform
Dataworks | 2018-06-20 | Gimel data platformDataworks | 2018-06-20 | Gimel data platform
Dataworks | 2018-06-20 | Gimel data platform
 
Postgres Vision 2018: Taking Postgres Everywhere
Postgres Vision 2018: Taking Postgres EverywherePostgres Vision 2018: Taking Postgres Everywhere
Postgres Vision 2018: Taking Postgres Everywhere
 
Why You Need Manageability Now More than Ever and How to Get It
Why You Need Manageability Now More than Ever and How to Get ItWhy You Need Manageability Now More than Ever and How to Get It
Why You Need Manageability Now More than Ever and How to Get It
 
The rise of microservices
The rise of microservicesThe rise of microservices
The rise of microservices
 
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...
Building A Self Service Streaming Platform at Pinterest - Steven Bairos-Novak...
 
Replication Whats New in Mysql 8
Replication Whats New in Mysql 8Replication Whats New in Mysql 8
Replication Whats New in Mysql 8
 
Poc exadata 2018
Poc exadata 2018Poc exadata 2018
Poc exadata 2018
 
Container Attached Storage (CAS) with OpenEBS - SDC 2018
Container Attached Storage (CAS) with OpenEBS -  SDC 2018Container Attached Storage (CAS) with OpenEBS -  SDC 2018
Container Attached Storage (CAS) with OpenEBS - SDC 2018
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
 
A Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
A Planet-Scale Database for Low Latency Transactional Apps by YugabyteA Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
A Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
 
A Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
A Planet-Scale Database for Low Latency Transactional Apps by YugabyteA Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
A Planet-Scale Database for Low Latency Transactional Apps by Yugabyte
 

Mehr von MariaDB plc

MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.xMariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.xMariaDB plc
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB plc
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB plc
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB plc
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB plc
 
MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale MariaDB plc
 
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentationMariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentationMariaDB plc
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB plc
 
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server MariaDB plc
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB plc
 
Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023MariaDB plc
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBMariaDB plc
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerDie Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerMariaDB plc
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®MariaDB plc
 
Introducing workload analysis
Introducing workload analysisIntroducing workload analysis
Introducing workload analysisMariaDB plc
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoringUnder the hood: SkySQL monitoring
Under the hood: SkySQL monitoringMariaDB plc
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorMariaDB plc
 
MariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introductionMariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introductionMariaDB plc
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBMariaDB plc
 
The architecture of SkySQL
The architecture of SkySQLThe architecture of SkySQL
The architecture of SkySQLMariaDB plc
 

Mehr von MariaDB plc (20)

MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.xMariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - Newpharma
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - Cloud
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB Enterprise
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance Optimization
 
MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale
 
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentationMariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentation
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentation
 
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
 
Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerDie Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise Server
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
 
Introducing workload analysis
Introducing workload analysisIntroducing workload analysis
Introducing workload analysis
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoringUnder the hood: SkySQL monitoring
Under the hood: SkySQL monitoring
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connector
 
MariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introductionMariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introduction
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDB
 
The architecture of SkySQL
The architecture of SkySQLThe architecture of SkySQL
The architecture of SkySQL
 

Kürzlich hochgeladen

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

Deploying MariaDB for HA on Google Cloud Platform

  • 1. © 2017 Pythian. Confidential 1
  • 2. 2© The Pythian Group Inc., 2018 February 26, 2019 - New York City, NY, USA Matthias Crauwels Deploying MariaDB for High Availability on Google Cloud Platform
  • 3. © The Pythian Group Inc., 2018 3 Who am I?
  • 4. © The Pythian Group Inc., 2018 44© The Pythian Group Inc., 2017 Matthias Crauwels ● Living in Ghent, Belgium ● Bachelor Computer Science ● ~20 years Linux user / admin ● ~10 years PHP developer ● ~8 years MySQL DBA ● 3rd year at Pythian ● Currently Lead Database Consultant ● GCP Certified Professional Architect ● AWS Solutions Architect Associate ● Father of Leander
  • 5. © The Pythian Group Inc., 2018 5© The Pythian Group Inc., 2019 5 PYTHIAN A global IT company that helps businesses leverage disruptive technologies to better compete. Our services and software solutions unleash the power of cloud, data and analytics to drive better business outcomes for our clients. Our 20 years in data, commitment to hiring the best talent, and our deep technical and business expertise allow us to meet our promise of using technology to deliver the best outcomes faster. © The Pythian Group Inc., 2019
  • 6. 6© The Pythian Group Inc., 2019 AI / ML / BLOCKCHAIN Intelligent analytics and decision making Software autonomy Disruptive data technologies CLOUD MIGRATION & OPERATIONS Plan, Migrate, Manage, Optimize, Innovate Multi-cloud, Hybrid-Cloud, Cloud Native ANALYTIC DATA SYSTEMS Kick AaaS cloud-native, pre-packaged analytics platform Custom analytics platform design, implementation and support services–for on-premises and cloud Data science consulting and implementation services OPERATIONAL DATA SYSTEMS Database services–architecture to ongoing management On prem and in the cloud Oracle, MS SQL, MySQL, Cassandra, MongoDB, Hadoop, AWS/Azure/Google DBaaS
  • 7. 7© The Pythian Group Inc., 2018 AGENDA 7© The Pythian Group Inc., 2019 ● Google Cloud Platform (GCP) ● 2 possible implementation ● More complex theoretical example
  • 8. 8© The Pythian Group Inc., 2018 Let's get started!
  • 9. 9© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 9 ● Public cloud by Google ● Started as "AppEngine" (GA since Nov 2011) ● New services grew quickly, Compute Engine, CloudSQL, ... Google Cloud Platform
  • 10. 10© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 10 Service comparison to AWS Google Cloud Platform (GCP) Amazon Web Services (AWS) Google Compute Engine (GCE) Elastic Compute Cloud (EC2) Google Cloud Storage (GCS) Simple Storage Service (S3) Google Kubernetes Engine (GKE) Elastic Container Service for Kubernetes Google CloudSQL Relational Database Service (RDS) Google BigQuery Redshift ... ...
  • 11. 11© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 11 Google Cloud Storage options Source: Coursera
  • 12. 12© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 12 2 relational database stores? Google CloudSQL Google Spanner
  • 13. 13© The Pythian Group Inc., 2018 13© The Pythian Group Inc., 2019 Google CloudSQL Google Spanner ● Managed service for MySQL and PostgreSQL ● Scales up to 10 TB storage ● Regional availability ● Fully managed service ● Read replicas in multiple zones ● Relational database store ● Horizontally scalable ● Heavily sharded ● Global availability ● Highly Available ● Fully managed service
  • 14. 14© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 14 ● Stability CloudSQL is still a pretty young product, it's not really mature (yet). ● Flexibility There are still limits to the SQL you can run, not a simple lift-and-shift ● Cost Spanner is more expensive than Compute Engine Why do something else?
  • 15. 15© The Pythian Group Inc., 2018 Solution 1
  • 16. 16© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 16 ● MariaDB + Galera cluster ● Minimum 3 nodes (always odd number of nodes) ● Preferably within the same region (latency) ● Writing to any node is supported, but not recommended ● Suggested to use a proxy-layer ● MaxScale (for MariaDB subscribers) ● ProxySQL MariaDB Cluster
  • 17. 17© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 17 MariaDB Cluster - schematics
  • 18. 18© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 18 On premise → GCP 1. Take a backup on premise 2. Use backup to seed first node in GCE 3. Bootstrap first node 4. Start node 2 and 3 → they will perform SST 5. Set up async replication from on prem to first node 6. Setup proxies and load-balancers 7. Cut over application to new load-balancer MariaDB Cluster - migration path
  • 19. 19© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 19 MariaDB Cluster - conclusion Pro Con Lift and shift from on-prem to the cloud Will not keep scaling You can put nodes in different zones within the same region Will not scale to multi-region Proxy will perform read-write split All the perks from using Galera All the benefits from using Galera
  • 20. 20© The Pythian Group Inc., 2018 Solution 2
  • 21. 21© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 21 ● Default replication method for years in MySQL world ● Very stable and reliable ● Minimum 2 nodes (1 master + 1 replica/slave) ● Can be multi-region ● What about master high availability? Regular (asynchronous) replication
  • 22. 22© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 22 Basic database architecture
  • 23. 23© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 23 ● Master is single-point-of-failure (spof) ● How to detect master failure? ● What to do when failure is detected? ● How to announce changes in topology to the application ● ... ● Slaves scale out pretty well but ● There is no global load balancer for port 3306 ● ... Problems
  • 24. 24© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 24 Orchestrator is a High Availability and replication management tool. ● Works with ALL flavours of MySQL / MariaDB ● Can be use for multiple purposes ● discovery ● visualisation ● refactoring ● recovery Master high availability using Orchestrator
  • 25. 25© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 25 Orchestrator - discovery Orchestrator can (and will) discover your entire replication technology as soon as you connect it to a single server in the topology. It will use SHOW SLAVE HOSTS, SHOW PROCESSLIST, SHOW SLAVE STATUS to try and connect to the other servers in the topology. Requirement: the orchestrator_topology_userneeds to be created on every server in the cluster so it can connect.
  • 26. 26© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 26 Orchestrator - visualisation Orchestrator comes with a web interface that visualizes the servers in the topology.
  • 27. 27© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 27 Orchestrator - refactoring Orchestrator can be used to refactor the topology. This can be done from the command line tool, via the API or even via the web interface by dragging and dropping. You can do things like ● Repoint a slave to a new master ● Promote a server to a (co-)master ● Start / Stop slave ● ...
  • 28. 28© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 28 Orchestrator - recovery All of these features are nice, but they still require a human to execute them. This doesn’t help you much when your master goes down at 3AM and you get paged to resolve this. Orchestrator can be configured to automatically recover your topology from an outage.
  • 29. 29© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 29 Orchestrator - how recovery works? To be able to perform a recovery, Orchestrator first needs to detect a failure. As indicated before Orchestrator connects to every server in the topology and gathers information from each of the instances. Orchestrator uses this information to make decisions on the best action to take. They call this the holistic approach.
  • 30. 30© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 30 Orchestrator - failure detection example
  • 31. 31© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 31 Orchestrator HA Orchestrator was written with High Availability as a basic concept. You can easily run multiple Orchestrator instances with a shared MySQL backend. All instances will collect all information but they will allow only one instance to be the “active node” and to make changes to the topology. To eliminate a single-point-of-failure in the database backend you can use either master-master replication (2 nodes) or Galera synchronous replication (3 nodes).
  • 32. 32© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 32 Orchestrator HA (2) Since version 3.x of Orchestrator there is “Orchestrator-on-Raft”. Orchestrator now implements the ‘raft consensus protocol’. This will ● Ensure that a leader node is elected from the available nodes ● Ensure that the leader node has a quorum (majority) at all times ● Allow to run Orchestrator without a shared database backend ● Allow to run without a MySQL backend but use a sqlite backend
  • 33. 33© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 33 ● Managed Instance Group requiring 3 nodes ● Orchestrator nodes using ● Raft for leader elections ● SQLite backend for local state ● Orchestrator database is auto-healing so no data replication is required Orchestrator in GCP
  • 34. 34© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 34 Orchestrator in GCP
  • 35. 35© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 35 Putting it together
  • 36. 36© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 36 ● We introduce a proxy layer ● to help with read write splitting ● to prevent application connections to break on failover ● to have an easy to manage endpoint ● Proxy options ● ProxySQL ● MaxScale ● In this example I will use ProxySQL Read write splitting
  • 37. 37© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 37 ● Layer 7 proxy, understands MySQL protocol ● Uses "hostgroups" to group hosts together (example one hostgroup for master and one for slaves) ● Query rules to redirect traffic to hostgroups example: by default all queries go to master hostgroup add query rule to have regex ^SELECT to go to slaves ● ProxySQL clustering ● Proxy's will share configuration ● On GCP, start with 2 instances in Managed Instance Group with autoscaling, add load balancer for traffic ProxySQL
  • 38. 38© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 38 ProxySQL
  • 39. 39© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 39 Putting it together
  • 40. 40© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 40 ● Up until this slide ProxySQL and MaxScale are interchangeable ● Hostgroups and Query rules can be replaced by the read-write-split-service. ● We picked ProxySQL because of what comes next: How do we connect Orchestrator and the proxy in a safe way? Why ProxySQL over MaxScale
  • 41. 41© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 41 ● Consul ● Distributed key-value store ● Orchestrator has native support for Consul ● Works across DC's ● Consul-template ● Connects to a consul service ● Updates a templated file everytime consul is update ● Runs arbitrary command on every update Consul and Consul-template
  • 42. 42© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 42 ● Orchestrator detects failure ● Orchestrator takes action, promoting new master ● Orchestrator updates Consul KV store ● Consul distributes values and notifies watchers ● Consul-template receives a notification ● Consul-template recreates query file and launches configured command Consul workflow
  • 43. 43© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 43 ● Orchestrator has built-in support to update master entries in the Consul KV store ● But if we want the new master to be taken out of the reader pool we need to implement some "hooks" to update Consul ● Example # cat /usr/local/orchestrator/postfailoverhook.sh #!/bin/bash CONSUL_EXEC="/usr/local/bin/consul" CONSUL_SLAVE_PREFIX="mysql/slave" echo "Failover occurred. Running custom PostMasterFailoverProcesses Hook" # orchestrator needs to make call to consul so the following is accomplished: # 1. remove new master from slave group # 2. put old master in slave group echo "Removing new master from slave pool: ${CONSUL_SLAVE_PREFIX}/${ORC_FAILURE_CLUSTER_ALIAS}/${ORC_SUCCESSOR_HOST}" ${CONSUL_EXEC} kv delete ${CONSUL_SLAVE_PREFIX}/${ORC_FAILURE_CLUSTER_ALIAS}/${ORC_SUCCESSOR_HOST} echo "Adding old master to slave pool: ${CONSUL_SLAVE_PREFIX}/${ORC_FAILURE_CLUSTER_ALIAS}/${ORC_FAILED_HOST}" ${CONSUL_EXEC} kv put ${CONSUL_SLAVE_PREFIX}/${ORC_FAILURE_CLUSTER_ALIAS}/${ORC_FAILED_HOST} Orchestrator hooks
  • 44. 44© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 44 ● Example of "query" file {{ if keyExists "mysql/master/testcluster/hostname" }} DELETE FROM mysql_servers where hostgroup_id=10; REPLACE into mysql_servers (hostgroup_id, hostname) values ( 10, " {{ key "mysql/master/testcluster/hostname" }}" ); {{ end }} DELETE FROM mysql_servers where hostgroup_id=11; {{ range tree "mysql/slave/testcluster" }} REPLACE INTO mysql_servers (hostgroup_id, hostname) values ( 11, " {{ .Key }}{{ .Value }}" ); {{ end }} LOAD MYSQL SERVERS TO RUNTIME; SAVE MYSQL SERVERS TO DISK; ● Example command command = "/bin/bash -c 'mysql --defaults-file=/etc/proxysql-admin.my.cnf < /opt/consul-template/templates/proxysql.sql'" command_timeout = "60s" Consul-template examples
  • 45. 45© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 45 Single region solution
  • 46. 46© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 46 ● WePay https://wecode.wepay.com/posts/highly-available-mysql-clusters-at- wepay ● Implementation done by our sibling-team ● Chosen for HAProxy over ProxySQL because they needed end-to-end SSL encryption ● ProxySQL 1.4.x does not support client-side SSL ● ProxySQL 2.x does support full end-to-end SSL encryption but was not GA yet at time of implementation. Publicly shared example
  • 47. 47© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 47 ● We would want to create a multi-region setup ● Will be able to work on read-heavy environment that can tolerate some "stale" reads. ● Master will still be a single instance that runs in one region. ● 1 or more slave(s) in each region ● ProxySQL cluster with internal load balancer in each region, applications connect to local proxy cluster ● Orchestrator and Consul server can be scale to 1 instance per region (recommended max 3 instances so not every region might have an instance) Where to go from here?
  • 48. 48© The Pythian Group Inc., 2018© The Pythian Group Inc., 2019 48 Theoretical Multi-region example
  • 51. © 2017 Pythian. Confidential 51
  • 52. © 2017 Pythian. Confidential 52