SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
07 October 2023
Mydbops Open Source Database Meetup 14
Vinoth Kanna RS
Co-Founder, Mydbops
MySQL Database Transformation Case Study
Interested in Open Source technologies
▪
MySQL, MongoDB Certified Professional
▪
Active MySQL Community Contributor
▪
Tech Speaker/Blogger
▪
Co-Founded, Mydbops IT Solutions, 2016
▪
Vinoth Kanna RS
About Me
Mydbops
at a
glance
300+
Clients
3000+
Servers
ISO & PCI DSS
Certified
7 Yrs of
Expertise
AWS Advanced
Consulting Partner
TiDB PingCap
Partner
Mydbops Services
Consulting
Services
Managed
Services
MySQL, MongoDB, PostgreSQL, TiDB & Cassandra
Targeted
Engagement
24 x 7
DBA Team
Observability
Challenges and Solutions
Implementation
Case Brief
Agenda
Case Brief
Audit DB infrastructure
▪
Reduce TCO without impacting Performance, Availability
▪
Plan for version upgrade
▪
Decouple application and database
▪
Propose and Implement best practices (HA, Backups, etc)
▪
Case Brief - MySQL DB Infra
DC 1
PDC Source PDC R 01 PDC R 02 PDC R 03 PDC R 700
DC 2
SDC Relay SDC R1 SDC R2 SDC R3 SDC R 700
DC 7
DC7 Relay DC7 R1 DC7 R2 DC7 R3 DC7 R 700
PDC - Primary DC SDC - Secondary DC R - Replica App + DB Hosted On All Servers
MySQL Version - 5.6
Observability
Generic Database Monitoring
Provide database stats
▪
Informative
▪
Organised based on component
or technology
▪
Difficulties in navigation
▪
Battlecat
Built to suit
▪
Decisive
▪
Translate Industry expertise to a
product that can be used to
manage databases at scale
▪
OS Exporters + Custom Exporters
▪
Observability
Concurrency
▪
Connections
▪
Bandwidth usage
▪
Query performance metrics
▪
Varying percentile of queries on the volume being queried
▪
Hotdata volume to be served from application
▪
Other OS metrics
▪
Observability
Average of 150 connections established from each application
▪
1,00,000 - 1,50,000 connections / DC
▪
Critical queries, Approx 10% returned data around 64MB of data / Query
▪
Avg. Active threads and QPS metrics were collected too.
▪
More you consolidate, More the concurrency, Lesser the time to react during issue
▪
Multiple applications and Additional databases on replica
▪
Choice Of Technology
Consistency
▪
Performance
▪
Resilency
▪
Fit to the product requirements
▪
Choice Of Technology - MySQL HA Solutions
Completely Managed Via MySQL Shell
Percona XtraDB Cluster / MariaDB Cluster (Galera Plugin Based)
Async Replication
▪
Semi Sync Replication
▪
Group Replication Cluster, 2016
▪
InnoDB Cluster, 2016
▪
InnoDB Replica Set, 2020
▪
InnoDB Clusterset, 2021
▪
Goal:
RPO = 0
RTO ~ Seconds
Choice Of Technology - Async Replication
Choice Of Technology - Semi Sync Replication
Choice Of Technology - InnoDB Cluster
Choice Of Technology - InnoDB Cluster Set
Choice Of Technology - MySQL HA Solutions
RTO (Recovery Time Objective)
RPO (Recovery Point Objective)
Failure Types:
How long does it take to recover from a single failure
▪
How much data can be lost when a failure occurs
▪
High Availability: Single Server Failure, Network Partition
▪
Disaster Recovery: Full Region/Network Failure
▪
Human Errors
▪
Choice Of Technology - Group Replication Cluster
MySQL's Native HA Solution
Synchronous Replication
Group replication has turned more stable, improved well with 8.0 release
Tuneable Consistency
Scale out reads effectively
Configurable Writer Modes
Built on robust replication framework uses binlogs with GTID for replication
Choice Of Technology - MySQL Compatible Load Balancers
MySQL Router
▪
Maxscale
▪
ProxySQL
▪
HA Proxy
▪
TCP / DNS based load balancing
▪
Choice Of Technology - Database Aware Load Balancers
Schema Based Routing
SQL Regex Based Routing
User Based Routing
Load Balancing
Replication, Group Replication,
Galera Replication Awareness
Connection Pooling
Audit Logging
Native Read Write Split
Query Caching
Query Mirroring
Choice Of Technology - ProxySQL
Ability to scale better in multi core systems
Clustering, Config management can be simplified
Measurable performance (qps or connections) / vpcu
Audit Logging, JSON Format, Introduced On v 2.0.6 Synchronous Replication
Dynamic / Runtime configuration changes, Provides granular control
Routing and Query statistics exposed are extensive and useful
Choice Of Technology - ProxySQL Scaling
Connection Pooling
Audit Logging
Multiplexing
Multiplexing
Choice Of Technology - ProxySQL Scaling
Application Servers ProxySQL
EC2 Instance
MySQL
Connection
Pool
Challenges
Multiple database engines
Issues in Schema, Charset, Collations
Instance bandwidth saturation
Connector level issues
GTID logging disabled
Callenges - MySQL 5.6 with GTID OFF
Source
MySQL 8.0.34
MySQL 5.6
GTID: OFF
MySQL 5.7
GTID: OFF GTID: ON
assign_gtids_to_anonymous
_transactions=LOCAL;
Node 1
Node 2 Node 3
MySQL
8.0.34
GR Cluster
Actual Implementation
Callenges - Auto Local GTID Creation
Master MySQL 8.0.34
GTID: OFF GTID: ON
Log Slave updates: ON
change replication source to
. . . . . . . . . . . . . . . . . . . . .
assign_gtids_to_anonymous_
transactions=LOCAL;
#210212 23:00:42 server id 320
end_log_pos 399 . . . . . Xid = 1245
use `test`/*!*/;
truncate table event_logs
/*!*/;
# at 399
SET @@SESSION.GTID_NEXT= 'bb71f03a-
1ab9-42ba-b3a2-1803de73944f:1224'/*!*/;
#210212 23:00:42 server id 320 Xid = 1245
use `test`/*!*/;
truncate table event_logs
/*!*/;
# at 399
Replicate To
GR Cluster
Implementation - PDC and SDC
Node 1
Node 2 Node 3
MySQL
8.0.34
GR Cluster
R1 R2 R3
R4 R5
ProxySQL
Cluster
From DNS LB
Weighted,
User Based
Routing
Writes
Consistent
Reads
App 1 Read
App 2 Read
App 3 Read
Implementation - Infra Savings
Before
~ 3500 servers Across 7 DC's
▪
EOL MySQL Version
▪
Unorganised data platform
▪
No Defined HA
▪
Operational complexity
▪
After
10 - 15 Servers / DC
▪
Est. Saving of 1 Milliion $
▪
Simplified Data Platform
▪
MySQL 8 Upgrade
▪
Measurable RTO, RPO
▪
Key Takeaways
Audit regularly
Scale with technology upgrades
Ensure DB Observability
Test Failover Strategies, Backups
System failure is inevitable even in database managed services
Define RPO, RTO
MySQL 5.7, End Of Life - 31st Oct 2023
Thank You!

