SlideShare a Scribd company logo
1 of 13
Download to read offline
James Sturrock, Operations Manager
February 15, 2018
MySQL at
Mastercard
©2018Mastercard.ProprietaryandConfidential.
2JANUARY 19, 2018
• We employ over 13,000 people worldwide
• One of the most recognizable brands in the world
• Our vision is “a World Beyond Cash™“
• Our mission is:
Every day, everywhere, we use our technology and expertise
to make payments safe, simple and smart
About us
©2018Mastercard.ProprietaryandConfidential.
3JANUARY 19, 2018
• James Sturrock
• Operations Manager
• With Mastercard for over 7 years
• Part of the Payment Gateway Services division
Who am I?
©2018Mastercard.ProprietaryandConfidential.
4JANUARY 19, 2018
• Our Payment Gateways processes financial transitions for
merchants globally, across a variety of sectors such as:
– Ecommerce – major online brands
– Airlines
– Cardholder Present – pub and restaurant chains,
high-street stores etc
• We bridge the gap between your bank authorizing a payment
and the merchant receiving the funds
• Due to the nature of our business, operationally we must
focus on maintaining three key objectives:
1.  Security – we handle peoples personal data as well as cardholder
data
2.  Stability – huge financial and reputational cost to merchants if
people can’t buy things
3.  Scalability – we need to ensure we can always cope with
unexpected surges in traffic (Black Friday, Sporting Events etc)
What we do
©2018Mastercard.ProprietaryandConfidential.
5JANUARY 19, 2018
• MySQL was a good fit for our Linux environment and open
source approach
• Flexibility to use it in whatever way you need to
• Stability, MySQL is almost never the problem!
• Simplicity, MySQL can be used as simply or complex as you
want
Why MySQL
©2018Mastercard.ProprietaryandConfidential.
6JANUARY 19, 2018
– Enterprise Monitor
– Enterprise Authentication
– Enterprise Scalability
• These are all products which we are now using or evaluating!
ensure that 3rd party vendor releases patches for security
vulnerabilities in a timely manner. This can’t be guaranteed from the
open source community.
• Traditionally we have failed to take advantage of the full suite
of Enterprise tools such as:
– Enterprise Monitor
– Enterprise Authentication
– Enterprise Scalability
• These are all products which we are now using or evaluating!
Why MySQL Enterprise
©2018Mastercard.ProprietaryandConfidential.
7JANUARY 19, 2018
• Around 40 servers running MySQL
• Anywhere between 1 and 12 running instances of MySQL on
a single machine
• Vast majority are running MySQL Enterprise Edition
• All running on Red Hat Enterprise Linux (64 bit)
General Overview
Hardware
Presentation
Operating System
Database
©2018Mastercard.ProprietaryandConfidential.
8JANUARY 19, 2018
• We use MySQL Enterprise Monitor along with some legacy in
house log monitoring tools
• Nagios is used for system level monitoring as
well as basic MySQL checks (such as are
instances running, is replication stalled, how
far behind is replication)
• Grafana used for monitoring “user experience”
of the platform, often the best indicator if
there is an actual problem
Monitoring
©2018Mastercard.ProprietaryandConfidential.
9JANUARY 19, 2018
• Classic “upside down tree” replication chain, A single read/
write master replicates down the chain one by one
• Having too many slaves replicating
off one master can slow down the
master!
• When carrying out a failover, there
is much less remastering to be done
• Allows for us to carry out major
schema upgrades on all slaves then
failover with no downtime
Replication
Host 1
Host 2
Host 3
Host 4 Host X
©2018Mastercard.ProprietaryandConfidential.
10JANUARY 19, 2018
• Our replication structure and database design doesn’t give us
high availability out of the box, there is still a single read/write
master
• Red Hat Cluster Suite layered on top of MySQL to provide
automated failure detection and failover
• Built in clustering and quorum functionality
• Essentially manages a VIP and ensures it is running on the
correct host
• Custom health checks are run by the cluster software to
determine if a MySQL instance or the entire host has crashed
High Availability
©2018Mastercard.ProprietaryandConfidential.
11JANUARY 19, 2018
• Replication lag during peak processing periods
– Potentially could be fixed by parallel replication
• Cumbersome process to isolate databases for Kernel
patching
– Potentially could be fixed by using GTID replication
– Potentially could be fixed by using tools like salt/fabric to automate
• Length of time for a cold started database to become “hot”
and fast enough to use
– Potentially could be fixed by migrating to InnoDB
Current Challenges…
©2018Mastercard.ProprietaryandConfidential.
12JANUARY 19, 2018
• Compliance considerations:
– MySQL 8?
– RHEL 7?
• Performance/usability improvements:
– Implement GTID replication
– Test parallel replication
• Tighter integration of MySQL into our “DevOps” toolkit
– Puppet
– Fabric/salt
The Future…..
©2018Mastercard.ProprietaryandConfidential.
13JANUARY 19, 2018
• Use SSD disks where possible!
• Always test schema changes on a dataset equivalent to
production (and test the rollback as well as the rollout)
• You can never have too many monitoring metrics across your
platform
• Having a production like stress test environment is invaluable
• Historically MySQL has not been the problem, hardware and
software bottlenecks are more common
• Disconnect database connections when reaching out to 3rd
party services (avoids rapidly reaching the max_connection
limit)
Lessons Learned…

