SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
MySQL Overview 

  a quick look at the general aspects of the most
  popular open source database

Marco Tusa
MySQL Team Leader
16 September 2011
Why Companies Trust Pythian
     • Recognized Leader:
     •    Global industry-leader in remote database administration services and consulting for Oracle,
          Oracle Applications, MySQL and SQL Server

     •    Work with over 150 multinational companies such as Forbes.com, Fox Interactive media, and
          MDS Inc. to help manage their complex IT deployments

     • Expertise:
     •    One of the world’s largest concentrations of dedicated, full-time DBA expertise.

     • Global Reach & Scalability:
     •    24/7/365 global remote support for DBA and consulting, systems administration, special
          projects or emergency response




22                                              © 2010/2011 Pythian
Why Companies Trust Pythian
     • Recognized Leader:
         •  Global industry-leader in remote database administration services
            and consulting for Oracle, Oracle Applications, MySQL and SQL Server
         •  Work with over 150 multinational companies such as Toyota, Fox
            Interactive media, and MDS Inc. to help manage their complex IT
            deployments
     • Expertise:
         •  One of the world’s largest concentrations of dedicated, full-time DBA
            expertise.
     • Global Reach & Scalability:
         •  24/7/365 global remote support for DBA and consulting, systems
            administration, special projects or emergency response




32                                  © 2010/2011 Pythian
Who I am
    •  Currently:   Team Lead at The Pythian Group for MySQL database
      support
    •  Manager    Professional Service South EMEA at MySQL/SUN/Oracle
    •  In   MySQL before the SUN gets on us
    •  Leadingthe team responsible for Oracle & MySQL DBs service in
      support to technical systems, at Food and Agriculture Organization
      of United Nations (FAO of UN)
    •  Leading developer & system administrator teams in FAO managing
      the Intranet/Internet infrastructure.
    •  Working(a lot) in developing countries like (Ethiopia, Senegal,
      Ghana, Egypt …)
    •  My   Profile http://it.linkedin.com/in/marcotusa



3
4                                   © 2010/2011 Pythian
What is MySQL? 

     • MySQL is a database management system
     • MySQL is a relational database management system
     • MySQL software is Open Source.
     • MySQL Server works in client/server or embedded systems.
     • The official way to pronounce “MySQL” is “My Ess Que
       Ell” (not “my sequel”)




20
 5                            © 2010/2011 Pythian
Who is using MySQL

     List of customer from MySQL official presentation




20
 6                             © 2010/2011 Pythian
Main insight on MySQL 1/2

     • Written in C and C++.
     • Works on many different platforms:
       •     FreeBSD 5.x.
       •     HP-UX 11.x.
       •     Linux.
       •     Mac OS X.
       •     Solaris 2.8 on SPARC and x86
       •     Windows XP, Windows Vista, Windows Server 2003, and
            Windows Server 2008.




20
 7                                 © 2010/2011 Pythian
Main insight on MySQL 2/2

     • Uses multi-layered server design with independent
       modules.
     • Designed to be fully multi-threaded using kernel threads,
       to easily use multiple CPUs if they are available.
     • Provides transactional and non-transactional storage
       engines.
     • Designed to make it relatively easy to add other storage
       engines. This is useful if you want to provide an SQL
       interface for an in-house database.
     • Uses a very fast thread-based memory allocation system.
     • Full Localization support



20
 8                                 © 2010/2011 Pythian
What Standards MySQL Follows?

     • Supports the full ANSI/ISO SQL standard, but with some
       flexibility (SQL-92=1992 Release; SQL:1999=1999 Release; SQL:2003=2003
       Release; SQL:2008= 2008 Release).
       http://www.iso.org/iso/home.htm
     • ODBC levels 0 to 3.51.
     • MySQL can adapt its behavior using SQL Modes like:
        •    ANSI (SET GLOBAL sql_mode='ANSI';)
        •    Oracle
        •    Custom …
     • MySQL DATA is structured on the file system by directory
       and subdirectory (symbolic links widely used)


20
 9                                  © 2010/2011 Pythian
Installing MySQL in 4 easy steps

     Installing MySQL is a simple operation:
     1.  ownload software from site like (http://dev.mysql.com/get/
       D
      Downloads/MySQL-5.5/mysql-5.5.15-linux2.6-x86_64.tar.gz/from/http://
      mirror.csclub.uwaterloo.ca/mysql/)

     2.  xpand it in /usr/local/mysql (and set all grants for mysql user)
       E
     3.  opy one of the pre-configured my.cnf (from support-files
       C
      directory) to /etc/my.cnf; copy from same source
      mysql.server file to /etc/init.d/mysql
     4.  tart mysql /etc/init.d/mysql start
       S


     You can have MySQL running in 30 minutes.


20
 1                                     © 2010/2011 Pythian
 0
MySQL Architecture 1/2
     MySQL is composed of two main layers




20
 1                         © 2010/2011 Pythian
 1
MySQL Architecture 2/2

     • MySQL Layer (Parser; Optimizer; Query cache; threads
       handling )
     •  Storage engines:
       •    MyISAM ( no ACID)
       •    Innodb (ACID)
       •    Cluster (ACID)
       •    Archive (only archive and append)
       •    Memory (Main engine for in memory operations)
       •    Blackhole (it is exactly what the name indicate)
       •    .. many others


