SlideShare une entreprise Scribd logo
1  sur  29
© SkySQL Corporation Ab. Company Confidential.
MaxScale – The Pluggable Router
Anders Karlsson
Senior Sales Engineer, SkySQL
© SkySQL Corporation Ab. Company Confidential.
Agenda
• What is MaxScale and why do we need it?
• MaxScale Design
• MaxScale modules
• MaxScale use cases
• Demo
© SkySQL Corporation Ab. Company Confidential.
Scaling beyond a single server
• Scaling with a single server is expensive
• A single large server is more expensive than
many small ones
• A single large server is more vulnerable than
many small ones
• Scaling across many small servers can be
difficult though
• A Load Balancer works but doesn’t know about
MariaDB/MySQL traffic
© SkySQL Corporation Ab. Company Confidential.
Why do we need MaxScale
• We need something better and different than
just a Load Balancer
• We need something that knows about MariaDB
traffic
• We need something fast and flexible, yet
lightweight
© SkySQL Corporation Ab. Company Confidential.
We need a scale out server
• A server that scales out the load to other
servers
• A server that is transparent to applications and
servers
• A server that can parse SQL requests and act
accordingly depending on the content
© SkySQL Corporation Ab. Company Confidential.
MaxScale Objectives
•Highly scalable
•Transparent to the application
•Highly available
•Extendible
•Flexible
•Modules define MaxScale functionality
•Open source, GPL2 software
since 8th of Jan. 2014
© SkySQL Corporation Ab. Company Confidential.
Implementation details
• Mostly written in C (with a little C++) (thank you!)
• Multi-threaded
• epoll() based mechanism
• Dynamic configuration and reconfiguration
supported
• State of servers determined dynamically
• Multiple setup in allowed in a single MaxScale
setup
© SkySQL Corporation Ab. Company Confidential.
MaxScale modules
Core of MaxScale is multi-threaded, event-driven network IO processor
10/06/2014
Client authenticates
once - with MaxScale
Alter, block or log client
requests and results
Content-aware or unaware routers
Configuration and state
aware monitors
Allows multiple protocols for
clients and servers
© SkySQL Corporation Ab. Company Confidential.
Protocol modules
• Implements a protocol that can access
MaxScale
• MySQL / MariaDB Client and server supported
• http and telnet for monitoring, configuration and
debugging
© SkySQL Corporation Ab. Company Confidential.
Authentication modules
• Authenticates clients
• Based on data from connected servers
• MaxScale does not in and of itself have an
authentication / user database, this is picked up
from connected servers
© SkySQL Corporation Ab. Company Confidential.
Monitor modules
• Monitors the state of connected servers
• Used to provide information for routing modules
• Currently monitors MySQL / MariaDB and
Galera Clusters
© SkySQL Corporation Ab. Company Confidential.
Router modules
• Router traffic from clients to servers, using a
specified rule
• Two router modules are currently available
• Connection routing
• Read / Write split
• This is the most important type of
module
© SkySQL Corporation Ab. Company Confidential.
Filter modules
• Optional type of module
• Allows filtering and processing of SQL
statements and results
• Simple regex filter available with MaxScale 0.7
• Queries may be inspected, modified or rejected
• Multiple filters may be chained
© MariaDB. Company Confidential.
Read Scalability with MySQL Replication
using MaxScale Connection Load Balancing
ClientClient Client For applications that need read scalability and load
balancing and can use separate connections for
reads and writes.
Each client establishes one
connection for writes and one for
reads
Master Slave Slave
[write service]
type=service
router=readconnroute
router_options=master
servers=s1,s2,s3,..,sn
[read service]
type=service
router=readconnroute
router_options=slave
servers=s1,s2,s3,..,sn
Slave Slave
...
© MariaDB. Company Confidential.
Consistent Read Scalability with Galera
using MaxScale’s Read/Write Split Router
ClientClient Client For applications that require read scalability with
consistent reads and High Availability with fast
failovers.
MaxScale selects one as
a master and one or more cluster
members to slave(s)
If node fails a new master can
be chosen immediately.
© MariaDB. Company Confidential.
Query rewrite and filtering
by using MaxScale’s filters
ClientClient Client
For applications with multiple different
backend databases. For database firewalling,
etc.
CREATE TABLE
SUPPLIER(ID INTEGER,
NAME VARCHAR)
TYPE=INNODB
[regex]
type=filter
module=regexfilter
match=TYPE
replace=ENGINE
CREATE TABLE
SUPPLIER(ID INTEGER,
NAME VARCHAR)
ENGINE=INNODB
© MariaDB. Company Confidential.
Query rewrite and filtering (cont.)
by using MaxScale’s filters
ClientClient Client
For sloppy administrators :-)
Select count(*) f0rm
mysql.user
[regex]
type=filter
module=regexfilter
match=[Ff][Oo0][Rr][Mm]
replace=FROM
Select count(*) FROM
mysql.user
© MariaDB. Company Confidential.
Basic Setup
● Clients access MaxScale
● MaxScale in the app server,
UNIX sockets
● Database servers accessed
via TCP
● Clients
● Application Server
Database Cluster
© MariaDB. Company Confidential.
Typical Scenarios
● MySQL Replication with
● Read connection load
balancing
● Read/Write statement
splitting
● Galera Cluster
● Connection load balancing
● Read/Write statement
splitting
● Write conflict avoidance
(planned)
© MariaDB. Company Confidential.
Inside MaxScale
MySQL Local Authentication
Backends Clients
ok
“read user, host” connect/auth
Users are loaded at start
© MariaDB. Company Confidential.
Inside MaxScale
Read/write splitting
“call my_proc(1)”
Master
Slave
Query Classifier
© MariaDB. Company Confidential.
Inside MaxScale Routing
© MariaDB. Company Confidential.
Inside MaxScale Routing
© MariaDB. Company Confidential.
What’s new in R/W split router
● Session Commands
● Local variables, User change,
SET auto commit
● Execute in master & slave but
maintain execution order
● Current limitation : queries not
supported in session
commands
SET @a=(SELECT COUNT(*) FROM mysql.user)
is executed in both nodes.
● Galera H/A Support
● Fault Tolerance
● Replication consistency
● Transaction support
● Within active transaction
everything is routed to master
● Detection of implicit BEGIN and
ROLLBACK/COMMIT
© MariaDB. Company Confidential.
MaxScale 0.7
●Galera support
○Read/Write Split router for Galera Cluster
●Multiple slaves support
○Read/Write Split router allows multiple
slave connections
●Debug Interface enhancements
○Support for wide variety of MaxScale
objects
○User mode support
© MariaDB. Company Confidential.
MaxScale 0.7
●Maintenance mode for servers
●Configurable monitoring interval
●Replication Lag Heartbeat Monitor
●Filter Modules support
●MariaDB 10 Replication
support
© MariaDB. Company Confidential.
Demo scenarios
● 1 Master
● 2 Slaves
© MariaDB. Company Confidential.
Get involved
● Check on GitHub https://github.com/skysql/MaxScale
● MariaDB Source https://downloads.mariadb.org/
● Bugs report
http://bugs.skysql.com/buglist.cgi?product=Maxscale
● Google groups
https://groups.google.com/forum/#!forum/maxscale
● Binary Tarball
http://downloads.skysql.com/files/SkySQL/MaxScale
● SkySQL website http://www.skysql.com
© MariaDB. Company Confidential.
MaxScale - Thank you!