Mais conteúdo relacionado

Semelhante a MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availability - Mydbops Meetup 14

MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentJean-François Gagné
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolEDB
 
Best Practices & Lessons Learned from Deployment of PostgreSQL
 Best Practices & Lessons Learned from Deployment of PostgreSQL Best Practices & Lessons Learned from Deployment of PostgreSQL
Best Practices & Lessons Learned from Deployment of PostgreSQLEDB
 
Retour d'expérience d'un environnement base de données multitenant
Retour d'expérience d'un environnement base de données multitenantRetour d'expérience d'un environnement base de données multitenant
Retour d'expérience d'un environnement base de données multitenantSwiss Data Forum Swiss Data Forum
 
MariaDB for the Enterprise
MariaDB for the EnterpriseMariaDB for the Enterprise
MariaDB for the EnterpriseAll Things Open
 
Les fonctionnalites mariadb
Les fonctionnalites mariadbLes fonctionnalites mariadb
Les fonctionnalites mariadblemugfr
 
Design & Secure Your Cloud Infrastructure
Design & Secure Your Cloud Infrastructure Design & Secure Your Cloud Infrastructure
Design & Secure Your Cloud Infrastructure Anoop Nair
 
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...Amazon Web Services
 
Disaster Recovery Experience at CACIB: Hardening Hadoop for Critical Financia...
Disaster Recovery Experience at CACIB: Hardening Hadoop for Critical Financia...Disaster Recovery Experience at CACIB: Hardening Hadoop for Critical Financia...
Disaster Recovery Experience at CACIB: Hardening Hadoop for Critical Financia...DataWorks Summit
 
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoNoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoData Con LA
 