20
 1                                  © 2010/2011 Pythian
 2
MySQL Storage engine more details 1/2
     They have different advantages / trade-offs - know when to
      use them.
     1.  yISAM
       M
       •    No transaction handling; no isolation level; no data buffered (only index); full Table
            lock; no foreign key;

       •    Fully file base; minimal overhead in write; very fast in reading; Btree index; Full text
            search; Geospatial support; 256TB Storage limit;

     2. nnoDB
       I
       •    No full text (5.6 will); no Geospatial support; no cluster support; 64TB Storage limit;

       •    Full ACID; possible to modify the Isolation level; data is buffered; Write lock by ROW;
            Foreign-key support; automatic recovery from redo log in case of crash; Btree index;
            Clustered table; different file format (internal); data compression.

     3.  emory
       M
       •    No transaction; no version control; no Geospatial support; no foreign-key; full Table
            lock;

       •    Data cached in memory; Btree index; Hash index; Storage limit is the available RAM.

20
 1                                           © 2010/2011 Pythian
 3
MySQL Storage engine more details 2/2
     1.  MySQL Cluster
       •    No geospatial support; no foreign-key; no “Temporary” tables; partition only by
            [LINEAR] KEY; only the READ COMMITTED isolation level is supported; no partial roll-
            back (full or nothing); a Select on Blob or Text fields will create a READ LOCK on the
            table to guarantee consistency.

       •    Fully ACID; share nothing architecture; single point of failure; write scale by node-
            group; thread requests parallelization; and a lot more …




20
 1                                           © 2010/2011 Pythian
 4
MySQL Logs 1/2
     What they are and how MySQL uses them.
     • General Log
        •    each SQL statement received from clients; connection/disconnection as well

        •    Write intensive to be used ONLY for checking issues

     • Binary log
        •    Contains the statements “events” that modify data structure and datasets

        •    Point in time recovery; Replication; Backup; can be (statement/mixed/row)

     • Relay log
        •    Is the local copy of the Slave; contains the same information of the Binlogs

     • Slow log
     • The Error Log
        •    Self explanatory in the latest MySQL can write to syslog

20
 1                                            © 2010/2011 Pythian
 5
MySQL Logs 2/2

     What they are and how MySQL uses them.
     • Slow log
       •    Information related to SLOW QUERY

       •    Could be write intensive; long time and no index usage configurable

       •    Crucial for SQL review

     • The Error Log
       •    If not specify --log-error errors are written to stderr

       •    Warnings are written as well (log_warnings) to disable

       •    From MySQL 5.1 can also write to syslog




20
 1                                         © 2010/2011 Pythian
 6
MySQL Replication

     Replication topology, and when to use what.
     • Master -> Slave


     • Master <> Master


     • Master -> Multi slave


     • MySQL replication pro and cons
       •    Single thread
       •    Parallel replication

20
       •    Asynchronous
 1                                 © 2010/2011 Pythian
 7
Scaling with MySQL
     Replication.
     •  caling for reads
      S
        •    Add slave(s) but … keep in mind
              PT = (ND + QT) * NL
             PT = Propagation Time   ND = Network time delay   QT = Query Execution Time   NL = Number of Level


     •  caling for writes
      S
        •    Sharding or MySQL Cluster
     •  caling out vs. scaling up
      S
        •    Partition
        •    Spread the load in smaller chunk
     •  sing the right approach
      U
        •    Database dimension
        •    Activity (r/w)
20
 1                                                     © 2010/2011 Pythian
 8
Partitioning 1/2
      Use Partition to organize data
      Max number of partition per table !1024!
      Types of partitioning
     •  ANGE
      R
        •     Numeric range like (store Id; Year) less then “value”

     •  IST
      L
        •     Declared list of value (matching one in the list)

     •  OLUMNS
      C
        •     RANGE: List of a single column value or more (partition definition value list)
              evaluation left->right
        •     LIST: Declared list of value coming from one or more columns

        •     No DECIMAL, FLOAT,TIMESTAMP,TEXT,BLOB

20
 1                                          © 2010/2011 Pythian
 9
Partitioning 2/2
      Types of partitioning (cont.)
     •  ASH
      H
        •    Calculate an hash value on the given value (also expression)
             then equally distribute the data
     •  EY
      K
        •    Calculate an hash value on Primary/Unique

     •  ubpartitioning
      S
        •    Works for LIST and RANGE Partitioned tables
        •    Subpartition only by HASH or KEY

     Partition cannot be done on table with:                Full Text index ; Spatial
     columns



20
 2                                    © 2010/2011 Pythian
 0
MySQL programming 2/2
     A few point about performance
     •  Not as good you would expect




     •  Optimize IF




     •  Recursive VS not recursive
        calculating Fibonacci numbers




20
 2                                      © 2010/2011 Pythian
 1
MySQL programming
      Using stored procedure (code for performance on prime
     numbers)                                              CREATE PROCEDURE sp_nprimes(p_num int)