Contenu connexe

Tendances

High Performance Drupal with MariaDB
High Performance Drupal with MariaDBHigh Performance Drupal with MariaDB
High Performance Drupal with MariaDBMariaDB Corporation
 
Deploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksDeploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksMariaDB plc
 
Migrating from InnoDB and HBase to MyRocks at Facebook
Migrating from InnoDB and HBase to MyRocks at FacebookMigrating from InnoDB and HBase to MyRocks at Facebook
Migrating from InnoDB and HBase to MyRocks at FacebookMariaDB plc
 
M|18 How Facebook Migrated to MyRocks
M|18 How Facebook Migrated to MyRocksM|18 How Facebook Migrated to MyRocks
M|18 How Facebook Migrated to MyRocksMariaDB plc
 
How THINQ runs both transactions and analytics at scale
How THINQ runs both transactions and analytics at scaleHow THINQ runs both transactions and analytics at scale
How THINQ runs both transactions and analytics at scaleMariaDB plc
 
How MariaDB is approaching DBaaS
How MariaDB is approaching DBaaSHow MariaDB is approaching DBaaS
How MariaDB is approaching DBaaSMariaDB plc
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera ClusterAbdul Manaf
 
How we switched to columnar at SpendHQ
How we switched to columnar at SpendHQHow we switched to columnar at SpendHQ
How we switched to columnar at SpendHQMariaDB plc
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
 