More Related Content

Similar to MySQL At Mastercard - 2018 MySQL Days

Getting Started with Apache Ignite as a Distributed Database
Getting Started with Apache Ignite as a Distributed DatabaseGetting Started with Apache Ignite as a Distributed Database
Getting Started with Apache Ignite as a Distributed DatabaseRoman Shtykh
 
Security practices in OpenShift
Security practices in OpenShiftSecurity practices in OpenShift
Security practices in OpenShiftNenad Bogojevic
 
Data Works Berlin 2018 - Worldpay - PCI Compliance
Data Works Berlin 2018 - Worldpay - PCI ComplianceData Works Berlin 2018 - Worldpay - PCI Compliance
Data Works Berlin 2018 - Worldpay - PCI ComplianceDavid Walker
 
Not Just a necessary evil, it’s good for business: implementing PCI DSS contr...
Not Just a necessary evil, it’s good for business: implementing PCI DSS contr...Not Just a necessary evil, it’s good for business: implementing PCI DSS contr...
Not Just a necessary evil, it’s good for business: implementing PCI DSS contr...DataWorks Summit
 
In memory computing principles by Mac Moore of GridGain
In memory computing principles by Mac Moore of GridGainIn memory computing principles by Mac Moore of GridGain
In memory computing principles by Mac Moore of GridGainData Con LA
 
MariaDB AX ユースケース / ColumnStore 1.2 新機能
MariaDB AX ユースケース / ColumnStore 1.2 新機能MariaDB AX ユースケース / ColumnStore 1.2 新機能
MariaDB AX ユースケース / ColumnStore 1.2 新機能GOTO Satoru
 
Real-time analysis using an in-memory data grid - Cloud Expo 2013
Real-time analysis using an in-memory data grid - Cloud Expo 2013Real-time analysis using an in-memory data grid - Cloud Expo 2013
Real-time analysis using an in-memory data grid - Cloud Expo 2013ScaleOut Software
 
Who Broke My Cloud? SaaS Monitoring Best Practices
Who Broke My Cloud? SaaS Monitoring Best PracticesWho Broke My Cloud? SaaS Monitoring Best Practices
Who Broke My Cloud? SaaS Monitoring Best PracticesThousandEyes
 
November 2013 HUG: Real-time analytics with in-memory grid
November 2013 HUG: Real-time analytics with in-memory gridNovember 2013 HUG: Real-time analytics with in-memory grid
November 2013 HUG: Real-time analytics with in-memory gridYahoo Developer Network
 
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...MongoDB
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...Olivier DASINI
 
MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)Keith Hollman
 
Webinar | Aligning GDPR Requirements with Today's Hybrid Cloud Realities
Webinar  |  Aligning GDPR Requirements with Today's Hybrid Cloud RealitiesWebinar  |  Aligning GDPR Requirements with Today's Hybrid Cloud Realities
Webinar | Aligning GDPR Requirements with Today's Hybrid Cloud RealitiesDataStax
 
Practical Tips for Oracle Business Intelligence Applications 11g Implementations
Practical Tips for Oracle Business Intelligence Applications 11g ImplementationsPractical Tips for Oracle Business Intelligence Applications 11g Implementations
Practical Tips for Oracle Business Intelligence Applications 11g ImplementationsMichael Rainey
 
M|18 How Copart Switched to MariaDB and Reduced Costs During Growth
M|18 How Copart Switched to MariaDB and Reduced Costs During GrowthM|18 How Copart Switched to MariaDB and Reduced Costs During Growth
M|18 How Copart Switched to MariaDB and Reduced Costs During GrowthMariaDB plc
 
Microservices: Data & Design - Miguel Cervantes
Microservices: Data & Design - Miguel CervantesMicroservices: Data & Design - Miguel Cervantes
Microservices: Data & Design - Miguel CervantesAmazon Web Services
 