PROCEDURE N_PRIMES
   ( p_num NUMBER)                                         BEGIN
   IS                                                          DECLARE i INT;
     i INT;                                                    DECLARE j INT;
     j INT;                                                    DECLARE nprimes INT;
     nprimes INT;                                              DECLARE isprime INT;
     isprime INT;
BEGIN                                                             SET i=2;
     i:=2;                                                        SET nprimes=0;
     nprimes:=0;
     <<main_loop>>                                                main_loop:
     WHILE (i<p_num) LOOP                                         WHILE (i<p_num) do
           isprime:=1;                                                SET isprime=1;
           j:=2;                                                      SET j=2;
           <<divisor_loop>>                                           divisor_loop:
           WHILE (j<i) LOOP                                           WHILE (j<i) DO
                 IF (MOD(i,j)=0) THEN                                     IF (MOD(i,j)=0) THEN
                      isprime:=0;                                              SET isprime=0;
                      EXIT divisor_loop;                                       LEAVE divisor_loop;
                 END IF;                                                  END IF;
                 j:=j+1;                                                  SET j=j+1;
           END LOOP ;                                                 END WHILE ;
           IF (isprime=1) THEN                                        IF (isprime=1) THEN
                 nprimes:=nprimes+1;                                       SET nprimes=nprimes+1;
           END IF;                                                     END IF;
           i:=i+1;                                                     SET i=i+1;
     END LOOP;                                                    END WHILE;
     dbms_output.put_line(nprimes||' prime numbers                SELECT CONCAT(nprimes,' prime numbers less
     less than '||p_num);                                         than ',p_num);
END;                                                       END;




20
 2                                                   © 2010/2011 Pythian
 2
MySQL programming
     Using Store procedure (code for Fibonacci test)
Recursive
                                       Not Recursive
                                                 CREATE PROCEDURE nonrec_fib(n INT,OUT out_fib INT)
CREATE PROCEDURE rec_fib(n INT,OUT out_fib       BEGIN
    INT)                                           DECLARE m INT default 0;
BEGIN                                              DECLARE k INT DEFAULT 1;
  DECLARE n_1 INT;                                 DECLARE i INT;
  DECLARE n_2 INT;                                 DECLARE tmp INT;

  IF (n=0) THEN                                    SET m=0;
    SET out_fib=0;                                 SET k=1;
  ELSEIF (n=1) then                                SET i=1;
    SET out_fib=1;
  ELSE                                             WHILE (i<=n) DO
    CALL rec_fib(n-1,n_1);                           SET tmp=m+k;
    CALL rec_fib(n-2,n_2);                           SET m=k;
    SET out_fib=(n_1 + n_2);                         SET k=tmp;
  END IF;                                            SET i=i+1;
END                                                END WHILE;
                                                   SET out_fib=m;
                                                  END
    




20
 2                                           © 2010/2011 Pythian
 3
MySQL programming 1/2
     •  Using Store procedure
       • Programming is real at a basic level; no packages etc…
       • Triggers and function could leads to unexpected results by Storage
         engine
     •  Real status about store procedure
       • Triggers; Functions; Store procedure
       • Using   SELECT INTO is fine for single-row queries; CURSORS; Unbound result set (return
        result set to calling application); Non SELECT actions (update, insert, delete); Internal
        CALL to other Store Procedure; few info about performance

       •  Error handling available from 5.5 onwards with SIGNAL and RESIGNAL




20
 2                                          © 2010/2011 Pythian
 4
MySQL HA solution
       How many nines do you need?
       9 0. 0 0 0 % (36 days) MySQL Replication
       9 9. 0 0 0 % (8 hours) Linux Heartbeat with DRBD
       9 9. 0 0 0 % (8 hours) Linux Heartbeat with Shared Storage
                              (Active/Passive)
       9 9. 0 0 0 % (8 hours) Linux Heartbeat with Shared Storage
                              (Active/Active)
       9 9. 9 0 0 % (52 minutes) Linux Heartbeat with DRBD and Replication
       9 9. 9 0 0 % (52 minutes) Linux Heartbeat with Shared Storage and
                                     Replication
       9 9. 9 9 9 % (5 minutes) MySQL Cluster
       9 9. 9 9 9 % (5 minutes) MySQL Cluster & Replication
       9 9. 9 9 9 % (5 minutes) MySQL Cluster Carrier Grade Edition
     [Time is possible outage per year]

20
 2                                        © 2010/2011 Pythian
 5
MySQL Backup
     •  Logical MySQL Backup
       •  mysqldump
       •  export
     •  Physical MySQL backup
       •  LVM Snapshot
       •  ZFS snapshot
       •  File copy
     •  Hot Backup (xtrabackup)
     •  Incremental backup
       –  Xtrabackup
       –  binlogs
20
 2                              © 2010/2011 Pythian
 6
Managing MySQL
     MySQL tools
     •  lient application
      C
        •  Non GUI
             •  mysql — The MySQL Command-Line Tool

             •  mysqladmin — Client for Administering a MySQL Server

             •  mysqlcheck — A Table Maintenance Program

             •  mysqldump — A Database Backup Program

             •  mysqlimport — A Data Import Program

             •  mysqlshow — Display Database, Table, and Column Information

     •  UI
      G
        •  Workbench; Navicat; SQLyog … Google

20
 2                                     © 2010/2011 Pythian
 7