Getting started in the cloud for developers
Getting started in the cloud for developersGetting started in the cloud for developers
Getting started in the cloud for developersMariaDB plc
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...Insight Technology, Inc.
 
Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011Henrik Ingo
 
High performance and high availability proxies for MySQL
High performance and high availability proxies for MySQLHigh performance and high availability proxies for MySQL
High performance and high availability proxies for MySQLMydbops
 
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
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineKangaroot
 
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...Severalnines
 
M|18 Running MariaDB TX on Containers
M|18 Running MariaDB TX on ContainersM|18 Running MariaDB TX on Containers
M|18 Running MariaDB TX on ContainersMariaDB plc
 
Using all of the high availability options in MariaDB
Using all of the high availability options in MariaDBUsing all of the high availability options in MariaDB
Using all of the high availability options in MariaDBMariaDB plc
 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudSeveralnines
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialColin Charles
 

Tendances (20)

High Performance Drupal with MariaDB
High Performance Drupal with MariaDBHigh Performance Drupal with MariaDB
High Performance Drupal with MariaDB
 
Deploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksDeploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia Networks
 
Migrating from InnoDB and HBase to MyRocks at Facebook
Migrating from InnoDB and HBase to MyRocks at FacebookMigrating from InnoDB and HBase to MyRocks at Facebook
Migrating from InnoDB and HBase to MyRocks at Facebook
 
M|18 How Facebook Migrated to MyRocks
M|18 How Facebook Migrated to MyRocksM|18 How Facebook Migrated to MyRocks
M|18 How Facebook Migrated to MyRocks
 
How THINQ runs both transactions and analytics at scale
How THINQ runs both transactions and analytics at scaleHow THINQ runs both transactions and analytics at scale
How THINQ runs both transactions and analytics at scale
 
How MariaDB is approaching DBaaS
How MariaDB is approaching DBaaSHow MariaDB is approaching DBaaS
How MariaDB is approaching DBaaS
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
 
How we switched to columnar at SpendHQ
How we switched to columnar at SpendHQHow we switched to columnar at SpendHQ
How we switched to columnar at SpendHQ
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
Getting started in the cloud for developers
Getting started in the cloud for developersGetting started in the cloud for developers
Getting started in the cloud for developers
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
 
Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011
 
High performance and high availability proxies for MySQL
High performance and high availability proxies for MySQLHigh performance and high availability proxies for MySQL
High performance and high availability proxies for MySQL
 
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: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
 
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
 
M|18 Running MariaDB TX on Containers
M|18 Running MariaDB TX on ContainersM|18 Running MariaDB TX on Containers
M|18 Running MariaDB TX on Containers
 
Using all of the high availability options in MariaDB
Using all of the high availability options in MariaDBUsing all of the high availability options in MariaDB
Using all of the high availability options in MariaDB
 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloud
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 

Similaire à MaxScale - The Pluggable Router

Max scale overview boston mysql meetup 03102014
Max scale overview boston mysql meetup 03102014Max scale overview boston mysql meetup 03102014
Max scale overview boston mysql meetup 03102014jdayskysql
 
Database Security Threats - MariaDB Security Best Practices
Database Security Threats - MariaDB Security Best PracticesDatabase Security Threats - MariaDB Security Best Practices
Database Security Threats - MariaDB Security Best PracticesMariaDB plc
 
Les fonctionnalites mariadb
Les fonctionnalites mariadbLes fonctionnalites mariadb
Les fonctionnalites mariadblemugfr
 
Getting the most out of MariaDB MaxScale
Getting the most out of MariaDB MaxScaleGetting the most out of MariaDB MaxScale
Getting the most out of MariaDB MaxScaleMariaDB plc
 
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Amazon Web Services
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceAmazon Web Services
 