Top Priorities for Cloud Application Security
Top Priorities for Cloud Application SecurityTop Priorities for Cloud Application Security
Top Priorities for Cloud Application SecurityTeri Radichel
 
Bimodal IT and EDW Modernization
Bimodal IT and EDW ModernizationBimodal IT and EDW Modernization
Bimodal IT and EDW ModernizationRobert Gleave
 
Office 365 Monitoring Best Practices
Office 365 Monitoring Best PracticesOffice 365 Monitoring Best Practices
Office 365 Monitoring Best PracticesThousandEyes
 
451 Group: Future Of Web Content Management - Open Source CMS
451 Group: Future Of Web Content Management - Open Source CMS451 Group: Future Of Web Content Management - Open Source CMS
451 Group: Future Of Web Content Management - Open Source CMSSquiz
 

Similar to MySQL At Mastercard - 2018 MySQL Days (20)

Getting Started with Apache Ignite as a Distributed Database
Getting Started with Apache Ignite as a Distributed DatabaseGetting Started with Apache Ignite as a Distributed Database
Getting Started with Apache Ignite as a Distributed Database
 
Security practices in OpenShift
Security practices in OpenShiftSecurity practices in OpenShift
Security practices in OpenShift
 
Data Works Berlin 2018 - Worldpay - PCI Compliance
Data Works Berlin 2018 - Worldpay - PCI ComplianceData Works Berlin 2018 - Worldpay - PCI Compliance
Data Works Berlin 2018 - Worldpay - PCI Compliance
 
Not Just a necessary evil, it’s good for business: implementing PCI DSS contr...
Not Just a necessary evil, it’s good for business: implementing PCI DSS contr...Not Just a necessary evil, it’s good for business: implementing PCI DSS contr...
Not Just a necessary evil, it’s good for business: implementing PCI DSS contr...
 
In memory computing principles by Mac Moore of GridGain
In memory computing principles by Mac Moore of GridGainIn memory computing principles by Mac Moore of GridGain
In memory computing principles by Mac Moore of GridGain
 
MariaDB AX ユースケース / ColumnStore 1.2 新機能
MariaDB AX ユースケース / ColumnStore 1.2 新機能MariaDB AX ユースケース / ColumnStore 1.2 新機能
MariaDB AX ユースケース / ColumnStore 1.2 新機能
 
Real-time analysis using an in-memory data grid - Cloud Expo 2013
Real-time analysis using an in-memory data grid - Cloud Expo 2013Real-time analysis using an in-memory data grid - Cloud Expo 2013
Real-time analysis using an in-memory data grid - Cloud Expo 2013
 
Who Broke My Cloud? SaaS Monitoring Best Practices
Who Broke My Cloud? SaaS Monitoring Best PracticesWho Broke My Cloud? SaaS Monitoring Best Practices
Who Broke My Cloud? SaaS Monitoring Best Practices
 
November 2013 HUG: Real-time analytics with in-memory grid
November 2013 HUG: Real-time analytics with in-memory gridNovember 2013 HUG: Real-time analytics with in-memory grid
November 2013 HUG: Real-time analytics with in-memory grid
 
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
 
MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)
 
Webinar | Aligning GDPR Requirements with Today's Hybrid Cloud Realities
Webinar  |  Aligning GDPR Requirements with Today's Hybrid Cloud RealitiesWebinar  |  Aligning GDPR Requirements with Today's Hybrid Cloud Realities
Webinar | Aligning GDPR Requirements with Today's Hybrid Cloud Realities
 
Practical Tips for Oracle Business Intelligence Applications 11g Implementations
Practical Tips for Oracle Business Intelligence Applications 11g ImplementationsPractical Tips for Oracle Business Intelligence Applications 11g Implementations
Practical Tips for Oracle Business Intelligence Applications 11g Implementations
 
M|18 How Copart Switched to MariaDB and Reduced Costs During Growth
M|18 How Copart Switched to MariaDB and Reduced Costs During GrowthM|18 How Copart Switched to MariaDB and Reduced Costs During Growth
M|18 How Copart Switched to MariaDB and Reduced Costs During Growth
 
Microservices: Data & Design - Miguel Cervantes
Microservices: Data & Design - Miguel CervantesMicroservices: Data & Design - Miguel Cervantes
Microservices: Data & Design - Miguel Cervantes
 
Top Priorities for Cloud Application Security
Top Priorities for Cloud Application SecurityTop Priorities for Cloud Application Security
Top Priorities for Cloud Application Security
 
Bimodal IT and EDW Modernization
Bimodal IT and EDW ModernizationBimodal IT and EDW Modernization
Bimodal IT and EDW Modernization
 