YugaByte + PKS CloudFoundry Meetup 10/15/2018
YugaByte + PKS CloudFoundry Meetup 10/15/2018YugaByte + PKS CloudFoundry Meetup 10/15/2018
YugaByte + PKS CloudFoundry Meetup 10/15/2018AlanCaldera
 
Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Colin Charles
 
PPCD_And_AmazonRDS
PPCD_And_AmazonRDSPPCD_And_AmazonRDS
PPCD_And_AmazonRDSVibhor Kumar
 
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: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineKangaroot
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB plc
 
Keynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseKeynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseMariaDB plc
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalAvere Systems
 

Semelhante a MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availability - Mydbops Meetup 14 (20)

MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated Environment
 
Novinky v Oracle Database 18c
Novinky v Oracle Database 18cNovinky v Oracle Database 18c
Novinky v Oracle Database 18c
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic Tool
 
Best Practices & Lessons Learned from Deployment of PostgreSQL
 Best Practices & Lessons Learned from Deployment of PostgreSQL Best Practices & Lessons Learned from Deployment of PostgreSQL
Best Practices & Lessons Learned from Deployment of PostgreSQL
 
Retour d'expérience d'un environnement base de données multitenant
Retour d'expérience d'un environnement base de données multitenantRetour d'expérience d'un environnement base de données multitenant
Retour d'expérience d'un environnement base de données multitenant
 
MariaDB for the Enterprise
MariaDB for the EnterpriseMariaDB for the Enterprise
MariaDB for the Enterprise
 
Les fonctionnalites mariadb
Les fonctionnalites mariadbLes fonctionnalites mariadb
Les fonctionnalites mariadb
 
Design & Secure Your Cloud Infrastructure
Design & Secure Your Cloud Infrastructure Design & Secure Your Cloud Infrastructure
Design & Secure Your Cloud Infrastructure
 
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
 
Disaster Recovery Experience at CACIB: Hardening Hadoop for Critical Financia...
Disaster Recovery Experience at CACIB: Hardening Hadoop for Critical Financia...Disaster Recovery Experience at CACIB: Hardening Hadoop for Critical Financia...
Disaster Recovery Experience at CACIB: Hardening Hadoop for Critical Financia...
 
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoNoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
 
YugaByte + PKS CloudFoundry Meetup 10/15/2018
YugaByte + PKS CloudFoundry Meetup 10/15/2018YugaByte + PKS CloudFoundry Meetup 10/15/2018
YugaByte + PKS CloudFoundry Meetup 10/15/2018
 
Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0
 
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
 
PPCD_And_AmazonRDS
PPCD_And_AmazonRDSPPCD_And_AmazonRDS
PPCD_And_AmazonRDS
 
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris MeetupMariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris Meetup
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
 
Keynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the EnterpriseKeynote – When Open Source Meets the Enterprise
Keynote – When Open Source Meets the Enterprise
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute final
 

Mais de Mydbops

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024
PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024
PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024Mydbops
 
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...Mydbops
 
Mastering Aurora PostgreSQL Clusters for Disaster Recovery
Mastering Aurora PostgreSQL Clusters for Disaster RecoveryMastering Aurora PostgreSQL Clusters for Disaster Recovery
Mastering Aurora PostgreSQL Clusters for Disaster RecoveryMydbops
 
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Mydbops
 
AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15
AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15
AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15Mydbops
 
Data-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE Event
Data-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE EventData-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE Event
Data-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE EventMydbops
 
Scaling-MongoDB-with-Horizontal-and-Vertical-Sharding Mydbops Opensource Data...
Scaling-MongoDB-with-Horizontal-and-Vertical-Sharding Mydbops Opensource Data...Scaling-MongoDB-with-Horizontal-and-Vertical-Sharding Mydbops Opensource Data...
Scaling-MongoDB-with-Horizontal-and-Vertical-Sharding Mydbops Opensource Data...Mydbops
 
Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...
Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...
Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...Mydbops
 