MariaDB for the Enterprise
MariaDB for the EnterpriseMariaDB for the Enterprise
MariaDB for the EnterpriseAll Things Open
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithMarkus Eisele
 
AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...
AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...
AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...Amazon Web Services
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceAmazon Web Services
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceAmazon Web Services
 
Hochverfügbarkeit mit MariaDB Enterprise - MariaDB Roadshow Summer 2014 Hambu...
Hochverfügbarkeit mit MariaDB Enterprise - MariaDB Roadshow Summer 2014 Hambu...Hochverfügbarkeit mit MariaDB Enterprise - MariaDB Roadshow Summer 2014 Hambu...
Hochverfügbarkeit mit MariaDB Enterprise - MariaDB Roadshow Summer 2014 Hambu...MariaDB Corporation
 
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...Amazon Web Services
 
Netherlands Tech Tour 02 - MySQL Fabric
Netherlands Tech Tour 02 -   MySQL FabricNetherlands Tech Tour 02 -   MySQL Fabric
Netherlands Tech Tour 02 - MySQL FabricMark Swarbrick
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScaleMariaDB plc
 
Upgrading to my sql 8.0
Upgrading to my sql 8.0Upgrading to my sql 8.0
Upgrading to my sql 8.0Ståle Deraas
 
Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...
Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...
Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...Continuent
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlContinuent
 
SQL Server Lift & Shift on Azure - SQL Saturday 921
SQL Server Lift & Shift on Azure - SQL Saturday 921SQL Server Lift & Shift on Azure - SQL Saturday 921
SQL Server Lift & Shift on Azure - SQL Saturday 921Marco Obinu
 

Similaire à MaxScale - The Pluggable Router (20)

Max scale overview boston mysql meetup 03102014
Max scale overview boston mysql meetup 03102014Max scale overview boston mysql meetup 03102014
Max scale overview boston mysql meetup 03102014
 
Database Security Threats - MariaDB Security Best Practices
Database Security Threats - MariaDB Security Best PracticesDatabase Security Threats - MariaDB Security Best Practices
Database Security Threats - MariaDB Security Best Practices
 
Les fonctionnalites mariadb
Les fonctionnalites mariadbLes fonctionnalites mariadb
Les fonctionnalites mariadb
 
Getting the most out of MariaDB MaxScale
Getting the most out of MariaDB MaxScaleGetting the most out of MariaDB MaxScale
Getting the most out of MariaDB MaxScale
 
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
MariaDB for the Enterprise
MariaDB for the EnterpriseMariaDB for the Enterprise
MariaDB for the Enterprise
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...
AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...
AWS re:Invent 2016: Workshop: Using the Database Migration Service (DMS) for ...
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
Hochverfügbarkeit mit MariaDB Enterprise - MariaDB Roadshow Summer 2014 Hambu...
Hochverfügbarkeit mit MariaDB Enterprise - MariaDB Roadshow Summer 2014 Hambu...Hochverfügbarkeit mit MariaDB Enterprise - MariaDB Roadshow Summer 2014 Hambu...
Hochverfügbarkeit mit MariaDB Enterprise - MariaDB Roadshow Summer 2014 Hambu...
 
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
Migrate from SQL Server or Oracle into Amazon Aurora using AWS Database Migra...
 
SQL Server Clustering Part1
SQL Server Clustering Part1SQL Server Clustering Part1
SQL Server Clustering Part1
 
Netherlands Tech Tour 02 - MySQL Fabric
Netherlands Tech Tour 02 -   MySQL FabricNetherlands Tech Tour 02 -   MySQL Fabric
Netherlands Tech Tour 02 - MySQL Fabric
 
MariaDB MaxScale
MariaDB MaxScaleMariaDB MaxScale
MariaDB MaxScale
 
Upgrading to my sql 8.0
Upgrading to my sql 8.0Upgrading to my sql 8.0
Upgrading to my sql 8.0
 
Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...
Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...Webinar Slides: MySQL Data Protection: Medical SaaS Manages Sensitive HIPAA C...
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 #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
 
SQL Server Lift & Shift on Azure - SQL Saturday 921
SQL Server Lift & Shift on Azure - SQL Saturday 921SQL Server Lift & Shift on Azure - SQL Saturday 921
SQL Server Lift & Shift on Azure - SQL Saturday 921
 

