SlideShare a Scribd company logo
The MySQL Availability Company
INTELLIGENT DATABASE PROXIES
Routing and transparent failover
Gilles Rayrat
About the Presenter
Gilles Rayrat
VP of Engineering
Co-author and main developer of the Tungsten Proxy
IN THE LAST EPISODE…
Recap
Proxies make clusters appear as simple
Databases to applications
Application
Proxy
Recap
Proxies make clusters appear as simple
Databases to applications
Even in complex topologies
Application
Proxy
Recap
Proxies make clusters appear as simple
Databases to applications
Even in complex topologies
With read scaling optimizations
Application
Proxy
2 BREEDS OF PROXIES
2 BREEDS OF PROXIES: SIMPLE
The fast and simple
Application
Proxy
The fast and simple
Application
Proxy
Connects to a single node
The fast and simple aka. layer 4 proxy
Application
Proxy
Connects to a single node
Can route to replicas, pick at connection time
The fast and simple aka. layer 4 proxy
Application
Proxy
Connects to a single node
Can route to replicas, pick at connection time
Fast & Transparent
The fast and simple aka. layer 4 proxy
Application
Proxy
Connects to a single node
Can route to replicas, pick at connection time
Fast & Transparent
Broken node = broken connection
The fast and simple aka. layer 4 proxy
Application
Proxy
Some players:
• HA proxy
• Nginx
• Envoy
• F5
• ELB
The fast and simple aka. layer 4 proxy
Application
Tungsten Proxy
Some players:
• HA proxy
• Nginx
• Envoy
• F5
• ELB
• Tungsten Proxy
Tungsten Cluster
2 BREEDS OF PROXIES: INTELLIGENT
The intelligent proxy
Application
Proxy
”Real” connection to the proxy
Wire protocol understood
The intelligent proxy
Application
Proxy
”Real” connection to the proxy
Wire protocol understood
Even at connection time
The intelligent proxy
Application
Proxy
”Real” connection to the proxy
Wire protocol understood
Even at connection time
Automatic or app-driven load balancing
The intelligent proxy
Application
Proxy
”Real” connection to the proxy
Wire protocol understood
Even at connection time
Automatic or app-driven load balancing
Transparent failover
The intelligent proxy
Application
Proxy
Some players:
• ProxySQL
• Maxscale
• MySQL router
• Tungsten Proxy
TRANSPARENT FAILOVER
Connection to a proxy
Application
Tungsten Proxy
application <> proxy connection
proxy <> database connection
Failure
Application
Tungsten Proxy
application <> proxy
proxy <> database connection BROKEN
Failure
Application
Tungsten Proxy
application <> proxy connection OK
proxy <> database connection BROKEN
Failover
Application
Tungsten Proxy
application <> proxy: Traffic is paused
proxy <> database: automatic reconnection (Manager)
Reconnection
Application
Tungsten Proxy
application <> proxy: traffic resumed
proxy <> database: fresh connection
READ-WRITE SPLITTING
READ-WRITE SPLITTING
• Layer 4 proxies r/w split
• With intelligent proxies
• SQL parsing
• Application driven
• Smart scale
With a layer 4 proxy
Application
Proxy
Single node picked per connection
Port based
Application
Proxy
Target PORT on the proxy determines the
connection type
33063307
Host based
Application
Proxy
Target HOST reroutes to the desired node127.0.0.1127.0.0.2
READ-WRITE SPLITTING
• Layer 4 proxies r/w split
• With intelligent proxies
• SQL parsing
• Application driven
• Smart scale
R/W splitting with an intelligent proxy
Application
Tungsten Proxy
3307 3306 Port and Host based r/w split also available
READ-WRITE SPLITTING
• Layer 4 proxies r/w split
• With intelligent proxies
• SQL parsing
• Application driven
• Smart scale
Automatic R/W splitting
Application
Tungsten Proxy
Automated SQL analysis
SELECTSHOW
Automatic R/W splitting
Application
Tungsten Proxy
Transactions remain on master
BEGIN… COMMIT
READ-WRITE SPLITTING
• Layer 4 proxies r/w split
• With intelligent proxies
• SQL parsing
• Application driven
• Smart scale
Application-driven R/W splitting
Application
Tungsten Proxy
Directives given through SQL comments
TUNGSTEN USE
RO_RELAXED
Application-driven R/W splitting
Application
Tungsten Proxy
Directives given through SQL comments
• For a single statement
TUNGSTEN USE
RO_RELAXED
/* TUNGSTEN USE RO_RELAXED */ SELECT xxx
Application-driven R/W splitting
Application
Tungsten Proxy
Directives given through SQL comments
• For a single statement
• For a block
TUNGSTEN USE
RO_RELAXED
/* TUNGSTEN USE RO_RELAXED */ SELECT xxx
-- TUNGSTEN USE RO_RELAXED
SELECT xxx
SELECT yyy
READ-WRITE SPLITTING
• Layer 4 proxies r/w split
• With intelligent proxies
• SQL parsing
• Application driven
• Smart scale
Smart Scale
Application
Tungsten Proxy
Avoids reading stale data by recording write
positionWrite position N
Smart Scale
Application
Tungsten Proxy
Avoids reading stale data by recording write
position
Reads from slave only if last write has reached
the replica
Write position N
Is Write N replicated?
Smart Scale
Application
Tungsten Proxy
Avoids reading stale data by recording write
position
Reads from slave only if last write has reached
the replica
Otherwise reads from primary
Write position N
Until replicas catch up
RECAP
Fast and simple proxy
Application
Proxy
Intelligent proxy
Application
Proxy
Transparent failover
Application
Tungsten Proxy
Read from replicas
Application
Tungsten Proxy
Many read/write splitting possibilities
Write position N
Is Write N replicated?
For More Info…
Product and General Information:
info@continuent.com
Sales Requests:
sales@continuent.com
THANK YOU FOR LISTENING
continuent.com
The MySQL Availability Company
Gilles Rayrat