Office 365 Monitoring Best Practices
Office 365 Monitoring Best PracticesOffice 365 Monitoring Best Practices
Office 365 Monitoring Best Practices
 
451 Group: Future Of Web Content Management - Open Source CMS
451 Group: Future Of Web Content Management - Open Source CMS451 Group: Future Of Web Content Management - Open Source CMS
451 Group: Future Of Web Content Management - Open Source CMS
 

More from Mark Swarbrick

MySQL NoSQL Document Store
MySQL NoSQL Document StoreMySQL NoSQL Document Store
MySQL NoSQL Document StoreMark Swarbrick
 
MySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMark Swarbrick
 
MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8Mark Swarbrick
 
MySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the DolphinMySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the DolphinMark Swarbrick
 
Oracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreOracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreMark Swarbrick
 
TLV - MySQL Security overview
TLV - MySQL Security overviewTLV - MySQL Security overview
TLV - MySQL Security overviewMark Swarbrick
 
TLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + CloudTLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + CloudMark Swarbrick
 
TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8Mark Swarbrick
 
MySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL DaysMySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL DaysMark Swarbrick
 
MySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL DaysMySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL DaysMark Swarbrick
 
MySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL DaysMySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL DaysMark Swarbrick
 
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL DaysMySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL DaysMark Swarbrick
 
MySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL DaysMySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL DaysMark Swarbrick
 
MySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL DaysMySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL DaysMark Swarbrick
 
MySQL Cluster Whats New
MySQL Cluster Whats NewMySQL Cluster Whats New
MySQL Cluster Whats NewMark Swarbrick
 

More from Mark Swarbrick (20)

MySQL NoSQL Document Store
MySQL NoSQL Document StoreMySQL NoSQL Document Store
MySQL NoSQL Document Store
 
MySQL @ the University Of Nottingham
MySQL @ the University Of NottinghamMySQL @ the University Of Nottingham
MySQL @ the University Of Nottingham
 
InnoDb Vs NDB Cluster
InnoDb Vs NDB ClusterInnoDb Vs NDB Cluster
InnoDb Vs NDB Cluster
 
MySQL Security & GDPR
MySQL Security & GDPRMySQL Security & GDPR
MySQL Security & GDPR
 
Intro To MySQL 2019
Intro To MySQL 2019Intro To MySQL 2019
Intro To MySQL 2019
 
MySQL 8
MySQL 8MySQL 8
MySQL 8
 
MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8MySQL Dublin Event Nov 2018 - MySQL 8
MySQL Dublin Event Nov 2018 - MySQL 8
 
MySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the DolphinMySQL Dublin Event Nov 2018 - State of the Dolphin
MySQL Dublin Event Nov 2018 - State of the Dolphin
 
Oracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreOracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document Store
 
TLV - MySQL Security overview
TLV - MySQL Security overviewTLV - MySQL Security overview
TLV - MySQL Security overview
 
TLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + CloudTLV - MySQL Enterprise Edition + Cloud
TLV - MySQL Enterprise Edition + Cloud
 
TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8
 
MySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL DaysMySQL At University Of Nottingham - 2018 MySQL Days
MySQL At University Of Nottingham - 2018 MySQL Days
 
MySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL DaysMySQL 8 - 2018 MySQL Days
MySQL 8 - 2018 MySQL Days
 
MySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL DaysMySQL Security + GDPR - 2018 MySQL Days
MySQL Security + GDPR - 2018 MySQL Days
 
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL DaysMySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
 
MySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL DaysMySQL Cloud - 2018 MySQL Days
MySQL Cloud - 2018 MySQL Days
 
MySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL DaysMySQL 2018 Intro - 2018 MySQL Days
MySQL 2018 Intro - 2018 MySQL Days
 
MySQL + GDPR
MySQL + GDPRMySQL + GDPR
MySQL + GDPR
 
MySQL Cluster Whats New
MySQL Cluster Whats NewMySQL Cluster Whats New
MySQL Cluster Whats New
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 