Plus de MariaDB Corporation

Automatisierung & Verwaltung von Datenbank - Clustern mit Severalnines - Mari...
Automatisierung & Verwaltung von Datenbank - Clustern mit Severalnines - Mari...Automatisierung & Verwaltung von Datenbank - Clustern mit Severalnines - Mari...
Automatisierung & Verwaltung von Datenbank - Clustern mit Severalnines - Mari...MariaDB Corporation
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...MariaDB Corporation
 
High Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseHigh Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseMariaDB Corporation
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014MariaDB Corporation
 
Automatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
Automatisation et Gestion de Cluster de Bases de Données MariaDB RoadshowAutomatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
Automatisation et Gestion de Cluster de Bases de Données MariaDB RoadshowMariaDB Corporation
 
Automation and Management of Database Clusters MariaDB Roadshow 2014
Automation and Management of Database Clusters MariaDB Roadshow 2014Automation and Management of Database Clusters MariaDB Roadshow 2014
Automation and Management of Database Clusters MariaDB Roadshow 2014MariaDB Corporation
 
Automation and Management of Database Clusters
Automation and Management of Database ClustersAutomation and Management of Database Clusters
Automation and Management of Database ClustersMariaDB Corporation
 
The New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and moreThe New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and moreMariaDB Corporation
 
High Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseHigh Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseMariaDB Corporation
 
CCM Escape Case Study - SkySQL Paris Meetup 17.12.2013
CCM Escape Case Study - SkySQL Paris Meetup 17.12.2013CCM Escape Case Study - SkySQL Paris Meetup 17.12.2013
CCM Escape Case Study - SkySQL Paris Meetup 17.12.2013MariaDB Corporation
 
Galera cluster - SkySQL Paris Meetup 17.12.2013
Galera cluster - SkySQL Paris Meetup 17.12.2013Galera cluster - SkySQL Paris Meetup 17.12.2013
Galera cluster - SkySQL Paris Meetup 17.12.2013MariaDB Corporation
 
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris MeetupMariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris MeetupMariaDB Corporation
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Corporation
 
High Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
High Availability with Galera Cluster - SkySQL Road Show 2013 in BerlinHigh Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
High Availability with Galera Cluster - SkySQL Road Show 2013 in BerlinMariaDB Corporation
 
MySQL & MariaDB - Innovation happens here - London Roadshow 2013
MySQL & MariaDB - Innovation happens here - London Roadshow 2013MySQL & MariaDB - Innovation happens here - London Roadshow 2013
MySQL & MariaDB - Innovation happens here - London Roadshow 2013MariaDB Corporation
 
1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL Roadshow1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL RoadshowMariaDB Corporation
 

Plus de MariaDB Corporation (18)

Automatisierung & Verwaltung von Datenbank - Clustern mit Severalnines - Mari...
Automatisierung & Verwaltung von Datenbank - Clustern mit Severalnines - Mari...Automatisierung & Verwaltung von Datenbank - Clustern mit Severalnines - Mari...
Automatisierung & Verwaltung von Datenbank - Clustern mit Severalnines - Mari...
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
 
High Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseHigh Availability with MariaDB Enterprise
High Availability with MariaDB Enterprise
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
 
Galaxy Big Data with MariaDB
Galaxy Big Data with MariaDBGalaxy Big Data with MariaDB
Galaxy Big Data with MariaDB
 
Automatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
Automatisation et Gestion de Cluster de Bases de Données MariaDB RoadshowAutomatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
Automatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
 
Automation and Management of Database Clusters MariaDB Roadshow 2014
Automation and Management of Database Clusters MariaDB Roadshow 2014Automation and Management of Database Clusters MariaDB Roadshow 2014
Automation and Management of Database Clusters MariaDB Roadshow 2014
 
Automation and Management of Database Clusters
Automation and Management of Database ClustersAutomation and Management of Database Clusters
Automation and Management of Database Clusters
 
The New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and moreThe New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and more
 
High Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseHigh Availability with MariaDB Enterprise
High Availability with MariaDB Enterprise
 
MariaDB 10 and Beyond
MariaDB 10 and BeyondMariaDB 10 and Beyond
MariaDB 10 and Beyond
 