Data Organisation: Table Partitioning in PostgreSQL
Data Organisation: Table Partitioning in PostgreSQLData Organisation: Table Partitioning in PostgreSQL
Data Organisation: Table Partitioning in PostgreSQLMydbops
 
Navigating MongoDB's Queryable Encryption for Ultimate Security - Mydbops
Navigating MongoDB's Queryable Encryption for Ultimate Security - MydbopsNavigating MongoDB's Queryable Encryption for Ultimate Security - Mydbops
Navigating MongoDB's Queryable Encryption for Ultimate Security - MydbopsMydbops
 
Data High Availability With TIDB
Data High Availability With TIDBData High Availability With TIDB
Data High Availability With TIDBMydbops
 
Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...
Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...
Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...Mydbops
 
Enhancing Security of MySQL Connections using SSL certificates
Enhancing Security of MySQL Connections using SSL certificatesEnhancing Security of MySQL Connections using SSL certificates
Enhancing Security of MySQL Connections using SSL certificatesMydbops
 
Exploring the Fundamentals of YugabyteDB - Mydbops
Exploring the Fundamentals of YugabyteDB - Mydbops Exploring the Fundamentals of YugabyteDB - Mydbops
Exploring the Fundamentals of YugabyteDB - Mydbops Mydbops
 
Time series in MongoDB - Mydbops
Time series in MongoDB - Mydbops Time series in MongoDB - Mydbops
Time series in MongoDB - Mydbops Mydbops
 
TiDB in a Nutshell - Power of Open-Source Distributed SQL Database - Mydbops
TiDB in a Nutshell - Power of Open-Source Distributed SQL Database - MydbopsTiDB in a Nutshell - Power of Open-Source Distributed SQL Database - Mydbops
TiDB in a Nutshell - Power of Open-Source Distributed SQL Database - MydbopsMydbops
 
Achieving High Availability in PostgreSQL
Achieving High Availability in PostgreSQLAchieving High Availability in PostgreSQL
Achieving High Availability in PostgreSQLMydbops
 
Scaling MongoDB with Horizontal and Vertical Sharding
Scaling MongoDB with Horizontal and Vertical Sharding Scaling MongoDB with Horizontal and Vertical Sharding
Scaling MongoDB with Horizontal and Vertical Sharding Mydbops
 
MySQL Data Encryption at Rest
MySQL Data Encryption at RestMySQL Data Encryption at Rest
MySQL Data Encryption at RestMydbops
 