More Related Content

PDF
URP? Excuse You! The Three Metrics You Have to Know
PDF
Making Scala Faster: 3 Expert Tips For Busy Development Teams
PDF
A Practical Guide to Selecting a Stream Processing Technology
PPTX
Web Analytics using Kafka - August talk w/ Women Who Code
PDF
Building High-Throughput, Low-Latency Pipelines in Kafka
PPTX
Flink Forward San Francisco 2018 keynote: Srikanth Satya - "Stream Processin...
PDF
Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
PPTX
Monitoring Apache Kafka
URP? Excuse You! The Three Metrics You Have to Know
Making Scala Faster: 3 Expert Tips For Busy Development Teams
A Practical Guide to Selecting a Stream Processing Technology
Web Analytics using Kafka - August talk w/ Women Who Code
Building High-Throughput, Low-Latency Pipelines in Kafka
Flink Forward San Francisco 2018 keynote: Srikanth Satya - "Stream Processin...
Better Deployments with Sub Environments Using Spring Cloud and Netflix Ribbon
Monitoring Apache Kafka

What's hot (20)

PPTX
Functional reactive programming
PPTX
Apache Kafka : Monitoring vs Alerting
PDF
Building a company-wide data pipeline on Apache Kafka - engineering for 150 b...
PPTX
Spring integration with the Java DSL
PDF
Control and monitor_microservices_with_microprofile
PPTX
Confluent building a real-time streaming platform using kafka streams and k...
PPTX
Flink 1.0-slides
PDF
Api design best practice
PPTX
Quick Tour On Zeppelin
PDF
Transactions in micro-services (fall 2019)
PPTX
Architecture Sustaining LINE Sticker services
PDF
Introduction to Apache Kafka
PDF
(ATS6-PLAT07) Managing AEP in an enterprise environment
PPTX
Apache kafka part 1
PPTX
DEVNET-1166 Open SDN Controller APIs
PPTX
... No it's Apache Kafka!
PDF
Introduction to Akka Streams
PDF
Declarative Concurrency with Reactive Programming
PPTX
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
PPTX
How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...
Functional reactive programming
Apache Kafka : Monitoring vs Alerting
Building a company-wide data pipeline on Apache Kafka - engineering for 150 b...
Spring integration with the Java DSL
Control and monitor_microservices_with_microprofile
Confluent building a real-time streaming platform using kafka streams and k...
Flink 1.0-slides
Api design best practice
Quick Tour On Zeppelin
Transactions in micro-services (fall 2019)
Architecture Sustaining LINE Sticker services
Introduction to Apache Kafka
(ATS6-PLAT07) Managing AEP in an enterprise environment
Apache kafka part 1
DEVNET-1166 Open SDN Controller APIs
... No it's Apache Kafka!
Introduction to Akka Streams
Declarative Concurrency with Reactive Programming
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
How Zillow Unlocked Kafka to 50 Teams in 8 months | Shahar Cizer Kobrinsky, Z...
Ad

Similar to Webinar Slides: Intelligent Database Proxies: Routing & Transparent Failover (20)