Managing MySQL
     Administration tools
       •  Non GUI
             •    innochecksum — Offline InnoDB File Checksum Utility

             •    myisam_ftdump — Display Full-Text Index information

             •    myisamchk — MyISAM Table-Maintenance Utility

             •    myisampack — Generate Compressed, Read-Only MyISAM Tables

             •    mysqlaccess — Client for Checking Access Privileges

             •    mysqlbinlog — Utility for Processing Binary Log Files

             •    mysqldumpslow — Summarize Slow Query Log Files

             •    mysqlhotcopy — A Database Backup Program (Archive MyISAM)

             •    perror — Explain Error Codes




20
 2                                         © 2010/2011 Pythian
 8
Monitoring MySQL Status
     •  MySQL enterprise monitor
     •  Historical monitor
       •    Cacti
       •    MONyog

     •  Live monitoring
            •  What we do at Pythian
                 Avail software for monitoring of paging/alerts and daily
                  pro-active checks
            •  Scripts
            •  Nagios plugin
            •  Issue is: define the correct parameters to monitor

20
 2                                 © 2010/2011 Pythian
 9
Use the right tool for the right use
     What MySQL is good for
     •  TLP
      O
     •  mall/mid size datasets (per instance) say less then 10Tb
      S
     •  pplications using many simultaneous connections
      A


     What is better to avoid
     •  ata warehouse
      D
     •  pplications requiring heavy usage of Stored Procedure
      A
     •  pplications requiring Hierarchical query (connect by prior etc.)
      A
     •  atasets that could not scale by SHARD
      D


20
 3                                © 2010/2011 Pythian
 0
Q & A

                           Thank you!
     tusa@pythian.com
     http://www.pythian.com/
     http://www.pythian.com/news/


     Interested in joining our elite team of trusted database expert?
     Pythian is hiring.

     More details at: http://www.pythian.com/about/careers/job-
      listings/




20
 3                                 © 2010/2011 Pythian
 1

Mais conteúdo relacionado

Mais procurados

Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...Ivan Zoratti
 
My First 100 days with a Cassandra Cluster
My First 100 days with a Cassandra ClusterMy First 100 days with a Cassandra Cluster
My First 100 days with a Cassandra ClusterGustavo Rene Antunez
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...Dave Stokes
 
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
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Ted Wennmark
 
My First 100 days with a MySQL DBMS
My First 100 days with a MySQL DBMSMy First 100 days with a MySQL DBMS
My First 100 days with a MySQL DBMSGustavo Rene Antunez
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 PerformanceMYXPLAIN
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLMorgan Tocker
 
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
 
MySQL Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best PracticesOlivier DASINI
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMario Beck
 
MySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryMySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryLouis liu
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellEmily Ikuta
 
MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsTuyen Vuong
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMorgan Tocker
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinOlivier DASINI
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMorgan Tocker
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 

Mais procurados (20)

Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
 
My First 100 days with a Cassandra Cluster
My First 100 days with a Cassandra ClusterMy First 100 days with a Cassandra Cluster
My First 100 days with a Cassandra Cluster
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
 
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
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
 
My First 100 days with a MySQL DBMS
My First 100 days with a MySQL DBMSMy First 100 days with a MySQL DBMS
My First 100 days with a MySQL DBMS
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 Performance
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
 
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 Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best Practices
 
Perf Tuning Short
Perf Tuning ShortPerf Tuning Short
Perf Tuning Short
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 
MySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryMySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summary
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
 
MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and Concepts
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The Dolphin
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
 
Introduction to Mysql
Introduction to MysqlIntroduction to Mysql
Introduction to Mysql
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 

Semelhante a MySQL overview

OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackMatt Lord
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStackTesora
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlsqlhjalp
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4Gianluca Hotz
 
Ndb cluster 80_requirements
Ndb cluster 80_requirementsNdb cluster 80_requirements
Ndb cluster 80_requirementsmikaelronstrom
 
Citrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform WayCitrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform WayIliyas Shirol
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15Dave Stokes
 
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA -   UKOUGEmbracing Database Diversity: The New Oracle / MySQL DBA -   UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUGKeith Hollman
 
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
 
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...Insight Technology, Inc.
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...Olivier DASINI
 
Collaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAsCollaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAsNelson Calero
 
MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) Frazer Clement
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Louis liu
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4Frazer Clement
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7Olivier DASINI
 

Semelhante a MySQL overview (20)

OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStack
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStack
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
 
Ndb cluster 80_requirements
Ndb cluster 80_requirementsNdb cluster 80_requirements
Ndb cluster 80_requirements
 
Citrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform WayCitrix Synergy 2014: Going the CloudPlatform Way
Citrix Synergy 2014: Going the CloudPlatform Way
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
 
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA -   UKOUGEmbracing Database Diversity: The New Oracle / MySQL DBA -   UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
 
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
 
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
 
Collaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAsCollaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAs
 
MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014)
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 

Mais de Marco Tusa

Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...Marco Tusa
 
My sql on kubernetes demystified
My sql on kubernetes demystifiedMy sql on kubernetes demystified
My sql on kubernetes demystifiedMarco Tusa
 