Mais de Mydbops (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024
PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024
PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024
 
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
 
Mastering Aurora PostgreSQL Clusters for Disaster Recovery
Mastering Aurora PostgreSQL Clusters for Disaster RecoveryMastering Aurora PostgreSQL Clusters for Disaster Recovery
Mastering Aurora PostgreSQL Clusters for Disaster Recovery
 
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
 
AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15
AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15
AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15
 
Data-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE Event
Data-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE EventData-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE Event
Data-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE Event
 
Scaling-MongoDB-with-Horizontal-and-Vertical-Sharding Mydbops Opensource Data...
Scaling-MongoDB-with-Horizontal-and-Vertical-Sharding Mydbops Opensource Data...Scaling-MongoDB-with-Horizontal-and-Vertical-Sharding Mydbops Opensource Data...
Scaling-MongoDB-with-Horizontal-and-Vertical-Sharding Mydbops Opensource Data...
 
Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...
Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...
Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...
 
Data Organisation: Table Partitioning in PostgreSQL
Data Organisation: Table Partitioning in PostgreSQLData Organisation: Table Partitioning in PostgreSQL
Data Organisation: Table Partitioning in PostgreSQL
 
Navigating MongoDB's Queryable Encryption for Ultimate Security - Mydbops
Navigating MongoDB's Queryable Encryption for Ultimate Security - MydbopsNavigating MongoDB's Queryable Encryption for Ultimate Security - Mydbops
Navigating MongoDB's Queryable Encryption for Ultimate Security - Mydbops
 
Data High Availability With TIDB
Data High Availability With TIDBData High Availability With TIDB
Data High Availability With TIDB
 
Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...
Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...
Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...
 
Enhancing Security of MySQL Connections using SSL certificates
Enhancing Security of MySQL Connections using SSL certificatesEnhancing Security of MySQL Connections using SSL certificates
Enhancing Security of MySQL Connections using SSL certificates
 
Exploring the Fundamentals of YugabyteDB - Mydbops
Exploring the Fundamentals of YugabyteDB - Mydbops Exploring the Fundamentals of YugabyteDB - Mydbops
Exploring the Fundamentals of YugabyteDB - Mydbops
 
Time series in MongoDB - Mydbops
Time series in MongoDB - Mydbops Time series in MongoDB - Mydbops
Time series in MongoDB - Mydbops
 
TiDB in a Nutshell - Power of Open-Source Distributed SQL Database - Mydbops
TiDB in a Nutshell - Power of Open-Source Distributed SQL Database - MydbopsTiDB in a Nutshell - Power of Open-Source Distributed SQL Database - Mydbops
TiDB in a Nutshell - Power of Open-Source Distributed SQL Database - Mydbops
 
Achieving High Availability in PostgreSQL
Achieving High Availability in PostgreSQLAchieving High Availability in PostgreSQL
Achieving High Availability in PostgreSQL
 
Scaling MongoDB with Horizontal and Vertical Sharding
Scaling MongoDB with Horizontal and Vertical Sharding Scaling MongoDB with Horizontal and Vertical Sharding
Scaling MongoDB with Horizontal and Vertical Sharding
 
MySQL Data Encryption at Rest
MySQL Data Encryption at RestMySQL Data Encryption at Rest
MySQL Data Encryption at Rest
 

Último

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Último (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availability - Mydbops Meetup 14

  • 1. 07 October 2023 Mydbops Open Source Database Meetup 14 Vinoth Kanna RS Co-Founder, Mydbops MySQL Database Transformation Case Study
  • 2. Interested in Open Source technologies ▪ MySQL, MongoDB Certified Professional ▪ Active MySQL Community Contributor ▪ Tech Speaker/Blogger ▪ Co-Founded, Mydbops IT Solutions, 2016 ▪ Vinoth Kanna RS About Me
  • 3. Mydbops at a glance 300+ Clients 3000+ Servers ISO & PCI DSS Certified 7 Yrs of Expertise AWS Advanced Consulting Partner TiDB PingCap Partner
  • 4. Mydbops Services Consulting Services Managed Services MySQL, MongoDB, PostgreSQL, TiDB & Cassandra Targeted Engagement 24 x 7 DBA Team
  • 6. Case Brief Audit DB infrastructure ▪ Reduce TCO without impacting Performance, Availability ▪ Plan for version upgrade ▪ Decouple application and database ▪ Propose and Implement best practices (HA, Backups, etc) ▪
  • 7. Case Brief - MySQL DB Infra DC 1 PDC Source PDC R 01 PDC R 02 PDC R 03 PDC R 700 DC 2 SDC Relay SDC R1 SDC R2 SDC R3 SDC R 700 DC 7 DC7 Relay DC7 R1 DC7 R2 DC7 R3 DC7 R 700 PDC - Primary DC SDC - Secondary DC R - Replica App + DB Hosted On All Servers MySQL Version - 5.6
  • 8. Observability Generic Database Monitoring Provide database stats ▪ Informative ▪ Organised based on component or technology ▪ Difficulties in navigation ▪ Battlecat Built to suit ▪ Decisive ▪ Translate Industry expertise to a product that can be used to manage databases at scale ▪ OS Exporters + Custom Exporters ▪
  • 9. Observability Concurrency ▪ Connections ▪ Bandwidth usage ▪ Query performance metrics ▪ Varying percentile of queries on the volume being queried ▪ Hotdata volume to be served from application ▪ Other OS metrics ▪
  • 10. Observability Average of 150 connections established from each application ▪ 1,00,000 - 1,50,000 connections / DC ▪ Critical queries, Approx 10% returned data around 64MB of data / Query ▪ Avg. Active threads and QPS metrics were collected too. ▪ More you consolidate, More the concurrency, Lesser the time to react during issue ▪ Multiple applications and Additional databases on replica ▪
  • 12. Choice Of Technology - MySQL HA Solutions Completely Managed Via MySQL Shell Percona XtraDB Cluster / MariaDB Cluster (Galera Plugin Based) Async Replication ▪ Semi Sync Replication ▪ Group Replication Cluster, 2016 ▪ InnoDB Cluster, 2016 ▪ InnoDB Replica Set, 2020 ▪ InnoDB Clusterset, 2021 ▪ Goal: RPO = 0 RTO ~ Seconds
  • 13. Choice Of Technology - Async Replication
  • 14. Choice Of Technology - Semi Sync Replication
  • 15. Choice Of Technology - InnoDB Cluster
  • 16. Choice Of Technology - InnoDB Cluster Set
  • 17. Choice Of Technology - MySQL HA Solutions RTO (Recovery Time Objective) RPO (Recovery Point Objective) Failure Types: How long does it take to recover from a single failure ▪ How much data can be lost when a failure occurs ▪ High Availability: Single Server Failure, Network Partition ▪ Disaster Recovery: Full Region/Network Failure ▪ Human Errors ▪
  • 18. Choice Of Technology - Group Replication Cluster MySQL's Native HA Solution Synchronous Replication Group replication has turned more stable, improved well with 8.0 release Tuneable Consistency Scale out reads effectively Configurable Writer Modes Built on robust replication framework uses binlogs with GTID for replication
  • 19. Choice Of Technology - MySQL Compatible Load Balancers MySQL Router ▪ Maxscale ▪ ProxySQL ▪ HA Proxy ▪ TCP / DNS based load balancing ▪
  • 20. Choice Of Technology - Database Aware Load Balancers Schema Based Routing SQL Regex Based Routing User Based Routing Load Balancing Replication, Group Replication, Galera Replication Awareness Connection Pooling Audit Logging Native Read Write Split Query Caching Query Mirroring
  • 21. Choice Of Technology - ProxySQL Ability to scale better in multi core systems Clustering, Config management can be simplified Measurable performance (qps or connections) / vpcu Audit Logging, JSON Format, Introduced On v 2.0.6 Synchronous Replication Dynamic / Runtime configuration changes, Provides granular control Routing and Query statistics exposed are extensive and useful
  • 22. Choice Of Technology - ProxySQL Scaling Connection Pooling Audit Logging Multiplexing
  • 23. Multiplexing Choice Of Technology - ProxySQL Scaling Application Servers ProxySQL EC2 Instance MySQL Connection Pool
  • 24. Challenges Multiple database engines Issues in Schema, Charset, Collations Instance bandwidth saturation Connector level issues GTID logging disabled
  • 25. Callenges - MySQL 5.6 with GTID OFF Source MySQL 8.0.34 MySQL 5.6 GTID: OFF MySQL 5.7 GTID: OFF GTID: ON assign_gtids_to_anonymous _transactions=LOCAL; Node 1 Node 2 Node 3 MySQL 8.0.34 GR Cluster Actual Implementation
  • 26. Callenges - Auto Local GTID Creation Master MySQL 8.0.34 GTID: OFF GTID: ON Log Slave updates: ON change replication source to . . . . . . . . . . . . . . . . . . . . . assign_gtids_to_anonymous_ transactions=LOCAL; #210212 23:00:42 server id 320 end_log_pos 399 . . . . . Xid = 1245 use `test`/*!*/; truncate table event_logs /*!*/; # at 399 SET @@SESSION.GTID_NEXT= 'bb71f03a- 1ab9-42ba-b3a2-1803de73944f:1224'/*!*/; #210212 23:00:42 server id 320 Xid = 1245 use `test`/*!*/; truncate table event_logs /*!*/; # at 399 Replicate To GR Cluster
  • 27. Implementation - PDC and SDC Node 1 Node 2 Node 3 MySQL 8.0.34 GR Cluster R1 R2 R3 R4 R5 ProxySQL Cluster From DNS LB Weighted, User Based Routing Writes Consistent Reads App 1 Read App 2 Read App 3 Read
  • 28. Implementation - Infra Savings Before ~ 3500 servers Across 7 DC's ▪ EOL MySQL Version ▪ Unorganised data platform ▪ No Defined HA ▪ Operational complexity ▪ After 10 - 15 Servers / DC ▪ Est. Saving of 1 Milliion $ ▪ Simplified Data Platform ▪ MySQL 8 Upgrade ▪ Measurable RTO, RPO ▪
  • 29. Key Takeaways Audit regularly Scale with technology upgrades Ensure DB Observability Test Failover Strategies, Backups System failure is inevitable even in database managed services Define RPO, RTO MySQL 5.7, End Of Life - 31st Oct 2023