PDF
Webinar slides: Introduction to Database Proxies (for MySQL)
PDF
ProxySQL Tutorial - PLAM 2016
PPTX
Proxysql use case scenarios fosdem17
PPTX
Proxysql use case scenarios plam 2016
PPTX
Proxysql use case scenarios hl++ 2017
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
A Year in Google - Percona Live Europe 2018
PDF
HandsOn ProxySQL Tutorial - PLSC18
PDF
Continuent Tungsten Value Proposition Webinar
PDF
Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...
PDF
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
PDF
Training Slides: 101 - Basics: Tungsten Clustering - Under The Hood
PDF
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
PDF
Tungsten Webinar: v6 & v7 Release Recap, and Beyond
PDF
Fortify aws aurora_proxy
PDF
Database Performance With Proxy Architectures
PDF
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
PDF
20200613 my sql-ha-deployment
PDF
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
PDF
Fortify aws aurora_proxy_2019_pleu
Webinar slides: Introduction to Database Proxies (for MySQL)
ProxySQL Tutorial - PLAM 2016
Proxysql use case scenarios fosdem17
Proxysql use case scenarios plam 2016
Proxysql use case scenarios hl++ 2017
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
A Year in Google - Percona Live Europe 2018
HandsOn ProxySQL Tutorial - PLSC18
Continuent Tungsten Value Proposition Webinar
Webinar Slides: No Data Loss MySQL: Guaranteed Credit Card Transaction Availa...
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
Training Slides: 101 - Basics: Tungsten Clustering - Under The Hood
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Tungsten Webinar: v6 & v7 Release Recap, and Beyond
Fortify aws aurora_proxy
Database Performance With Proxy Architectures
Another MySQL HA Solution for ProxySQL Users, Easy and All Integrated: MySQL ...
20200613 my sql-ha-deployment
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
Fortify aws aurora_proxy_2019_pleu
Ad

More from Continuent (20)

PDF
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
PDF
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
PDF
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
PDF
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
PDF
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
PDF
Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...
PPTX
Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...
PDF
Training Slides: 205 - Installing and Configuring Tungsten Dashboard
PDF
Training Slides: 352 - Tungsten Replicator for MongoDB & Kafka
PDF
Training Slides: 351 - Tungsten Replicator for Data Warehouses
PDF
Training Slides: 303 - Replicating out of a Cluster
PDF
Training Slides: 206 - Using the Tungsten Cluster AMI
PDF
Training Slides: 254 - Using the Tungsten Replicator AMI
PDF
Training Slides: 253 - Filter like a Pro
PDF
Training Slides: 252 - Monitoring & Troubleshooting
PDF
Training Slides: 302 - Securing Your Cluster With SSL
PDF
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
PDF
Training Slides: 204 - Tungsten Proxy Deep Dive
PDF
Training Slides: 301 - Multi-Cluster Topologies
PDF
Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #1: AWS Aurora
Webinar Slides: AWS Aurora MySQL Replacement: Break Away From Geo-Limitations...
Webinar Slides: High Volume MySQL HA: SaaS Continuous Operations with Terabyt...
Training Slides: 205 - Installing and Configuring Tungsten Dashboard
Training Slides: 352 - Tungsten Replicator for MongoDB & Kafka
Training Slides: 351 - Tungsten Replicator for Data Warehouses
Training Slides: 303 - Replicating out of a Cluster
Training Slides: 206 - Using the Tungsten Cluster AMI
Training Slides: 254 - Using the Tungsten Replicator AMI
Training Slides: 253 - Filter like a Pro
Training Slides: 252 - Monitoring & Troubleshooting
Training Slides: 302 - Securing Your Cluster With SSL
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Training Slides: 204 - Tungsten Proxy Deep Dive
Training Slides: 301 - Multi-Cluster Topologies
Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...

Recently uploaded (20)

PPT
tcp ip networks nd ip layering assotred slides
PDF
Sims 4 Historia para lo sims 4 para jugar
PPTX
SAP Ariba Sourcing PPT for learning material
PPT
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PDF
Introduction to the IoT system, how the IoT system works
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
PPTX
Introduction to Information and Communication Technology
PPTX
Internet___Basics___Styled_ presentation
PPTX
E -tech empowerment technologies PowerPoint
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PPTX
artificial intelligence overview of it and more
PPTX
Funds Management Learning Material for Beg
PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
tcp ip networks nd ip layering assotred slides
Sims 4 Historia para lo sims 4 para jugar
SAP Ariba Sourcing PPT for learning material
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
RPKI Status Update, presented by Makito Lay at IDNOG 10
Design_with_Watersergyerge45hrbgre4top (1).ppt
SASE Traffic Flow - ZTNA Connector-1.pdf
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Introduction to the IoT system, how the IoT system works
522797556-Unit-2-Temperature-measurement-1-1.pptx
CHE NAA, , b,mn,mblblblbljb jb jlb ,j , ,C PPT.pptx
Introduction to Information and Communication Technology
Internet___Basics___Styled_ presentation
E -tech empowerment technologies PowerPoint
Unit-1 introduction to cyber security discuss about how to secure a system
artificial intelligence overview of it and more
Funds Management Learning Material for Beg
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION

Webinar Slides: Intelligent Database Proxies: Routing & Transparent Failover