Comparing high availability solutions with percona xtradb cluster and percona...
Comparing high availability solutions with percona xtradb cluster and percona...Comparing high availability solutions with percona xtradb cluster and percona...
Comparing high availability solutions with percona xtradb cluster and percona...Marco Tusa
 
Accessing data through hibernate: what DBAs should tell to developers and vic...
Accessing data through hibernate: what DBAs should tell to developers and vic...Accessing data through hibernate: what DBAs should tell to developers and vic...
Accessing data through hibernate: what DBAs should tell to developers and vic...Marco Tusa
 
Best practice-high availability-solution-geo-distributed-final
Best practice-high availability-solution-geo-distributed-finalBest practice-high availability-solution-geo-distributed-final
Best practice-high availability-solution-geo-distributed-finalMarco Tusa
 
MySQL innoDB split and merge pages
MySQL innoDB split and merge pagesMySQL innoDB split and merge pages
MySQL innoDB split and merge pagesMarco Tusa
 
Robust ha solutions with proxysql
Robust ha solutions with proxysqlRobust ha solutions with proxysql
Robust ha solutions with proxysqlMarco Tusa
 
Fortify aws aurora_proxy_2019_pleu
Fortify aws aurora_proxy_2019_pleuFortify aws aurora_proxy_2019_pleu
Fortify aws aurora_proxy_2019_pleuMarco Tusa
 
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...Marco Tusa
 
Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...Marco Tusa
 
Improve aws withproxysql
Improve aws withproxysqlImprove aws withproxysql
Improve aws withproxysqlMarco Tusa
 
Fortify aws aurora_proxy
Fortify aws aurora_proxyFortify aws aurora_proxy
Fortify aws aurora_proxyMarco Tusa
 
Mysql8 advance tuning with resource group
Mysql8 advance tuning with resource groupMysql8 advance tuning with resource group
Mysql8 advance tuning with resource groupMarco Tusa
 
Proxysql sharding
Proxysql shardingProxysql sharding
Proxysql shardingMarco Tusa
 
Geographically dispersed perconaxtra db cluster deployment
Geographically dispersed perconaxtra db cluster deploymentGeographically dispersed perconaxtra db cluster deployment
Geographically dispersed perconaxtra db cluster deploymentMarco Tusa
 
Sync rep aurora_2016
Sync rep aurora_2016Sync rep aurora_2016
Sync rep aurora_2016Marco Tusa
 
Proxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynoteProxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynoteMarco Tusa
 
Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsMarco Tusa
 
Galera explained 3
Galera explained 3Galera explained 3
Galera explained 3Marco Tusa
 
Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Marco Tusa
 

Mais de Marco Tusa (20)

Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
Percona xtra db cluster(pxc) non blocking operations, what you need to know t...
 
My sql on kubernetes demystified
My sql on kubernetes demystifiedMy sql on kubernetes demystified
My sql on kubernetes demystified
 
Comparing high availability solutions with percona xtradb cluster and percona...
Comparing high availability solutions with percona xtradb cluster and percona...Comparing high availability solutions with percona xtradb cluster and percona...
Comparing high availability solutions with percona xtradb cluster and percona...
 
Accessing data through hibernate: what DBAs should tell to developers and vic...
Accessing data through hibernate: what DBAs should tell to developers and vic...Accessing data through hibernate: what DBAs should tell to developers and vic...
Accessing data through hibernate: what DBAs should tell to developers and vic...
 
Best practice-high availability-solution-geo-distributed-final
Best practice-high availability-solution-geo-distributed-finalBest practice-high availability-solution-geo-distributed-final
Best practice-high availability-solution-geo-distributed-final
 
MySQL innoDB split and merge pages
MySQL innoDB split and merge pagesMySQL innoDB split and merge pages
MySQL innoDB split and merge pages
 
Robust ha solutions with proxysql
Robust ha solutions with proxysqlRobust ha solutions with proxysql
Robust ha solutions with proxysql
 
Fortify aws aurora_proxy_2019_pleu
Fortify aws aurora_proxy_2019_pleuFortify aws aurora_proxy_2019_pleu
Fortify aws aurora_proxy_2019_pleu
 
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
 
Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...
 
Improve aws withproxysql
Improve aws withproxysqlImprove aws withproxysql
Improve aws withproxysql
 
Fortify aws aurora_proxy
Fortify aws aurora_proxyFortify aws aurora_proxy
Fortify aws aurora_proxy
 
Mysql8 advance tuning with resource group
Mysql8 advance tuning with resource groupMysql8 advance tuning with resource group
Mysql8 advance tuning with resource group
 
Proxysql sharding
Proxysql shardingProxysql sharding
Proxysql sharding
 
Geographically dispersed perconaxtra db cluster deployment
Geographically dispersed perconaxtra db cluster deploymentGeographically dispersed perconaxtra db cluster deployment
Geographically dispersed perconaxtra db cluster deployment
 
Sync rep aurora_2016
Sync rep aurora_2016Sync rep aurora_2016
Sync rep aurora_2016
 
Proxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynoteProxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynote
 
Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instruments
 
Galera explained 3
Galera explained 3Galera explained 3
Galera explained 3
 
Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2
 

Último

Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingFrancesco Corti
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024Brian Pichman
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updateadam112203
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FESTBillieHyde
 

