SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
The Ideal Performance Architecture



    The Ideal Performance Architecture


             For MySQL System Architects



                      Ronald Bradford
                     Principal - 42SQL


              Percona Performance Conference
                         April 2009
                                                  http://ronaldbradford.com
                         Version 0.1 2.Apr.2009
The Ideal Performance Architecture




                   Overview




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   Overview

   ❖ Technology
   ❖ Disk
   ❖ Memory
   ❖ Indexes
   ❖ SQL
   ❖ Data


                                     http://ronaldbradford.com
The Ideal Performance Architecture




                 Technology




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   Know Your Technology Tools

   ❖ Generics are inefficient
   ❖ Product expertise in a different RDBMS is not
     enough
   ❖ You have chosen MySQL
     ❖ Maximize it's strengths
     ❖ Minimize it's weaknesses




                                            http://ronaldbradford.com
The Ideal Performance Architecture




                         Disk




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   Know Your Disk Footprint


     Disk = Memory = Performance

   ❖ Every single byte does count




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   Poor Design is

   ❖ INT(1)‫‏‬
   ❖ BIGINT AUTO_INCREMENT
   ❖ no UNSIGNED used
   ❖ DECIMAL(31,0)‫‏‬
   ❖ VACHAR(255)
   ❖ All Nullable Columns


                                     http://ronaldbradford.com
The Ideal Performance Architecture


   30% saving
      CREATE TABLE `searchtools_raw_term_domain_referrals_temp` (
     `id` bigint(20) unsigned NOT NULL auto_increment,
     `term_id` bigint(20) unsigned NOT NULL,
     `domain_id` bigint(20) unsigned NOT NULL,
     `referrals` int(10) unsigned NOT NULL,
     `time` int(10) unsigned NOT NULL,
     PRIMARY KEY (`id`),
     UNIQUE KEY `term_domain` (`term_id`,`domain_id`),
     KEY `term_values` (`term_id`,`referrals`,`time`),
     KEY `domain_values` (`domain_id`,`referrals`,`time`)
   ) ENGINE=MyISAM AUTO_INCREMENT=38890778 DEFAULT CHARSET=latin1;


   ❖ Converted BIGINT to INT
   ❖ Before: 1.2GB Data + 3.2GB Indexes
   ❖ After:          0.7GB Data + 2.2GB Indexes
   ❖ 33% Reduction
                                                                     http://ronaldbradford.com
The Ideal Performance Architecture


   60% saving
     CREATE TABLE `dev_stats_0` (
       `object` mediumint(3) unsigned NOT NULL default '0',
       `date` date NOT NULL default '0000-00-00',
       `time` time NOT NULL default '00:00:00',
       `data` char(128) default NULL,
       `ind` tinyint(5) unsigned NOT NULL default '0',
       `normalized` tinyint(5) unsigned NOT NULL default '0',
       PRIMARY KEY (`date`,`time`,`object`,`ind`),
       KEY `normalized` (`normalized`)
     ) ENGINE=MyISAM DEFAULT CHARSET=latin1


   ❖ Converted CHAR(128) to CHAR(20)
   ❖ Before: 45GB After 18GB 60% Saving
   ❖ Schema had multiple occurrences
     ❖ 600+ GB significantly reduced
                                                                http://ronaldbradford.com
The Ideal Performance Architecture


   84% saving
     CREATE TABLE `client_table` (
        `mid` decimal(31,0) NOT NULL default '0',
        `sid` decimal(31,0) NOT NULL default '0',
        `oid` decimal(31,0) NOT NULL default '0',
        `nid` decimal(31,0) NOT NULL default '0',
        `bid_status` varchar(30) default NULL,
        UNIQUE KEY `pk_client_table` (`sid`,`nid`,`mid`,`oid`)
     ) TYPE=InnoDB;


   ❖ Converted DECIMAL(31,0) to INT UNSIGNED
   ❖ Before: 5.2GB After 850MB - 84%
   ❖ Schema had 77 occurrences
   ❖ Converted 1 of 12 shards
     ❖ Total: 7.8GB to 1.7GB (78% saving)
                                                                 http://ronaldbradford.com
The Ideal Performance Architecture


   Data Types

   ❖ INT(1) - 1 does not mean 1 digit
     ❖ (1) represents client output display format only
     ❖ INT is 4 Bytes, TINYINT is 1 Byte
     ❖ TINYINT UNSIGNED can store from 0 – 255




                                                   http://ronaldbradford.com
The Ideal Performance Architecture


   Data Types

   ❖ BIGINT is not needed for AUTO_INCREMENT
   ❖ INT UNSIGNED stores 4.3 billion values
     ❖ You should be partitioning when at billions of rows


   ❖ BIGINT is applicable for some columns
     ❖ e.g. summation of values




                                                   http://ronaldbradford.com