CCM Escape Case Study - SkySQL Paris Meetup 17.12.2013
CCM Escape Case Study - SkySQL Paris Meetup 17.12.2013CCM Escape Case Study - SkySQL Paris Meetup 17.12.2013
CCM Escape Case Study - SkySQL Paris Meetup 17.12.2013
 
Galera cluster - SkySQL Paris Meetup 17.12.2013
Galera cluster - SkySQL Paris Meetup 17.12.2013Galera cluster - SkySQL Paris Meetup 17.12.2013
Galera cluster - SkySQL Paris Meetup 17.12.2013
 
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris MeetupMariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris Meetup
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly Available
 
High Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
High Availability with Galera Cluster - SkySQL Road Show 2013 in BerlinHigh Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
High Availability with Galera Cluster - SkySQL Road Show 2013 in Berlin
 
MySQL & MariaDB - Innovation happens here - London Roadshow 2013
MySQL & MariaDB - Innovation happens here - London Roadshow 2013MySQL & MariaDB - Innovation happens here - London Roadshow 2013
MySQL & MariaDB - Innovation happens here - London Roadshow 2013
 
1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL Roadshow1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL Roadshow
 

Dernier

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Dernier (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

MaxScale - The Pluggable Router

  • 1. © SkySQL Corporation Ab. Company Confidential. MaxScale – The Pluggable Router Anders Karlsson Senior Sales Engineer, SkySQL
  • 2. © SkySQL Corporation Ab. Company Confidential. Agenda • What is MaxScale and why do we need it? • MaxScale Design • MaxScale modules • MaxScale use cases • Demo
  • 3. © SkySQL Corporation Ab. Company Confidential. Scaling beyond a single server • Scaling with a single server is expensive • A single large server is more expensive than many small ones • A single large server is more vulnerable than many small ones • Scaling across many small servers can be difficult though • A Load Balancer works but doesn’t know about MariaDB/MySQL traffic
  • 4. © SkySQL Corporation Ab. Company Confidential. Why do we need MaxScale • We need something better and different than just a Load Balancer • We need something that knows about MariaDB traffic • We need something fast and flexible, yet lightweight
  • 5. © SkySQL Corporation Ab. Company Confidential. We need a scale out server • A server that scales out the load to other servers • A server that is transparent to applications and servers • A server that can parse SQL requests and act accordingly depending on the content
  • 6. © SkySQL Corporation Ab. Company Confidential. MaxScale Objectives •Highly scalable •Transparent to the application •Highly available •Extendible •Flexible •Modules define MaxScale functionality •Open source, GPL2 software since 8th of Jan. 2014
  • 7. © SkySQL Corporation Ab. Company Confidential. Implementation details • Mostly written in C (with a little C++) (thank you!) • Multi-threaded • epoll() based mechanism • Dynamic configuration and reconfiguration supported • State of servers determined dynamically • Multiple setup in allowed in a single MaxScale setup
  • 8. © SkySQL Corporation Ab. Company Confidential. MaxScale modules Core of MaxScale is multi-threaded, event-driven network IO processor 10/06/2014 Client authenticates once - with MaxScale Alter, block or log client requests and results Content-aware or unaware routers Configuration and state aware monitors Allows multiple protocols for clients and servers
  • 9. © SkySQL Corporation Ab. Company Confidential. Protocol modules • Implements a protocol that can access MaxScale • MySQL / MariaDB Client and server supported • http and telnet for monitoring, configuration and debugging
  • 10. © SkySQL Corporation Ab. Company Confidential. Authentication modules • Authenticates clients • Based on data from connected servers • MaxScale does not in and of itself have an authentication / user database, this is picked up from connected servers
  • 11. © SkySQL Corporation Ab. Company Confidential. Monitor modules • Monitors the state of connected servers • Used to provide information for routing modules • Currently monitors MySQL / MariaDB and Galera Clusters
  • 12. © SkySQL Corporation Ab. Company Confidential. Router modules • Router traffic from clients to servers, using a specified rule • Two router modules are currently available • Connection routing • Read / Write split • This is the most important type of module
  • 13. © SkySQL Corporation Ab. Company Confidential. Filter modules • Optional type of module • Allows filtering and processing of SQL statements and results • Simple regex filter available with MaxScale 0.7 • Queries may be inspected, modified or rejected • Multiple filters may be chained
  • 14. © MariaDB. Company Confidential. Read Scalability with MySQL Replication using MaxScale Connection Load Balancing ClientClient Client For applications that need read scalability and load balancing and can use separate connections for reads and writes. Each client establishes one connection for writes and one for reads Master Slave Slave [write service] type=service router=readconnroute router_options=master servers=s1,s2,s3,..,sn [read service] type=service router=readconnroute router_options=slave servers=s1,s2,s3,..,sn Slave Slave ...
  • 15. © MariaDB. Company Confidential. Consistent Read Scalability with Galera using MaxScale’s Read/Write Split Router ClientClient Client For applications that require read scalability with consistent reads and High Availability with fast failovers. MaxScale selects one as a master and one or more cluster members to slave(s) If node fails a new master can be chosen immediately.
  • 16. © MariaDB. Company Confidential. Query rewrite and filtering by using MaxScale’s filters ClientClient Client For applications with multiple different backend databases. For database firewalling, etc. CREATE TABLE SUPPLIER(ID INTEGER, NAME VARCHAR) TYPE=INNODB [regex] type=filter module=regexfilter match=TYPE replace=ENGINE CREATE TABLE SUPPLIER(ID INTEGER, NAME VARCHAR) ENGINE=INNODB
  • 17. © MariaDB. Company Confidential. Query rewrite and filtering (cont.) by using MaxScale’s filters ClientClient Client For sloppy administrators :-) Select count(*) f0rm mysql.user [regex] type=filter module=regexfilter match=[Ff][Oo0][Rr][Mm] replace=FROM Select count(*) FROM mysql.user
  • 18. © MariaDB. Company Confidential. Basic Setup ● Clients access MaxScale ● MaxScale in the app server, UNIX sockets ● Database servers accessed via TCP ● Clients ● Application Server Database Cluster
  • 19. © MariaDB. Company Confidential. Typical Scenarios ● MySQL Replication with ● Read connection load balancing ● Read/Write statement splitting ● Galera Cluster ● Connection load balancing ● Read/Write statement splitting ● Write conflict avoidance (planned)
  • 20. © MariaDB. Company Confidential. Inside MaxScale MySQL Local Authentication Backends Clients ok “read user, host” connect/auth Users are loaded at start
  • 21. © MariaDB. Company Confidential. Inside MaxScale Read/write splitting “call my_proc(1)” Master Slave Query Classifier
  • 22. © MariaDB. Company Confidential. Inside MaxScale Routing
  • 23. © MariaDB. Company Confidential. Inside MaxScale Routing
  • 24. © MariaDB. Company Confidential. What’s new in R/W split router ● Session Commands ● Local variables, User change, SET auto commit ● Execute in master & slave but maintain execution order ● Current limitation : queries not supported in session commands SET @a=(SELECT COUNT(*) FROM mysql.user) is executed in both nodes. ● Galera H/A Support ● Fault Tolerance ● Replication consistency ● Transaction support ● Within active transaction everything is routed to master ● Detection of implicit BEGIN and ROLLBACK/COMMIT
  • 25. © MariaDB. Company Confidential. MaxScale 0.7 ●Galera support ○Read/Write Split router for Galera Cluster ●Multiple slaves support ○Read/Write Split router allows multiple slave connections ●Debug Interface enhancements ○Support for wide variety of MaxScale objects ○User mode support
  • 26. © MariaDB. Company Confidential. MaxScale 0.7 ●Maintenance mode for servers ●Configurable monitoring interval ●Replication Lag Heartbeat Monitor ●Filter Modules support ●MariaDB 10 Replication support
  • 27. © MariaDB. Company Confidential. Demo scenarios ● 1 Master ● 2 Slaves
  • 28. © MariaDB. Company Confidential. Get involved ● Check on GitHub https://github.com/skysql/MaxScale ● MariaDB Source https://downloads.mariadb.org/ ● Bugs report http://bugs.skysql.com/buglist.cgi?product=Maxscale ● Google groups https://groups.google.com/forum/#!forum/maxscale ● Binary Tarball http://downloads.skysql.com/files/SkySQL/MaxScale ● SkySQL website http://www.skysql.com
  • 29. © MariaDB. Company Confidential. MaxScale - Thank you!