Último (20)

Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is going
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 update
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FEST
 

MySQL overview

  • 1. MySQL Overview 
 a quick look at the general aspects of the most popular open source database Marco Tusa MySQL Team Leader 16 September 2011
  • 2. Why Companies Trust Pythian • Recognized Leader: •  Global industry-leader in remote database administration services and consulting for Oracle, Oracle Applications, MySQL and SQL Server •  Work with over 150 multinational companies such as Forbes.com, Fox Interactive media, and MDS Inc. to help manage their complex IT deployments • Expertise: •  One of the world’s largest concentrations of dedicated, full-time DBA expertise. • Global Reach & Scalability: •  24/7/365 global remote support for DBA and consulting, systems administration, special projects or emergency response 22 © 2010/2011 Pythian
  • 3. Why Companies Trust Pythian • Recognized Leader: •  Global industry-leader in remote database administration services and consulting for Oracle, Oracle Applications, MySQL and SQL Server •  Work with over 150 multinational companies such as Toyota, Fox Interactive media, and MDS Inc. to help manage their complex IT deployments • Expertise: •  One of the world’s largest concentrations of dedicated, full-time DBA expertise. • Global Reach & Scalability: •  24/7/365 global remote support for DBA and consulting, systems administration, special projects or emergency response 32 © 2010/2011 Pythian
  • 4. Who I am •  Currently: Team Lead at The Pythian Group for MySQL database support •  Manager Professional Service South EMEA at MySQL/SUN/Oracle •  In MySQL before the SUN gets on us •  Leadingthe team responsible for Oracle & MySQL DBs service in support to technical systems, at Food and Agriculture Organization of United Nations (FAO of UN) •  Leading developer & system administrator teams in FAO managing the Intranet/Internet infrastructure. •  Working(a lot) in developing countries like (Ethiopia, Senegal, Ghana, Egypt …) •  My Profile http://it.linkedin.com/in/marcotusa 3 4 © 2010/2011 Pythian
  • 5. What is MySQL? • MySQL is a database management system • MySQL is a relational database management system • MySQL software is Open Source. • MySQL Server works in client/server or embedded systems. • The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”) 20 5 © 2010/2011 Pythian
  • 6. Who is using MySQL List of customer from MySQL official presentation 20 6 © 2010/2011 Pythian
  • 7. Main insight on MySQL 1/2 • Written in C and C++. • Works on many different platforms: •  FreeBSD 5.x. •  HP-UX 11.x. •  Linux. •  Mac OS X. •  Solaris 2.8 on SPARC and x86 •  Windows XP, Windows Vista, Windows Server 2003, and Windows Server 2008. 20 7 © 2010/2011 Pythian
  • 8. Main insight on MySQL 2/2 • Uses multi-layered server design with independent modules. • Designed to be fully multi-threaded using kernel threads, to easily use multiple CPUs if they are available. • Provides transactional and non-transactional storage engines. • Designed to make it relatively easy to add other storage engines. This is useful if you want to provide an SQL interface for an in-house database. • Uses a very fast thread-based memory allocation system. • Full Localization support 20 8 © 2010/2011 Pythian
  • 9. What Standards MySQL Follows? • Supports the full ANSI/ISO SQL standard, but with some flexibility (SQL-92=1992 Release; SQL:1999=1999 Release; SQL:2003=2003 Release; SQL:2008= 2008 Release). http://www.iso.org/iso/home.htm • ODBC levels 0 to 3.51. • MySQL can adapt its behavior using SQL Modes like: •  ANSI (SET GLOBAL sql_mode='ANSI';) •  Oracle •  Custom … • MySQL DATA is structured on the file system by directory and subdirectory (symbolic links widely used) 20 9 © 2010/2011 Pythian
  • 10. Installing MySQL in 4 easy steps Installing MySQL is a simple operation: 1.  ownload software from site like (http://dev.mysql.com/get/ D Downloads/MySQL-5.5/mysql-5.5.15-linux2.6-x86_64.tar.gz/from/http:// mirror.csclub.uwaterloo.ca/mysql/) 2.  xpand it in /usr/local/mysql (and set all grants for mysql user) E 3.  opy one of the pre-configured my.cnf (from support-files C directory) to /etc/my.cnf; copy from same source mysql.server file to /etc/init.d/mysql 4.  tart mysql /etc/init.d/mysql start S You can have MySQL running in 30 minutes. 20 1 © 2010/2011 Pythian 0
  • 11. MySQL Architecture 1/2 MySQL is composed of two main layers 20 1 © 2010/2011 Pythian 1
  • 12. MySQL Architecture 2/2 • MySQL Layer (Parser; Optimizer; Query cache; threads handling ) •  Storage engines: •  MyISAM ( no ACID) •  Innodb (ACID) •  Cluster (ACID) •  Archive (only archive and append) •  Memory (Main engine for in memory operations) •  Blackhole (it is exactly what the name indicate) •  .. many others 20 1 © 2010/2011 Pythian 2
  • 13. MySQL Storage engine more details 1/2 They have different advantages / trade-offs - know when to use them. 1.  yISAM M •  No transaction handling; no isolation level; no data buffered (only index); full Table lock; no foreign key; •  Fully file base; minimal overhead in write; very fast in reading; Btree index; Full text search; Geospatial support; 256TB Storage limit; 2. nnoDB I •  No full text (5.6 will); no Geospatial support; no cluster support; 64TB Storage limit; •  Full ACID; possible to modify the Isolation level; data is buffered; Write lock by ROW; Foreign-key support; automatic recovery from redo log in case of crash; Btree index; Clustered table; different file format (internal); data compression. 3.  emory M •  No transaction; no version control; no Geospatial support; no foreign-key; full Table lock; •  Data cached in memory; Btree index; Hash index; Storage limit is the available RAM. 20 1 © 2010/2011 Pythian 3
  • 14. MySQL Storage engine more details 2/2 1.  MySQL Cluster •  No geospatial support; no foreign-key; no “Temporary” tables; partition only by [LINEAR] KEY; only the READ COMMITTED isolation level is supported; no partial roll- back (full or nothing); a Select on Blob or Text fields will create a READ LOCK on the table to guarantee consistency. •  Fully ACID; share nothing architecture; single point of failure; write scale by node- group; thread requests parallelization; and a lot more … 20 1 © 2010/2011 Pythian 4
  • 15. MySQL Logs 1/2 What they are and how MySQL uses them. • General Log •  each SQL statement received from clients; connection/disconnection as well •  Write intensive to be used ONLY for checking issues • Binary log •  Contains the statements “events” that modify data structure and datasets •  Point in time recovery; Replication; Backup; can be (statement/mixed/row) • Relay log •  Is the local copy of the Slave; contains the same information of the Binlogs • Slow log • The Error Log •  Self explanatory in the latest MySQL can write to syslog 20 1 © 2010/2011 Pythian 5
  • 16. MySQL Logs 2/2 What they are and how MySQL uses them. • Slow log •  Information related to SLOW QUERY •  Could be write intensive; long time and no index usage configurable •  Crucial for SQL review • The Error Log •  If not specify --log-error errors are written to stderr •  Warnings are written as well (log_warnings) to disable •  From MySQL 5.1 can also write to syslog 20 1 © 2010/2011 Pythian 6
  • 17. MySQL Replication Replication topology, and when to use what. • Master -> Slave • Master <> Master • Master -> Multi slave • MySQL replication pro and cons •  Single thread •  Parallel replication 20 •  Asynchronous 1 © 2010/2011 Pythian 7
  • 18. Scaling with MySQL Replication. •  caling for reads S •  Add slave(s) but … keep in mind PT = (ND + QT) * NL PT = Propagation Time ND = Network time delay QT = Query Execution Time NL = Number of Level •  caling for writes S •  Sharding or MySQL Cluster •  caling out vs. scaling up S •  Partition •  Spread the load in smaller chunk •  sing the right approach U •  Database dimension •  Activity (r/w) 20 1 © 2010/2011 Pythian 8
  • 19. Partitioning 1/2 Use Partition to organize data Max number of partition per table !1024! Types of partitioning •  ANGE R •  Numeric range like (store Id; Year) less then “value” •  IST L •  Declared list of value (matching one in the list) •  OLUMNS C •  RANGE: List of a single column value or more (partition definition value list) evaluation left->right •  LIST: Declared list of value coming from one or more columns •  No DECIMAL, FLOAT,TIMESTAMP,TEXT,BLOB 20 1 © 2010/2011 Pythian 9
  • 20. Partitioning 2/2 Types of partitioning (cont.) •  ASH H •  Calculate an hash value on the given value (also expression) then equally distribute the data •  EY K •  Calculate an hash value on Primary/Unique •  ubpartitioning S •  Works for LIST and RANGE Partitioned tables •  Subpartition only by HASH or KEY Partition cannot be done on table with: Full Text index ; Spatial columns 20 2 © 2010/2011 Pythian 0
  • 21. MySQL programming 2/2 A few point about performance •  Not as good you would expect •  Optimize IF •  Recursive VS not recursive calculating Fibonacci numbers 20 2 © 2010/2011 Pythian 1
  • 22. MySQL programming Using stored procedure (code for performance on prime numbers) CREATE PROCEDURE sp_nprimes(p_num int) PROCEDURE N_PRIMES ( p_num NUMBER) BEGIN IS DECLARE i INT; i INT; DECLARE j INT; j INT; DECLARE nprimes INT; nprimes INT; DECLARE isprime INT; isprime INT; BEGIN SET i=2; i:=2; SET nprimes=0; nprimes:=0; <<main_loop>> main_loop: WHILE (i<p_num) LOOP WHILE (i<p_num) do isprime:=1; SET isprime=1; j:=2; SET j=2; <<divisor_loop>> divisor_loop: WHILE (j<i) LOOP WHILE (j<i) DO IF (MOD(i,j)=0) THEN IF (MOD(i,j)=0) THEN isprime:=0; SET isprime=0; EXIT divisor_loop; LEAVE divisor_loop; END IF; END IF; j:=j+1; SET j=j+1; END LOOP ; END WHILE ; IF (isprime=1) THEN IF (isprime=1) THEN nprimes:=nprimes+1; SET nprimes=nprimes+1; END IF; END IF; i:=i+1; SET i=i+1; END LOOP; END WHILE; dbms_output.put_line(nprimes||' prime numbers SELECT CONCAT(nprimes,' prime numbers less less than '||p_num); than ',p_num); END; END; 20 2 © 2010/2011 Pythian 2
  • 23. MySQL programming Using Store procedure (code for Fibonacci test) Recursive Not Recursive CREATE PROCEDURE nonrec_fib(n INT,OUT out_fib INT) CREATE PROCEDURE rec_fib(n INT,OUT out_fib BEGIN INT) DECLARE m INT default 0; BEGIN DECLARE k INT DEFAULT 1; DECLARE n_1 INT; DECLARE i INT; DECLARE n_2 INT; DECLARE tmp INT; IF (n=0) THEN SET m=0; SET out_fib=0; SET k=1; ELSEIF (n=1) then SET i=1; SET out_fib=1; ELSE WHILE (i<=n) DO CALL rec_fib(n-1,n_1); SET tmp=m+k; CALL rec_fib(n-2,n_2); SET m=k; SET out_fib=(n_1 + n_2); SET k=tmp; END IF; SET i=i+1; END END WHILE; SET out_fib=m; END 20 2 © 2010/2011 Pythian 3
  • 24. MySQL programming 1/2 •  Using Store procedure • Programming is real at a basic level; no packages etc… • Triggers and function could leads to unexpected results by Storage engine •  Real status about store procedure • Triggers; Functions; Store procedure • Using SELECT INTO is fine for single-row queries; CURSORS; Unbound result set (return result set to calling application); Non SELECT actions (update, insert, delete); Internal CALL to other Store Procedure; few info about performance •  Error handling available from 5.5 onwards with SIGNAL and RESIGNAL 20 2 © 2010/2011 Pythian 4
  • 25. MySQL HA solution How many nines do you need? 9 0. 0 0 0 % (36 days) MySQL Replication 9 9. 0 0 0 % (8 hours) Linux Heartbeat with DRBD 9 9. 0 0 0 % (8 hours) Linux Heartbeat with Shared Storage (Active/Passive) 9 9. 0 0 0 % (8 hours) Linux Heartbeat with Shared Storage (Active/Active) 9 9. 9 0 0 % (52 minutes) Linux Heartbeat with DRBD and Replication 9 9. 9 0 0 % (52 minutes) Linux Heartbeat with Shared Storage and Replication 9 9. 9 9 9 % (5 minutes) MySQL Cluster 9 9. 9 9 9 % (5 minutes) MySQL Cluster & Replication 9 9. 9 9 9 % (5 minutes) MySQL Cluster Carrier Grade Edition [Time is possible outage per year] 20 2 © 2010/2011 Pythian 5
  • 26. MySQL Backup •  Logical MySQL Backup •  mysqldump •  export •  Physical MySQL backup •  LVM Snapshot •  ZFS snapshot •  File copy •  Hot Backup (xtrabackup) •  Incremental backup –  Xtrabackup –  binlogs 20 2 © 2010/2011 Pythian 6
  • 27. Managing MySQL MySQL tools •  lient application C •  Non GUI •  mysql — The MySQL Command-Line Tool •  mysqladmin — Client for Administering a MySQL Server •  mysqlcheck — A Table Maintenance Program •  mysqldump — A Database Backup Program •  mysqlimport — A Data Import Program •  mysqlshow — Display Database, Table, and Column Information •  UI G •  Workbench; Navicat; SQLyog … Google 20 2 © 2010/2011 Pythian 7
  • 28. Managing MySQL Administration tools •  Non GUI •  innochecksum — Offline InnoDB File Checksum Utility •  myisam_ftdump — Display Full-Text Index information •  myisamchk — MyISAM Table-Maintenance Utility •  myisampack — Generate Compressed, Read-Only MyISAM Tables •  mysqlaccess — Client for Checking Access Privileges •  mysqlbinlog — Utility for Processing Binary Log Files •  mysqldumpslow — Summarize Slow Query Log Files •  mysqlhotcopy — A Database Backup Program (Archive MyISAM) •  perror — Explain Error Codes 20 2 © 2010/2011 Pythian 8
  • 29. Monitoring MySQL Status •  MySQL enterprise monitor •  Historical monitor •  Cacti •  MONyog •  Live monitoring •  What we do at Pythian   Avail software for monitoring of paging/alerts and daily pro-active checks •  Scripts •  Nagios plugin •  Issue is: define the correct parameters to monitor 20 2 © 2010/2011 Pythian 9
  • 30. Use the right tool for the right use What MySQL is good for •  TLP O •  mall/mid size datasets (per instance) say less then 10Tb S •  pplications using many simultaneous connections A What is better to avoid •  ata warehouse D •  pplications requiring heavy usage of Stored Procedure A •  pplications requiring Hierarchical query (connect by prior etc.) A •  atasets that could not scale by SHARD D 20 3 © 2010/2011 Pythian 0
  • 31. Q & A Thank you! tusa@pythian.com http://www.pythian.com/ http://www.pythian.com/news/ Interested in joining our elite team of trusted database expert? Pythian is hiring. More details at: http://www.pythian.com/about/careers/job- listings/ 20 3 © 2010/2011 Pythian 1