The Ideal Performance Architecture




                     Memory




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   Don't waste memory

   ❖ SELECT *
   ❖ utf8 for everything
   ❖ TEXT/BLOB
   ❖ large per session buffers




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   Character Sets

   ❖ Default in MySQL 5 is utf8 (3 bytes)
   ❖ Only define columns that need utf8
     ❖ e.g. Not Codes, MD5 Value, web address
   ❖ MySQL internal buffers are fixed width
     ❖ e.g. VARCHAR(255) utf8 is 765 bytes to store just
       1 byte




                                                  http://ronaldbradford.com
The Ideal Performance Architecture


   Data Types

   ❖ VARCHAR(255) Is not a design practice
       CREATE TABLE `XXX` (
     `orderHandle` varchar(255) NOT NULL default '',
     `personName` varchar(255) default NULL,
     `addressLines` varchar(255) default NULL,
     `city` varchar(255) default NULL,
     `state` varchar(255) default NULL,
     `postalCode` varchar(255) default NULL,
     `countryCode` varchar(255) default NULL,
     `phone` varchar(255) default NULL,
     `email` varchar(255) default NULL,
     `shipMethod` varchar(255) default NULL,
     `shipTo` varchar(255) default NULL,
     `receiveByDate` date default NULL,
     `currency` varchar(3) default NULL,
     `price` varchar(255) default NULL,
     `flags` int(11) default '0',
     `lastUpdateTime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
     `creationTime` timestamp NOT NULL default '0000-00-00 00:00:00',
     PRIMARY KEY (`orderHandle`)
   ) ENGINE=MyISAM DEFAULT CHARSET=utf8


                                                                                   http://ronaldbradford.com
The Ideal Performance Architecture


   Be Wary of TEXT/BLOB

   ❖ Using SELECT *
     ❖ MySQL Internal Temporary table will force Temp
       Disk Table
   ❖ Internal storage (e.g. Innodb)‫‏‬
     ❖ Stores first 768 bytes, then a separate 16k data
       page per row per TEXT/BLOB field




                                                   http://ronaldbradford.com
The Ideal Performance Architecture




                     Indexes




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   The Impact Of Indexes

   ❖ Good
     ❖ Dramatic performance improvements
     ❖ Improves memory usage
     ❖ Data Integrity
   ❖ Bad
     ❖ Slows performance for writes
     ❖ Wastes disk space for unused, duplicate or
       ineffective indexes
     ❖ In-effective usage of memory
                                                    http://ronaldbradford.com
The Ideal Performance Architecture


   Minimizing internal MySQL processing

   ❖ Correctly designed tables, indexes and SQL
     can eliminate
     ❖ Using temporary table
     ❖ Using filesort




                                           http://ronaldbradford.com
The Ideal Performance Architecture


   Covering Indexes

   ❖ Understand how to use covering indexes
   ❖ Write efficient SQL




                                         http://ronaldbradford.com
The Ideal Performance Architecture




                         SQL




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   Know Every SQL Statement
   ❖ Developers don't write proper SQL statements
   ❖ SQL statements will directly affect your performance
   ❖ For Example
     ❖ Repeating SQL statements for no benefit
     ❖ 1000 very quick small unnecessary queries is worse
       then 1 slow query




                                                  http://ronaldbradford.com
The Ideal Performance Architecture


   Monitor Every SQL Statement

   ❖ Review Query Execution Plan (QEP)‫‏‬
     ❖ EXPLAIN
   ❖ Time queries
   ❖ Row Count / Affected rows
   ❖ Result Set Size


          Review over time, things change

                                          http://ronaldbradford.com
The Ideal Performance Architecture




                        Data




                                     http://ronaldbradford.com
The Ideal Performance Architecture


   Sharding

   ❖ Plan and implement from Day 1
   ❖ Find a good partition key
     ❖ Business Related
     ❖ Programmatically e.g. MOD (id,1000)
   ❖ Design for rebalancing support
   ❖ Virtual Host / Physical Host



                                             http://ronaldbradford.com
The Ideal Performance Architecture


   Data Availability

   ❖ Messaging system for data availability
     ❖ Read/Write availability
     ❖ Read Availability
   ❖ Support at table level
   ❖ Support at table partitions
     ❖ e.g. by PK id range




                                              http://ronaldbradford.com
The Ideal Performance Architecture


   Write Once Data

   ❖ Separate your online and archival data
   ❖ Reduces backup/recovery time
   ❖ Enables data synchronization
     ❖ including MySQL to non-MySQL




                                              http://ronaldbradford.com
The Ideal Performance Architecture


   Professional Help is Available

   ❖ Two decades IT expertise
   ❖ 10 years in MySQL
   ❖ System/Data Architecture
   ❖ Database Performance and Tuning
   ❖ High Availability and Scalability
   ❖ Education and Training


              http://ronaldbradford.com
                                          http://ronaldbradford.com

Contenu connexe

Tendances

2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015 2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015 Geir Høydalsvik
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMorgan Tocker
 
2012 summarytables
2012 summarytables2012 summarytables
2012 summarytablessqlhjalp
 
Performance Tuning Best Practices
Performance Tuning Best PracticesPerformance Tuning Best Practices
Performance Tuning Best Practiceswebhostingguy
 
Optimizer percona live_ams2015
Optimizer percona live_ams2015Optimizer percona live_ams2015
Optimizer percona live_ams2015Manyi Lu
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMorgan Tocker
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)Aurimas Mikalauskas
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeOlivier DASINI
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingEnkitec
 
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
 Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo... Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...Enkitec
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 PerformanceMYXPLAIN
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014Dave Stokes
 
MySQL partitioning
MySQL partitioning MySQL partitioning
MySQL partitioning OracleMySQL
 
MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MYXPLAIN
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsSveta Smirnova
 
MariaDB for developers
MariaDB for developersMariaDB for developers
MariaDB for developersColin Charles
 

Tendances (20)

2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015 2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
 
2012 summarytables
2012 summarytables2012 summarytables
2012 summarytables
 
Performance Tuning Best Practices
Performance Tuning Best PracticesPerformance Tuning Best Practices
Performance Tuning Best Practices
 
Optimizer percona live_ams2015
Optimizer percona live_ams2015Optimizer percona live_ams2015
Optimizer percona live_ams2015
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 
Ipc mysql php
Ipc mysql php Ipc mysql php
Ipc mysql php
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtime
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for Profiling
 
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
 Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo... Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 Performance
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
 
MySQL partitioning
MySQL partitioning MySQL partitioning
MySQL partitioning
 
MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
 
MariaDB for developers
MariaDB for developersMariaDB for developers
MariaDB for developers
 
MySQL Tuning
MySQL TuningMySQL Tuning
MySQL Tuning
 

En vedette

MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourRonald Bradford
 
8 Breakthrough Strategies Seminar
8 Breakthrough Strategies Seminar8 Breakthrough Strategies Seminar
8 Breakthrough Strategies Seminarjudynash
 
8 Breakthrough Strategies Seminar Indy
8 Breakthrough Strategies Seminar Indy8 Breakthrough Strategies Seminar Indy
8 Breakthrough Strategies Seminar Indyjudynash
 
My SQL Idiosyncrasies That Bite OTN
My SQL Idiosyncrasies That Bite OTNMy SQL Idiosyncrasies That Bite OTN
My SQL Idiosyncrasies That Bite OTNRonald Bradford
 
Social Media CNPE Louisville
Social Media  CNPE LouisvilleSocial Media  CNPE Louisville
Social Media CNPE Louisvillejudynash
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsRonald Bradford
 
Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Ronald Bradford
 
12 група
12 група12 група
12 групаlyp439
 
Le iscrizioni a ruolo nelle esecuzioni - Cittadella 18.03.16
Le iscrizioni a ruolo nelle esecuzioni - Cittadella 18.03.16Le iscrizioni a ruolo nelle esecuzioni - Cittadella 18.03.16
Le iscrizioni a ruolo nelle esecuzioni - Cittadella 18.03.16Edoardo Ferraro
 
Criação de Personagens
Criação de PersonagensCriação de Personagens
Criação de PersonagensDaniel Arcos
 
Inglés en la JEC
Inglés en la JECInglés en la JEC
Inglés en la JECNury222
 
B els fets de prats de molló gemma a i paula
B els fets de prats de molló gemma a i paulaB els fets de prats de molló gemma a i paula
B els fets de prats de molló gemma a i paulaToni Guirao
 
Extranet Investment Accumulative Fund EIAF
Extranet Investment Accumulative Fund EIAFExtranet Investment Accumulative Fund EIAF
Extranet Investment Accumulative Fund EIAFAndru Yesypenko
 
методичну робота
методичну роботаметодичну робота
методичну роботаlyp439
 
Brochure baja taaveekun 1 casb
Brochure baja taaveekun 1 casbBrochure baja taaveekun 1 casb
Brochure baja taaveekun 1 casbZaini Ithnin
 
Presentaciones en linea
Presentaciones en lineaPresentaciones en linea
Presentaciones en lineacifuentesnt
 

En vedette (19)

MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD Tour
 
8 Breakthrough Strategies Seminar
8 Breakthrough Strategies Seminar8 Breakthrough Strategies Seminar
8 Breakthrough Strategies Seminar
 
8 Breakthrough Strategies Seminar Indy
8 Breakthrough Strategies Seminar Indy8 Breakthrough Strategies Seminar Indy
8 Breakthrough Strategies Seminar Indy
 
My SQL Idiosyncrasies That Bite OTN
My SQL Idiosyncrasies That Bite OTNMy SQL Idiosyncrasies That Bite OTN
My SQL Idiosyncrasies That Bite OTN
 
Social Media CNPE Louisville
Social Media  CNPE LouisvilleSocial Media  CNPE Louisville
Social Media CNPE Louisville
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery Essentials
 
Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1
 
Journée ASIT VD 2014 - session 2
Journée ASIT VD 2014 - session 2Journée ASIT VD 2014 - session 2
Journée ASIT VD 2014 - session 2
 
12 група
12 група12 група
12 група
 
Le iscrizioni a ruolo nelle esecuzioni - Cittadella 18.03.16
Le iscrizioni a ruolo nelle esecuzioni - Cittadella 18.03.16Le iscrizioni a ruolo nelle esecuzioni - Cittadella 18.03.16
Le iscrizioni a ruolo nelle esecuzioni - Cittadella 18.03.16
 
Criação de Personagens
Criação de PersonagensCriação de Personagens
Criação de Personagens
 
Inglés en la JEC
Inglés en la JECInglés en la JEC
Inglés en la JEC
 
Cahcd's ppm model
Cahcd's ppm modelCahcd's ppm model
Cahcd's ppm model
 
B els fets de prats de molló gemma a i paula
B els fets de prats de molló gemma a i paulaB els fets de prats de molló gemma a i paula
B els fets de prats de molló gemma a i paula
 
Extranet Investment Accumulative Fund EIAF
Extranet Investment Accumulative Fund EIAFExtranet Investment Accumulative Fund EIAF
Extranet Investment Accumulative Fund EIAF
 
Diversos
DiversosDiversos
Diversos
 
методичну робота
методичну роботаметодичну робота
методичну робота
 
Brochure baja taaveekun 1 casb
Brochure baja taaveekun 1 casbBrochure baja taaveekun 1 casb
Brochure baja taaveekun 1 casb
 
Presentaciones en linea
Presentaciones en lineaPresentaciones en linea
Presentaciones en linea
 

Similaire à The Ideal Performance Architecture

Empowering the AWS DynamoDB™ application developer with Alternator
Empowering the AWS DynamoDB™ application developer with AlternatorEmpowering the AWS DynamoDB™ application developer with Alternator
Empowering the AWS DynamoDB™ application developer with AlternatorScyllaDB
 
Scaling MongoDB
Scaling MongoDBScaling MongoDB
Scaling MongoDBMongoDB
 
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Kristofferson A
 
MongoDB at Scale
MongoDB at ScaleMongoDB at Scale
MongoDB at ScaleMongoDB
 
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
 
KSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKristofferson A
 
Aerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedAerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedOmid Vahdaty
 
Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
 Lessons from the Field, Episode II: Applying Best Practices to Your Apache S... Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...Databricks
 
Big data analytics with Spark & Cassandra
Big data analytics with Spark & Cassandra Big data analytics with Spark & Cassandra
Big data analytics with Spark & Cassandra Matthias Niehoff
 
Bogdan Kecman INIT Presentation
Bogdan Kecman INIT PresentationBogdan Kecman INIT Presentation
Bogdan Kecman INIT Presentationarhismece
 
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...Data Con LA
 
Configuring Sage 500 for Performance
Configuring Sage 500 for PerformanceConfiguring Sage 500 for Performance
Configuring Sage 500 for PerformanceRKLeSolutions
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellEmily Ikuta
 
MOW2010: 1TB MySQL Database Migration and HA Infrastructure by Alex Gorbachev...
MOW2010: 1TB MySQL Database Migration and HA Infrastructure by Alex Gorbachev...MOW2010: 1TB MySQL Database Migration and HA Infrastructure by Alex Gorbachev...
MOW2010: 1TB MySQL Database Migration and HA Infrastructure by Alex Gorbachev...Alex Gorbachev
 
MySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersMySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersRonald Bradford
 
Sql source control
Sql source controlSql source control
Sql source controlAndyPickett
 
Data Warehouse Logical Design using Mysql
Data Warehouse Logical Design using MysqlData Warehouse Logical Design using Mysql
Data Warehouse Logical Design using MysqlHAFIZ Islam
 
M|18 Migrating from Oracle and Handling PL/SQL Stored Procedures
M|18 Migrating from Oracle and Handling PL/SQL Stored ProceduresM|18 Migrating from Oracle and Handling PL/SQL Stored Procedures
M|18 Migrating from Oracle and Handling PL/SQL Stored ProceduresMariaDB plc
 
Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18Wagner Bianchi
 

Similaire à The Ideal Performance Architecture (20)

Empowering the AWS DynamoDB™ application developer with Alternator
Empowering the AWS DynamoDB™ application developer with AlternatorEmpowering the AWS DynamoDB™ application developer with Alternator
Empowering the AWS DynamoDB™ application developer with Alternator
 
Scaling MongoDB
Scaling MongoDBScaling MongoDB
Scaling MongoDB
 
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
Hotsos 2011: Mining the AWR repository for Capacity Planning, Visualization, ...
 
MongoDB at Scale
MongoDB at ScaleMongoDB at Scale
MongoDB at Scale
 
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
 
KSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success StoryKSCOPE 2013: Exadata Consolidation Success Story
KSCOPE 2013: Exadata Consolidation Success Story
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
Aerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedAerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data Demystified
 
Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
 Lessons from the Field, Episode II: Applying Best Practices to Your Apache S... Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
 
Big data analytics with Spark & Cassandra
Big data analytics with Spark & Cassandra Big data analytics with Spark & Cassandra
Big data analytics with Spark & Cassandra
 
Bogdan Kecman INIT Presentation
Bogdan Kecman INIT PresentationBogdan Kecman INIT Presentation
Bogdan Kecman INIT Presentation
 
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
 
Configuring Sage 500 for Performance
Configuring Sage 500 for PerformanceConfiguring Sage 500 for Performance
Configuring Sage 500 for Performance
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
 
MOW2010: 1TB MySQL Database Migration and HA Infrastructure by Alex Gorbachev...
MOW2010: 1TB MySQL Database Migration and HA Infrastructure by Alex Gorbachev...MOW2010: 1TB MySQL Database Migration and HA Infrastructure by Alex Gorbachev...
MOW2010: 1TB MySQL Database Migration and HA Infrastructure by Alex Gorbachev...
 
MySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersMySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and Developers
 
Sql source control
Sql source controlSql source control
Sql source control
 
Data Warehouse Logical Design using Mysql
Data Warehouse Logical Design using MysqlData Warehouse Logical Design using Mysql
Data Warehouse Logical Design using Mysql
 
M|18 Migrating from Oracle and Handling PL/SQL Stored Procedures
M|18 Migrating from Oracle and Handling PL/SQL Stored ProceduresM|18 Migrating from Oracle and Handling PL/SQL Stored Procedures
M|18 Migrating from Oracle and Handling PL/SQL Stored Procedures
 
Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18
 

Plus de Ronald Bradford

The History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemThe History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemRonald Bradford
 
Lessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS EnvironmentsLessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS EnvironmentsRonald Bradford
 
Monitoring your technology stack with New Relic
Monitoring your technology stack with New RelicMonitoring your technology stack with New Relic
Monitoring your technology stack with New RelicRonald Bradford
 
MySQL Best Practices - OTN
MySQL Best Practices - OTNMySQL Best Practices - OTN
MySQL Best Practices - OTNRonald Bradford
 
MySQL Scalability Mistakes - OTN
MySQL Scalability Mistakes - OTNMySQL Scalability Mistakes - OTN
MySQL Scalability Mistakes - OTNRonald Bradford
 
MySQL Idiosyncrasies That Bite SF
MySQL Idiosyncrasies That Bite SFMySQL Idiosyncrasies That Bite SF
MySQL Idiosyncrasies That Bite SFRonald Bradford
 
Successful MySQL Scalability
Successful MySQL ScalabilitySuccessful MySQL Scalability
Successful MySQL ScalabilityRonald Bradford
 
MySQL Idiosyncrasies That Bite 2010.07
MySQL Idiosyncrasies That Bite 2010.07MySQL Idiosyncrasies That Bite 2010.07
MySQL Idiosyncrasies That Bite 2010.07Ronald Bradford
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLRonald Bradford
 
MySQL Idiosyncrasies That Bite
MySQL Idiosyncrasies That BiteMySQL Idiosyncrasies That Bite
MySQL Idiosyncrasies That BiteRonald Bradford
 
10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance ImprovementsRonald Bradford
 
LIFTOFF - MySQLCamp for the Oracle DBA
LIFTOFF - MySQLCamp for the Oracle DBALIFTOFF - MySQLCamp for the Oracle DBA
LIFTOFF - MySQLCamp for the Oracle DBARonald Bradford
 
IGNITION - MySQLCamp for the Oracle DBA
IGNITION - MySQLCamp for the Oracle DBAIGNITION - MySQLCamp for the Oracle DBA
IGNITION - MySQLCamp for the Oracle DBARonald Bradford
 
10x Performance Improvements - A Case Study
10x Performance Improvements - A Case Study10x Performance Improvements - A Case Study
10x Performance Improvements - A Case StudyRonald Bradford
 
Dolphins Now And Beyond - FOSDEM 2010
Dolphins Now And Beyond - FOSDEM 2010Dolphins Now And Beyond - FOSDEM 2010
Dolphins Now And Beyond - FOSDEM 2010Ronald Bradford
 
Drizzle - Status, Principles and Ecosystem
Drizzle - Status, Principles and EcosystemDrizzle - Status, Principles and Ecosystem
Drizzle - Status, Principles and EcosystemRonald Bradford
 
MySQL for the Oracle DBA - Object Management
MySQL for the Oracle DBA - Object ManagementMySQL for the Oracle DBA - Object Management
MySQL for the Oracle DBA - Object ManagementRonald Bradford
 
Know Your Competitor - Oracle 10g Express Edition
Know Your Competitor - Oracle 10g Express EditionKnow Your Competitor - Oracle 10g Express Edition
Know Your Competitor - Oracle 10g Express EditionRonald Bradford
 
MySQL For Oracle Developers
MySQL For Oracle DevelopersMySQL For Oracle Developers
MySQL For Oracle DevelopersRonald Bradford
 

Plus de Ronald Bradford (20)

The History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemThe History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystem
 
Lessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS EnvironmentsLessons Learned Managing Large AWS Environments
Lessons Learned Managing Large AWS Environments
 
Monitoring your technology stack with New Relic
Monitoring your technology stack with New RelicMonitoring your technology stack with New Relic
Monitoring your technology stack with New Relic
 
MySQL Best Practices - OTN
MySQL Best Practices - OTNMySQL Best Practices - OTN
MySQL Best Practices - OTN
 
MySQL Scalability Mistakes - OTN
MySQL Scalability Mistakes - OTNMySQL Scalability Mistakes - OTN
MySQL Scalability Mistakes - OTN
 
MySQL Idiosyncrasies That Bite SF
MySQL Idiosyncrasies That Bite SFMySQL Idiosyncrasies That Bite SF
MySQL Idiosyncrasies That Bite SF
 
Successful MySQL Scalability
Successful MySQL ScalabilitySuccessful MySQL Scalability
Successful MySQL Scalability
 
MySQL Idiosyncrasies That Bite 2010.07
MySQL Idiosyncrasies That Bite 2010.07MySQL Idiosyncrasies That Bite 2010.07
MySQL Idiosyncrasies That Bite 2010.07
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQL
 
MySQL Idiosyncrasies That Bite
MySQL Idiosyncrasies That BiteMySQL Idiosyncrasies That Bite
MySQL Idiosyncrasies That Bite
 
10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance Improvements
 
LIFTOFF - MySQLCamp for the Oracle DBA
LIFTOFF - MySQLCamp for the Oracle DBALIFTOFF - MySQLCamp for the Oracle DBA
LIFTOFF - MySQLCamp for the Oracle DBA
 
IGNITION - MySQLCamp for the Oracle DBA
IGNITION - MySQLCamp for the Oracle DBAIGNITION - MySQLCamp for the Oracle DBA
IGNITION - MySQLCamp for the Oracle DBA
 
10x Performance Improvements - A Case Study
10x Performance Improvements - A Case Study10x Performance Improvements - A Case Study
10x Performance Improvements - A Case Study
 
Dolphins Now And Beyond - FOSDEM 2010
Dolphins Now And Beyond - FOSDEM 2010Dolphins Now And Beyond - FOSDEM 2010
Dolphins Now And Beyond - FOSDEM 2010
 
Drizzle - Status, Principles and Ecosystem
Drizzle - Status, Principles and EcosystemDrizzle - Status, Principles and Ecosystem
Drizzle - Status, Principles and Ecosystem
 
SQL v No SQL
SQL v No SQLSQL v No SQL
SQL v No SQL
 
MySQL for the Oracle DBA - Object Management
MySQL for the Oracle DBA - Object ManagementMySQL for the Oracle DBA - Object Management
MySQL for the Oracle DBA - Object Management
 
Know Your Competitor - Oracle 10g Express Edition
Know Your Competitor - Oracle 10g Express EditionKnow Your Competitor - Oracle 10g Express Edition
Know Your Competitor - Oracle 10g Express Edition
 
MySQL For Oracle Developers
MySQL For Oracle DevelopersMySQL For Oracle Developers
MySQL For Oracle Developers
 

Dernier

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Dernier (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
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...
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

The Ideal Performance Architecture

  • 1. The Ideal Performance Architecture The Ideal Performance Architecture For MySQL System Architects Ronald Bradford Principal - 42SQL Percona Performance Conference April 2009 http://ronaldbradford.com Version 0.1 2.Apr.2009
  • 2. The Ideal Performance Architecture Overview http://ronaldbradford.com
  • 3. The Ideal Performance Architecture Overview ❖ Technology ❖ Disk ❖ Memory ❖ Indexes ❖ SQL ❖ Data http://ronaldbradford.com
  • 4. The Ideal Performance Architecture Technology http://ronaldbradford.com
  • 5. The Ideal Performance Architecture Know Your Technology Tools ❖ Generics are inefficient ❖ Product expertise in a different RDBMS is not enough ❖ You have chosen MySQL ❖ Maximize it's strengths ❖ Minimize it's weaknesses http://ronaldbradford.com
  • 6. The Ideal Performance Architecture Disk http://ronaldbradford.com
  • 7. The Ideal Performance Architecture Know Your Disk Footprint Disk = Memory = Performance ❖ Every single byte does count http://ronaldbradford.com
  • 8. The Ideal Performance Architecture Poor Design is ❖ INT(1)‫‏‬ ❖ BIGINT AUTO_INCREMENT ❖ no UNSIGNED used ❖ DECIMAL(31,0)‫‏‬ ❖ VACHAR(255) ❖ All Nullable Columns http://ronaldbradford.com
  • 9. The Ideal Performance Architecture 30% saving CREATE TABLE `searchtools_raw_term_domain_referrals_temp` ( `id` bigint(20) unsigned NOT NULL auto_increment, `term_id` bigint(20) unsigned NOT NULL, `domain_id` bigint(20) unsigned NOT NULL, `referrals` int(10) unsigned NOT NULL, `time` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `term_domain` (`term_id`,`domain_id`), KEY `term_values` (`term_id`,`referrals`,`time`), KEY `domain_values` (`domain_id`,`referrals`,`time`) ) ENGINE=MyISAM AUTO_INCREMENT=38890778 DEFAULT CHARSET=latin1; ❖ Converted BIGINT to INT ❖ Before: 1.2GB Data + 3.2GB Indexes ❖ After: 0.7GB Data + 2.2GB Indexes ❖ 33% Reduction http://ronaldbradford.com
  • 10. The Ideal Performance Architecture 60% saving CREATE TABLE `dev_stats_0` ( `object` mediumint(3) unsigned NOT NULL default '0', `date` date NOT NULL default '0000-00-00', `time` time NOT NULL default '00:00:00', `data` char(128) default NULL, `ind` tinyint(5) unsigned NOT NULL default '0', `normalized` tinyint(5) unsigned NOT NULL default '0', PRIMARY KEY (`date`,`time`,`object`,`ind`), KEY `normalized` (`normalized`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ❖ Converted CHAR(128) to CHAR(20) ❖ Before: 45GB After 18GB 60% Saving ❖ Schema had multiple occurrences ❖ 600+ GB significantly reduced http://ronaldbradford.com
  • 11. The Ideal Performance Architecture 84% saving CREATE TABLE `client_table` ( `mid` decimal(31,0) NOT NULL default '0', `sid` decimal(31,0) NOT NULL default '0', `oid` decimal(31,0) NOT NULL default '0', `nid` decimal(31,0) NOT NULL default '0', `bid_status` varchar(30) default NULL, UNIQUE KEY `pk_client_table` (`sid`,`nid`,`mid`,`oid`) ) TYPE=InnoDB; ❖ Converted DECIMAL(31,0) to INT UNSIGNED ❖ Before: 5.2GB After 850MB - 84% ❖ Schema had 77 occurrences ❖ Converted 1 of 12 shards ❖ Total: 7.8GB to 1.7GB (78% saving) http://ronaldbradford.com
  • 12. The Ideal Performance Architecture Data Types ❖ INT(1) - 1 does not mean 1 digit ❖ (1) represents client output display format only ❖ INT is 4 Bytes, TINYINT is 1 Byte ❖ TINYINT UNSIGNED can store from 0 – 255 http://ronaldbradford.com
  • 13. The Ideal Performance Architecture Data Types ❖ BIGINT is not needed for AUTO_INCREMENT ❖ INT UNSIGNED stores 4.3 billion values ❖ You should be partitioning when at billions of rows ❖ BIGINT is applicable for some columns ❖ e.g. summation of values http://ronaldbradford.com
  • 14. The Ideal Performance Architecture Memory http://ronaldbradford.com
  • 15. The Ideal Performance Architecture Don't waste memory ❖ SELECT * ❖ utf8 for everything ❖ TEXT/BLOB ❖ large per session buffers http://ronaldbradford.com
  • 16. The Ideal Performance Architecture Character Sets ❖ Default in MySQL 5 is utf8 (3 bytes) ❖ Only define columns that need utf8 ❖ e.g. Not Codes, MD5 Value, web address ❖ MySQL internal buffers are fixed width ❖ e.g. VARCHAR(255) utf8 is 765 bytes to store just 1 byte http://ronaldbradford.com
  • 17. The Ideal Performance Architecture Data Types ❖ VARCHAR(255) Is not a design practice CREATE TABLE `XXX` ( `orderHandle` varchar(255) NOT NULL default '', `personName` varchar(255) default NULL, `addressLines` varchar(255) default NULL, `city` varchar(255) default NULL, `state` varchar(255) default NULL, `postalCode` varchar(255) default NULL, `countryCode` varchar(255) default NULL, `phone` varchar(255) default NULL, `email` varchar(255) default NULL, `shipMethod` varchar(255) default NULL, `shipTo` varchar(255) default NULL, `receiveByDate` date default NULL, `currency` varchar(3) default NULL, `price` varchar(255) default NULL, `flags` int(11) default '0', `lastUpdateTime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `creationTime` timestamp NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`orderHandle`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 http://ronaldbradford.com
  • 18. The Ideal Performance Architecture Be Wary of TEXT/BLOB ❖ Using SELECT * ❖ MySQL Internal Temporary table will force Temp Disk Table ❖ Internal storage (e.g. Innodb)‫‏‬ ❖ Stores first 768 bytes, then a separate 16k data page per row per TEXT/BLOB field http://ronaldbradford.com
  • 19. The Ideal Performance Architecture Indexes http://ronaldbradford.com
  • 20. The Ideal Performance Architecture The Impact Of Indexes ❖ Good ❖ Dramatic performance improvements ❖ Improves memory usage ❖ Data Integrity ❖ Bad ❖ Slows performance for writes ❖ Wastes disk space for unused, duplicate or ineffective indexes ❖ In-effective usage of memory http://ronaldbradford.com
  • 21. The Ideal Performance Architecture Minimizing internal MySQL processing ❖ Correctly designed tables, indexes and SQL can eliminate ❖ Using temporary table ❖ Using filesort http://ronaldbradford.com
  • 22. The Ideal Performance Architecture Covering Indexes ❖ Understand how to use covering indexes ❖ Write efficient SQL http://ronaldbradford.com
  • 23. The Ideal Performance Architecture SQL http://ronaldbradford.com
  • 24. The Ideal Performance Architecture Know Every SQL Statement ❖ Developers don't write proper SQL statements ❖ SQL statements will directly affect your performance ❖ For Example ❖ Repeating SQL statements for no benefit ❖ 1000 very quick small unnecessary queries is worse then 1 slow query http://ronaldbradford.com
  • 25. The Ideal Performance Architecture Monitor Every SQL Statement ❖ Review Query Execution Plan (QEP)‫‏‬ ❖ EXPLAIN ❖ Time queries ❖ Row Count / Affected rows ❖ Result Set Size Review over time, things change http://ronaldbradford.com
  • 26. The Ideal Performance Architecture Data http://ronaldbradford.com
  • 27. The Ideal Performance Architecture Sharding ❖ Plan and implement from Day 1 ❖ Find a good partition key ❖ Business Related ❖ Programmatically e.g. MOD (id,1000) ❖ Design for rebalancing support ❖ Virtual Host / Physical Host http://ronaldbradford.com
  • 28. The Ideal Performance Architecture Data Availability ❖ Messaging system for data availability ❖ Read/Write availability ❖ Read Availability ❖ Support at table level ❖ Support at table partitions ❖ e.g. by PK id range http://ronaldbradford.com
  • 29. The Ideal Performance Architecture Write Once Data ❖ Separate your online and archival data ❖ Reduces backup/recovery time ❖ Enables data synchronization ❖ including MySQL to non-MySQL http://ronaldbradford.com
  • 30. The Ideal Performance Architecture Professional Help is Available ❖ Two decades IT expertise ❖ 10 years in MySQL ❖ System/Data Architecture ❖ Database Performance and Tuning ❖ High Availability and Scalability ❖ Education and Training http://ronaldbradford.com http://ronaldbradford.com