MySQL At Mastercard - 2018 MySQL Days

  • 1. James Sturrock, Operations Manager February 15, 2018 MySQL at Mastercard
  • 2. ©2018Mastercard.ProprietaryandConfidential. 2JANUARY 19, 2018 • We employ over 13,000 people worldwide • One of the most recognizable brands in the world • Our vision is “a World Beyond Cash™“ • Our mission is: Every day, everywhere, we use our technology and expertise to make payments safe, simple and smart About us
  • 3. ©2018Mastercard.ProprietaryandConfidential. 3JANUARY 19, 2018 • James Sturrock • Operations Manager • With Mastercard for over 7 years • Part of the Payment Gateway Services division Who am I?
  • 4. ©2018Mastercard.ProprietaryandConfidential. 4JANUARY 19, 2018 • Our Payment Gateways processes financial transitions for merchants globally, across a variety of sectors such as: – Ecommerce – major online brands – Airlines – Cardholder Present – pub and restaurant chains, high-street stores etc • We bridge the gap between your bank authorizing a payment and the merchant receiving the funds • Due to the nature of our business, operationally we must focus on maintaining three key objectives: 1.  Security – we handle peoples personal data as well as cardholder data 2.  Stability – huge financial and reputational cost to merchants if people can’t buy things 3.  Scalability – we need to ensure we can always cope with unexpected surges in traffic (Black Friday, Sporting Events etc) What we do
  • 5. ©2018Mastercard.ProprietaryandConfidential. 5JANUARY 19, 2018 • MySQL was a good fit for our Linux environment and open source approach • Flexibility to use it in whatever way you need to • Stability, MySQL is almost never the problem! • Simplicity, MySQL can be used as simply or complex as you want Why MySQL
  • 6. ©2018Mastercard.ProprietaryandConfidential. 6JANUARY 19, 2018 – Enterprise Monitor – Enterprise Authentication – Enterprise Scalability • These are all products which we are now using or evaluating! ensure that 3rd party vendor releases patches for security vulnerabilities in a timely manner. This can’t be guaranteed from the open source community. • Traditionally we have failed to take advantage of the full suite of Enterprise tools such as: – Enterprise Monitor – Enterprise Authentication – Enterprise Scalability • These are all products which we are now using or evaluating! Why MySQL Enterprise
  • 7. ©2018Mastercard.ProprietaryandConfidential. 7JANUARY 19, 2018 • Around 40 servers running MySQL • Anywhere between 1 and 12 running instances of MySQL on a single machine • Vast majority are running MySQL Enterprise Edition • All running on Red Hat Enterprise Linux (64 bit) General Overview Hardware Presentation Operating System Database
  • 8. ©2018Mastercard.ProprietaryandConfidential. 8JANUARY 19, 2018 • We use MySQL Enterprise Monitor along with some legacy in house log monitoring tools • Nagios is used for system level monitoring as well as basic MySQL checks (such as are instances running, is replication stalled, how far behind is replication) • Grafana used for monitoring “user experience” of the platform, often the best indicator if there is an actual problem Monitoring
  • 9. ©2018Mastercard.ProprietaryandConfidential. 9JANUARY 19, 2018 • Classic “upside down tree” replication chain, A single read/ write master replicates down the chain one by one • Having too many slaves replicating off one master can slow down the master! • When carrying out a failover, there is much less remastering to be done • Allows for us to carry out major schema upgrades on all slaves then failover with no downtime Replication Host 1 Host 2 Host 3 Host 4 Host X
  • 10. ©2018Mastercard.ProprietaryandConfidential. 10JANUARY 19, 2018 • Our replication structure and database design doesn’t give us high availability out of the box, there is still a single read/write master • Red Hat Cluster Suite layered on top of MySQL to provide automated failure detection and failover • Built in clustering and quorum functionality • Essentially manages a VIP and ensures it is running on the correct host • Custom health checks are run by the cluster software to determine if a MySQL instance or the entire host has crashed High Availability
  • 11. ©2018Mastercard.ProprietaryandConfidential. 11JANUARY 19, 2018 • Replication lag during peak processing periods – Potentially could be fixed by parallel replication • Cumbersome process to isolate databases for Kernel patching – Potentially could be fixed by using GTID replication – Potentially could be fixed by using tools like salt/fabric to automate • Length of time for a cold started database to become “hot” and fast enough to use – Potentially could be fixed by migrating to InnoDB Current Challenges…
  • 12. ©2018Mastercard.ProprietaryandConfidential. 12JANUARY 19, 2018 • Compliance considerations: – MySQL 8? – RHEL 7? • Performance/usability improvements: – Implement GTID replication – Test parallel replication • Tighter integration of MySQL into our “DevOps” toolkit – Puppet – Fabric/salt The Future…..
  • 13. ©2018Mastercard.ProprietaryandConfidential. 13JANUARY 19, 2018 • Use SSD disks where possible! • Always test schema changes on a dataset equivalent to production (and test the rollback as well as the rollout) • You can never have too many monitoring metrics across your platform • Having a production like stress test environment is invaluable • Historically MySQL has not been the problem, hardware and software bottlenecks are more common • Disconnect database connections when reaching out to 3rd party services (avoids rapidly reaching the max_connection limit) Lessons Learned…