SlideShare a Scribd company logo
State of MySQL
    (ver 5.0/5.1)

 Michael “Monty” Widenius
        CoFounder

MySQL AB, Creators of MySQL
   Romania, 2007-05-19
Languages
 ● Ruby                               ●   Smalltalk             ● Eiffel
 ● C                                  ●   Pascal                ● Haskell

 ● Java, MXJ (Native)                 ●   ADA                   ● Erlang

 ●
   C#/.Net                            ●   APL                   ● Curl

 ● ODBC                               ●   Lasso                 ● Forth

 ● PHP                                ●   Pike                  ● Slang

 ● Perl                               ●   Rexx                  ● LUA

 ● C++                                ●   Dylan                 ● OLEDB

 ● Python                             ●   Common Lisp           ● Active X

 ● Delphi                             ●   Scheme                ● TCL

 ● Objective C                        ●   Gauche                ● Fortran

 ● Visual Basic                       ●   Guile                 And even Cobol!
                                      ●   Mathlab




         The community are always adding more languages!
© 2007 MySQL AB   Creators of MySQL                     MySQL is a registered trademark of MySQL
Platforms
 ●   Linux                                 ●   Novell Netware
     — Ubuntu, RedHat, Suse,               ●   OpenVMS
       Debian, Feodora, Turbo              ●   QNX
       WindRiver, MontaVista
 ●   UNIX
     — OpenSolaris, HPUX, AIX              ●   Intel [32 & 64]
 ●   Windows                               ●   AMD [32 & 64]
     — Vista, NT, Win2k, XP                ●   IBM PowerPC [32 & 64]
 ●   MacOS X                               ●   Sun Sparc [32 & 64]
 ●   {Free,Open,Net}BSD
 ●   IBM i5/OS




 First 64bit MySQL in March 2000. Good code -> 64bit is a recompile!
                    All compiled from ONE source tree.
          Code should be written with portability in mind from the beginning!
© 2007 MySQL AB   Creators of MySQL                  MySQL is a registered trademark of MySQL
MySQL Internal Architecture




© 2007 MySQL AB   Creators of MySQL      MySQL is a registered trademark of MySQL
Storage Engines
●   InnoDB
                                       ●   Falcon
     – ACID, Transactions                   – ACID, opt for 64 bit

●   MyISAM
                                       ●   Maria (MyISAM++)
     – No Transact, Small footp             – Crash recovery, DW stuff

●   Archive
                                       ●   PBXT (Streaming BLOB)
     – Only Insert & Select
                                       ●   Solid
●   Memory                             ●   NitroSecurity
     – In memory (temp table)          ●   InfoBright
●   NDB/Cluster                        ●   ScaleDB
     – Failsafe distributed mostly     ●   IBM DB2 (for i5 platform)
       in memory                       ●   Blackhole (/dev/null)



© 2007 MySQL AB   Creators of MySQL            MySQL is a registered trademark of MySQL
MySQL Cluster (NDB)
• Distributed in memory storage engine with
   – Fault Tolerance: shared nothing architecture
   – High Availability: fast auto failover (five 9’s of availability)
   – Scalability: Scale by adding more commodity machines
   – High Performance: Really really fast (many 100000 ops per
     second) for primary key lookups (mixed read and write). Up to
     millions of queries per second using low level C API and high end
     hardware
   – Simplified applications: For the application MySQL Cluster is a
     just a table. In the case of failure you reconnect to another
     MySQL Server and immediately see the same data
   – Currently slow on joins so no replacement for MyISAM/InnoDB




© 2007 MySQL AB   Creators of MySQL          MySQL is a registered trademark of MySQL
MySQL 5.0 (Current GA version)
●   Stored Procedures
●   Triggers
●   Views
●   Strict Mode (classical DB error handling)
●   Information_Schema (Data Dictionary)
●   Precision Math (> 50 digits of precision)
●   Many additions to our optimizer -> Faster complex
    queries
●   Cursors (read only, forward scrolling)
●   XA (distributed transactions)



© 2007 MySQL AB   Creators of MySQL   MySQL is a registered trademark of MySQL
MySQL 5.0: Stored Procedures
   ●   MySQL’s stored procedures:
        – Follow the SQL:2003 syntax
        – Can return multiple result sets in a single invocation
        – Supports INOUT parameters, partial exception handling,
          and flow control

  Sample:
  mysql> delimiter //
  mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
      -> BEGIN
      ->    SELECT COUNT(*) INTO param1 FROM t;
      -> END
      -> //
  mysql> delimiter ;
  mysql> CALL simpleproc(@a);
  mysql> SELECT @a;
  +------+
  | @a   |
  +------+
  | 3    |
  +------+


© 2007 MySQL AB   Creators of MySQL                MySQL is a registered trademark of MySQL
MySQL 5.0: Triggers
   ●   MySQL includes support for triggering
       statements and stored procedures before or
       after a table event


  Sample (Keep the old value when updating):

  CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));
  CREATE TRIGGER ins_sum BEFORE UPDATE ON account
     -> FOR EACH ROW NEW.previous_amount = OLD.amount;




© 2007 MySQL AB   Creators of MySQL            MySQL is a registered trademark of MySQL
MySQL 5.0: Views
  ●   MySQL supports updatable and read-only views:
       –   Useful for accessing the result of a query as if it were
           a table
       –   Can restrict access to a set of rows in a table,
           database, or view


   Sample:
   CREATE TABLE t (qty INT, price INT);
   INSERT INTO t VALUES(3, 50);
   CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t;
   SELECT * FROM v;
   +------+-------+-------+
   | qty | price | value |
   +------+-------+-------+
   |    3 |    50 |   150 |
   +------+-------+-------+




© 2007 MySQL AB   Creators of MySQL                MySQL is a registered trademark of MySQL
MySQL 5.0: Data Dictionary
  ●   Supports for a new information_schema
      database with meta information
       –   Useful for finding any meta information about your
           data, in addition to the present SHOW command



   Sample:
   use information_schema
   select TABLE_SCHEMA, COLUMN_NAME, CHARACTER_SET_NAME from COLUMNS
         where TABLE_NAME = "tables" limit 1;
   +--------------------+---------------+--------------------+
   | Table_schema       | COLUMN_NAME   | CHARACTER_SET_NAME |
   +--------------------+---------------+--------------------+
   | information_schema | TABLE_CATALOG | utf8               |
   +--------------------+---------------+--------------------+
   1 row in set (0.05 sec)



© 2007 MySQL AB   Creators of MySQL                MySQL is a registered trademark of MySQL
MySQL 5.0: Precision Math
  ●   Exact calculations with
       –   Well defined rounding
       –   At least 56 digits precision
       –   Very fast with static memory allocation

   Sample:
   create table d2 (n decimal(64,3));
   insert into d2 values (233221213212312312321321321321),
                         (34543543324325435435435),
                         (32432432432454374435234543456);
   Query OK, 3 rows affected (0.00 sec)
   select sum(n) from d2;
   +------------------------------------+
   | sum(n)                             |
   +------------------------------------+
   | 265653680188310011081991300212.000 |
   +------------------------------------+
   1 row in set (0.00 sec)



© 2007 MySQL AB   Creators of MySQL                MySQL is a registered trademark of MySQL
MySQL 5.0: Strict Mode
  ●   Get rollback/errors instead of closest value/warning
       –   Was one of the most asked for features for 10 years!



  Sample:
  CREATE TABLE d1 (d date);
  Query OK, 0 rows affected (0.23 sec)

  mysql> INSERT INTO d1 SET d = "2005-04-31";
  Query OK, 1 row affected, 1 warning (0.00 sec)

  mysql> SET sql_mode='STRICT_ALL_TABLES';
  Query OK, 0 rows affected (0.01 sec)

  mysql> INSERT INTO d1 SET d = "2004-04-31";
  ERROR 1292 (22007): Incorrect date value: '2004-04-31' for column 'd' at row 1

© 2007 MySQL AB   Creators of MySQL                   MySQL is a registered trademark of MySQL
MySQL 5.0: Server Side Cursors
  ●   Read only, forward scrollable cursors

   Sample:
   CREATE PROCEDURE cursor_demo()
   BEGIN
     DECLARE a, b CHAR(16);
     DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;
     OPEN cur1;
     REPEAT
       FETCH cur1 INTO a, b;
       ...

     CLOSE cur1;
   END




© 2007 MySQL AB   Creators of MySQL       MySQL is a registered trademark of MySQL
MySQL 5.0: XA
   ●   MySQL can Participate as a Resource Manager (RM)
        – Commit grouping to improve performance
        – Java support via XADatasource implementation

   ●   MySQL can be a Transaction Manager
        – Coordinates transactions across multiple storage engines
        – XA is part of storage engine interface




                              Application                         TX Scope



                          MySQL                   Other XA RM
                         MySQL acts as RM         Included in app TX
                         Queries on ACID TX
                            tables included




© 2007 MySQL AB   Creators of MySQL                                      MySQL is a registered trademark of MySQL
5.0: Even Better Optimizer
●   Greedy Optimizer (Fast handling of many tables in a join)
●   Index Merge (for WHERE a=1 or b=2)
●   Equality propagation (WHERE a=b AND a=c -> implies b=c)
●   Conversion of outer joins into inner joins. (Allows us to
    consider different join orders)
●   Correct execution of LEFT and RIGHT outer joins
●   Loose index scan for queries of the type
     –   SELECT MAX(b) FROM t GROUP BY a
     –   SELECT DISTINCT a, b, c FROM t



© 2007 MySQL AB   Creators of MySQL        MySQL is a registered trademark of MySQL
5.0: 'Small' things also gets added!
 Extension to LOAD DATA for doing transformation/calculation
 at the time you load the data.

 LOAD DATA INFILE 'file.txt' INTO TABLE t1
    (col1, @var1, @var2)
   SET col2 = @var1-@var2, col3 = @var2;




© 2007 MySQL AB   Creators of MySQL    MySQL is a registered trademark of MySQL
MySQL 5.1 (now in late Beta)
●   A better 5.0 (Thousands of small fixes)
●   Table/Index Partitioning - for data warehousing etc
●   Row-based replication – Transfers data instead of commands
●   Full-text indexing parser plugins – Flexible full text search
●   Disk-based Data Support for MySQL Cluster
●   Replication Support for MySQL Cluster – Running with multiple
    clusters in different locations
●   XPath Support - helps any customer wanting to better navigate
    and search XML documents stored in MySQL
●   Internal Task Scheduler (Events)- new utility that helps you to
    schedule, run, and monitor database-driven tasks and jobs
●   And much more...


© 2007 MySQL AB   Creators of MySQL           MySQL is a registered trademark of MySQL
Upcoming Features (6.0, 6.1)
●   Partitioning
     –   Parallel query
●   Replication
     –   Multi source replication
●   Global Backup API
●   Hash & Merge joins
●   Falcon and Maria (MyISAM++) storage engine
●   Federated tables over ODBC
●   Foreign key support for all engines



© 2007 MySQL AB   Creators of MySQL       MySQL is a registered trademark of MySQL
Development Road Map
●   More plugins (Storage engines are already a plugin)
●   More online features (ALTER TABLE)
●   Features to run Enterprise Software (SAP etc)
●   Extending current features (XPATH, Subquery
    optimizer, geometrical data etc...)
●   Profiling, stored procedure debugging...
●   SQL standards
●   Useful extensions
     –   Data warehousing (New storage engines, new index
         types)
     –   Store 20 Peta (20,000 Terabytes) bytes in MySQL
© 2007 MySQL AB   Creators of MySQL      MySQL is a registered trademark of MySQL
MySQL Graphical (GUI) Tools
 ●   Available Now!
     –   MySQL Administrator (Win, Linux, MacOS)
     –   MySQL Query Browser (Win, Linux, MacOS)
     –   MySQL Migration Toolkit (Win, Linux, MacOS)
          ●   Plug-in Architecture for sources (Java/JDBC)
 ●   In Development
     –   MySQL Workbench

 ●   All freely available under GPL license



© 2007 MySQL AB   Creators of MySQL              MySQL is a registered trademark of MySQL
Contributions
●   The most common contribution is repeatable bug reports & ideas!
●   MySQL has always accepted contributions
     –   Windows port, JDBC, .Net, PHP, Perl connector...
●   Not only the server: GUI Tools, Connectors, Articles, Documentation...
●   HOWTO:
     –   Subscribe to the internals@lists.mysql.com mailing list
     –   Check out forge.mysql.com/contribute
     –   Work from the latest development version
          ●There is a read only BitKeeper/SVN tree available with the latest
     –   Shared copyright needed (Just like the FSF, OpenOffice)



© 2007 MySQL AB   Creators of MySQL               MySQL is a registered trademark of MySQL
Free Databases get Better all the time!
 ●   Good bug reports since bugs gets fixed
       –   Repeatable bug reports are as valuable as code!
 ●   Much faster user/developer feedback than closed source
 ●   Lots of testing of all code. All features available for all!
 ●   Freedom & Independence!
       –   You have the ultimate documentation, the source!
 ● Security is not by obscurity, No hidden hooks in the code
 ● Lots of Eco system code gets written by the community

 ● We can hire people who has shown they already know the

   code/product
 ● Result: Low Total Cost of Ownership




© 2007 MySQL AB   Creators of MySQL           MySQL is a registered trademark of MySQL
All software discussed here is OSS
●   So you can go and download the source for Cluster,
    MySQL server, GUI tools and connectors directly!
●   The piece that is not freely downloadable is MySQL
    Enterprise that is a pay per year per machine offering
    (a so called subscription).
     –   Very useful for companies who want to get their DBAs
         more efficient.




© 2007 MySQL AB   Creators of MySQL       MySQL is a registered trademark of MySQL
No Software Patents!
●   Software Patents are a threat against Free Software,
    Software innovation and developing local software
    industries countries
●   In Europe our side was successful and the SW Pat
    proposal was thrown out (a real thriller!)
●   MySQL has been spending lots of cash and lots of
    Management time (CEO,VPs & Founders) fighting
    Software Patents
     –   Other backers included RedHat
●   Please help make sure that Romania does not follow
    the US into this minefield.
●   See recent article “Microsoft takes on the free world”
© 2007 MySQL AB   Creators of MySQL      MySQL is a registered trademark of MySQL
We are looking for developers?
●   MySQL AB are looking for good C/C++ developers
     –   We strongly prefer people with OpenSource experience
     –   People who send in a good CV has < 1% chance
     –   People who send in good patches and bug fixes has close
         to 100% chance historically
     –   BTW: we prefer CVs that does not list every computer
         buzz world for the last 30 years :-(
●   C/C++ Developers with system programming
    experience. Filesystem work, Kernel internals (VM
    System), Database internals etc



© 2007 MySQL AB   Creators of MySQL       MySQL is a registered trademark of MySQL
Questions?

More Related Content

What's hot

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
 
Introduction to Mysql
Introduction to MysqlIntroduction to Mysql
Introduction to Mysql
Tushar Chauhan
 
Converting from MySQL to PostgreSQL
Converting from MySQL to PostgreSQLConverting from MySQL to PostgreSQL
Converting from MySQL to PostgreSQL
John Ashmead
 
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
 
Oracle to MySQL 2012
Oracle to MySQL  2012 Oracle to MySQL  2012
Oracle to MySQL 2012 Marco Tusa
 
MySQL overview
MySQL overviewMySQL overview
MySQL overviewMarco Tusa
 
PostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLPostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQL
Alexei Krasner
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8
Ted Wennmark
 
MySQL 开发
MySQL 开发MySQL 开发
MySQL 开发
YUCHENG HU
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
Ted Wennmark
 
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 High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
Continuent
 
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
 
Introduction Mysql
Introduction Mysql Introduction Mysql
Introduction Mysql
Gerben Menschaert
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)
Mydbops
 
MySQL Architecture and Engine
MySQL Architecture and EngineMySQL Architecture and Engine
MySQL Architecture and EngineAbdul Manaf
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
Ted Wennmark
 
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
Ronald Bradford
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
Abel Flórez
 

What's hot (20)

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
 
Introduction to Mysql
Introduction to MysqlIntroduction to Mysql
Introduction to Mysql
 
Converting from MySQL to PostgreSQL
Converting from MySQL to PostgreSQLConverting from MySQL to PostgreSQL
Converting from MySQL to PostgreSQL
 
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
 
Oracle to MySQL 2012
Oracle to MySQL  2012 Oracle to MySQL  2012
Oracle to MySQL 2012
 
MySQL overview
MySQL overviewMySQL overview
MySQL overview
 
PostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLPostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQL
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8
 
MySQL 开发
MySQL 开发MySQL 开发
MySQL 开发
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
 
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 High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
 
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)
 
Introduction Mysql
Introduction Mysql Introduction Mysql
Introduction Mysql
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)
 
MySQL Architecture and Engine
MySQL Architecture and EngineMySQL Architecture and Engine
MySQL Architecture and Engine
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
 
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
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
 

Similar to "Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007

Mysql database
Mysql databaseMysql database
Mysql database
Arshikhan08
 
Ukoug 2011 mysql_arch_for_orcl_dba
Ukoug 2011 mysql_arch_for_orcl_dbaUkoug 2011 mysql_arch_for_orcl_dba
Ukoug 2011 mysql_arch_for_orcl_dba
orablue11
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
sqlhjalp
 
MySQL's NoSQL -- SCaLE 13x Feb. 20, 2015
MySQL's NoSQL -- SCaLE 13x Feb. 20, 2015MySQL's NoSQL -- SCaLE 13x Feb. 20, 2015
MySQL's NoSQL -- SCaLE 13x Feb. 20, 2015
Dave Stokes
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
MySQL Brasil
 
[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 Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
Alkin Tezuysal
 
Tutorial MySQL com Java
Tutorial MySQL com JavaTutorial MySQL com Java
Tutorial MySQL com Java
MySQL Brasil
 
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin CharlesA26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin CharlesInsight Technology, Inc.
 
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
Ivan Ma
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
Colin Charles
 
MySQL developing Store Procedure
MySQL developing Store ProcedureMySQL developing Store Procedure
MySQL developing Store ProcedureMarco Tusa
 
High-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and JavaHigh-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and Java
sunnygleason
 
MySQL in the Hosted Cloud - Percona Live 2015
MySQL in the Hosted Cloud - Percona Live 2015MySQL in the Hosted Cloud - Percona Live 2015
MySQL in the Hosted Cloud - Percona Live 2015
Colin Charles
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...Geir Høydalsvik
 
MySQL in the Cloud
MySQL in the CloudMySQL in the Cloud
MySQL in the Cloud
Colin Charles
 
Databases in the hosted cloud
Databases in the hosted cloudDatabases in the hosted cloud
Databases in the hosted cloud
Colin Charles
 

Similar to "Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007 (20)

Mysql database
Mysql databaseMysql database
Mysql database
 
Ukoug 2011 mysql_arch_for_orcl_dba
Ukoug 2011 mysql_arch_for_orcl_dbaUkoug 2011 mysql_arch_for_orcl_dba
Ukoug 2011 mysql_arch_for_orcl_dba
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 
MySQL's NoSQL -- SCaLE 13x Feb. 20, 2015
MySQL's NoSQL -- SCaLE 13x Feb. 20, 2015MySQL's NoSQL -- SCaLE 13x Feb. 20, 2015
MySQL's NoSQL -- SCaLE 13x Feb. 20, 2015
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
 
[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 Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
 
Tutorial MySQL com Java
Tutorial MySQL com JavaTutorial MySQL com Java
Tutorial MySQL com Java
 
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin CharlesA26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
 
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
Fudcon talk.ppt
Fudcon talk.pptFudcon talk.ppt
Fudcon talk.ppt
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
 
PostgreSQL and MySQL
PostgreSQL and MySQLPostgreSQL and MySQL
PostgreSQL and MySQL
 
MySQL developing Store Procedure
MySQL developing Store ProcedureMySQL developing Store Procedure
MySQL developing Store Procedure
 
High-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and JavaHigh-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and Java
 
MySQL in the Hosted Cloud - Percona Live 2015
MySQL in the Hosted Cloud - Percona Live 2015MySQL in the Hosted Cloud - Percona Live 2015
MySQL in the Hosted Cloud - Percona Live 2015
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
 
MySQL in the Cloud
MySQL in the CloudMySQL in the Cloud
MySQL in the Cloud
 
Databases in the hosted cloud
Databases in the hosted cloudDatabases in the hosted cloud
Databases in the hosted cloud
 

More from eLiberatica

"Understanding Free Software and Open Source Licensing" by Zak Greant @ eLibe...
"Understanding Free Software and Open Source Licensing" by Zak Greant @ eLibe..."Understanding Free Software and Open Source Licensing" by Zak Greant @ eLibe...
"Understanding Free Software and Open Source Licensing" by Zak Greant @ eLibe...
eLiberatica
 
"Sun Open Source Universe" by Vassilis Boulogiorgos @ eLiberatica 2008
"Sun Open Source Universe" by Vassilis Boulogiorgos @ eLiberatica 2008"Sun Open Source Universe" by Vassilis Boulogiorgos @ eLiberatica 2008
"Sun Open Source Universe" by Vassilis Boulogiorgos @ eLiberatica 2008
eLiberatica
 
"Komodo - Why we chose to make our product open source" by Shane Caraveo @ eL...
"Komodo - Why we chose to make our product open source" by Shane Caraveo @ eL..."Komodo - Why we chose to make our product open source" by Shane Caraveo @ eL...
"Komodo - Why we chose to make our product open source" by Shane Caraveo @ eL...
eLiberatica
 
"Dell and Open Source" by Serban Zirnovan @ eLiberatica 2008
"Dell and Open Source" by Serban Zirnovan @ eLiberatica 2008"Dell and Open Source" by Serban Zirnovan @ eLiberatica 2008
"Dell and Open Source" by Serban Zirnovan @ eLiberatica 2008
eLiberatica
 
"SocrateOpen after two years" by Remus Cazacu @ eLiberatica 2008
"SocrateOpen after two years" by Remus Cazacu @ eLiberatica 2008"SocrateOpen after two years" by Remus Cazacu @ eLiberatica 2008
"SocrateOpen after two years" by Remus Cazacu @ eLiberatica 2008
eLiberatica
 
"Introducing Red Hat Training Center" by Radu Radulescu @ eLiberatica 2008
"Introducing Red Hat Training Center" by Radu Radulescu @ eLiberatica 2008"Introducing Red Hat Training Center" by Radu Radulescu @ eLiberatica 2008
"Introducing Red Hat Training Center" by Radu Radulescu @ eLiberatica 2008
eLiberatica
 
"HP vision Governing the use of open source" by Martin Michlmayr @ eLiberatic...
"HP vision Governing the use of open source" by Martin Michlmayr @ eLiberatic..."HP vision Governing the use of open source" by Martin Michlmayr @ eLiberatic...
"HP vision Governing the use of open source" by Martin Michlmayr @ eLiberatic...
eLiberatica
 
"Write the Future Open Standards Open Source OpenOffice" by Louis Suarez-Pott...
"Write the Future Open Standards Open Source OpenOffice" by Louis Suarez-Pott..."Write the Future Open Standards Open Source OpenOffice" by Louis Suarez-Pott...
"Write the Future Open Standards Open Source OpenOffice" by Louis Suarez-Pott...
eLiberatica
 
"Open Source Software Middleware for The Internet of Things - Project ASPIRE"...
"Open Source Software Middleware for The Internet of Things - Project ASPIRE"..."Open Source Software Middleware for The Internet of Things - Project ASPIRE"...
"Open Source Software Middleware for The Internet of Things - Project ASPIRE"...
eLiberatica
 
"Introducing eConference" by Eugen Rotariu @ eLiberatica 2008
"Introducing eConference" by Eugen Rotariu @ eLiberatica 2008"Introducing eConference" by Eugen Rotariu @ eLiberatica 2008
"Introducing eConference" by Eugen Rotariu @ eLiberatica 2008
eLiberatica
 
"Mozilla Messaging and Thunderbird - why and how" by David Ascher @ eLiberati...
"Mozilla Messaging and Thunderbird - why and how" by David Ascher @ eLiberati..."Mozilla Messaging and Thunderbird - why and how" by David Ascher @ eLiberati...
"Mozilla Messaging and Thunderbird - why and how" by David Ascher @ eLiberati...
eLiberatica
 
"For the first time in Europe Digital ID providers and OpenID service for Rom...
"For the first time in Europe Digital ID providers and OpenID service for Rom..."For the first time in Europe Digital ID providers and OpenID service for Rom...
"For the first time in Europe Digital ID providers and OpenID service for Rom...
eLiberatica
 
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008
eLiberatica
 
"Legal aspects related to a FLOSS based model business" by Bogdan Manolea @ e...
"Legal aspects related to a FLOSS based model business" by Bogdan Manolea @ e..."Legal aspects related to a FLOSS based model business" by Bogdan Manolea @ e...
"Legal aspects related to a FLOSS based model business" by Bogdan Manolea @ e...
eLiberatica
 
"OSS in Public Administrations - A short Report from the European Level" by B...
"OSS in Public Administrations - A short Report from the European Level" by B..."OSS in Public Administrations - A short Report from the European Level" by B...
"OSS in Public Administrations - A short Report from the European Level" by B...
eLiberatica
 
"BitDefender - What's Next" by Alexandru Balan @ eLiberatica 2008
"BitDefender - What's Next" by Alexandru Balan @ eLiberatica 2008"BitDefender - What's Next" by Alexandru Balan @ eLiberatica 2008
"BitDefender - What's Next" by Alexandru Balan @ eLiberatica 2008
eLiberatica
 
"The Future of Enterprise Content Management" by Aleksander Farstad @ eLibera...
"The Future of Enterprise Content Management" by Aleksander Farstad @ eLibera..."The Future of Enterprise Content Management" by Aleksander Farstad @ eLibera...
"The Future of Enterprise Content Management" by Aleksander Farstad @ eLibera...
eLiberatica
 
"Integrating Open Source into Your Business" by Adam Jollans @ eLiberatica 2008
"Integrating Open Source into Your Business" by Adam Jollans @ eLiberatica 2008"Integrating Open Source into Your Business" by Adam Jollans @ eLiberatica 2008
"Integrating Open Source into Your Business" by Adam Jollans @ eLiberatica 2008
eLiberatica
 
"Open Source at Microsoft" by Zoli Herczeg @ eLiberatica 2008
"Open Source at Microsoft" by Zoli Herczeg @ eLiberatica 2008"Open Source at Microsoft" by Zoli Herczeg @ eLiberatica 2008
"Open Source at Microsoft" by Zoli Herczeg @ eLiberatica 2008
eLiberatica
 
"The Past Present and Future of the Mozilla Foundation" by Zak Greant @ eLibe...
"The Past Present and Future of the Mozilla Foundation" by Zak Greant @ eLibe..."The Past Present and Future of the Mozilla Foundation" by Zak Greant @ eLibe...
"The Past Present and Future of the Mozilla Foundation" by Zak Greant @ eLibe...
eLiberatica
 

More from eLiberatica (20)

"Understanding Free Software and Open Source Licensing" by Zak Greant @ eLibe...
"Understanding Free Software and Open Source Licensing" by Zak Greant @ eLibe..."Understanding Free Software and Open Source Licensing" by Zak Greant @ eLibe...
"Understanding Free Software and Open Source Licensing" by Zak Greant @ eLibe...
 
"Sun Open Source Universe" by Vassilis Boulogiorgos @ eLiberatica 2008
"Sun Open Source Universe" by Vassilis Boulogiorgos @ eLiberatica 2008"Sun Open Source Universe" by Vassilis Boulogiorgos @ eLiberatica 2008
"Sun Open Source Universe" by Vassilis Boulogiorgos @ eLiberatica 2008
 
"Komodo - Why we chose to make our product open source" by Shane Caraveo @ eL...
"Komodo - Why we chose to make our product open source" by Shane Caraveo @ eL..."Komodo - Why we chose to make our product open source" by Shane Caraveo @ eL...
"Komodo - Why we chose to make our product open source" by Shane Caraveo @ eL...
 
"Dell and Open Source" by Serban Zirnovan @ eLiberatica 2008
"Dell and Open Source" by Serban Zirnovan @ eLiberatica 2008"Dell and Open Source" by Serban Zirnovan @ eLiberatica 2008
"Dell and Open Source" by Serban Zirnovan @ eLiberatica 2008
 
"SocrateOpen after two years" by Remus Cazacu @ eLiberatica 2008
"SocrateOpen after two years" by Remus Cazacu @ eLiberatica 2008"SocrateOpen after two years" by Remus Cazacu @ eLiberatica 2008
"SocrateOpen after two years" by Remus Cazacu @ eLiberatica 2008
 
"Introducing Red Hat Training Center" by Radu Radulescu @ eLiberatica 2008
"Introducing Red Hat Training Center" by Radu Radulescu @ eLiberatica 2008"Introducing Red Hat Training Center" by Radu Radulescu @ eLiberatica 2008
"Introducing Red Hat Training Center" by Radu Radulescu @ eLiberatica 2008
 
"HP vision Governing the use of open source" by Martin Michlmayr @ eLiberatic...
"HP vision Governing the use of open source" by Martin Michlmayr @ eLiberatic..."HP vision Governing the use of open source" by Martin Michlmayr @ eLiberatic...
"HP vision Governing the use of open source" by Martin Michlmayr @ eLiberatic...
 
"Write the Future Open Standards Open Source OpenOffice" by Louis Suarez-Pott...
"Write the Future Open Standards Open Source OpenOffice" by Louis Suarez-Pott..."Write the Future Open Standards Open Source OpenOffice" by Louis Suarez-Pott...
"Write the Future Open Standards Open Source OpenOffice" by Louis Suarez-Pott...
 
"Open Source Software Middleware for The Internet of Things - Project ASPIRE"...
"Open Source Software Middleware for The Internet of Things - Project ASPIRE"..."Open Source Software Middleware for The Internet of Things - Project ASPIRE"...
"Open Source Software Middleware for The Internet of Things - Project ASPIRE"...
 
"Introducing eConference" by Eugen Rotariu @ eLiberatica 2008
"Introducing eConference" by Eugen Rotariu @ eLiberatica 2008"Introducing eConference" by Eugen Rotariu @ eLiberatica 2008
"Introducing eConference" by Eugen Rotariu @ eLiberatica 2008
 
"Mozilla Messaging and Thunderbird - why and how" by David Ascher @ eLiberati...
"Mozilla Messaging and Thunderbird - why and how" by David Ascher @ eLiberati..."Mozilla Messaging and Thunderbird - why and how" by David Ascher @ eLiberati...
"Mozilla Messaging and Thunderbird - why and how" by David Ascher @ eLiberati...
 
"For the first time in Europe Digital ID providers and OpenID service for Rom...
"For the first time in Europe Digital ID providers and OpenID service for Rom..."For the first time in Europe Digital ID providers and OpenID service for Rom...
"For the first time in Europe Digital ID providers and OpenID service for Rom...
 
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008
 
"Legal aspects related to a FLOSS based model business" by Bogdan Manolea @ e...
"Legal aspects related to a FLOSS based model business" by Bogdan Manolea @ e..."Legal aspects related to a FLOSS based model business" by Bogdan Manolea @ e...
"Legal aspects related to a FLOSS based model business" by Bogdan Manolea @ e...
 
"OSS in Public Administrations - A short Report from the European Level" by B...
"OSS in Public Administrations - A short Report from the European Level" by B..."OSS in Public Administrations - A short Report from the European Level" by B...
"OSS in Public Administrations - A short Report from the European Level" by B...
 
"BitDefender - What's Next" by Alexandru Balan @ eLiberatica 2008
"BitDefender - What's Next" by Alexandru Balan @ eLiberatica 2008"BitDefender - What's Next" by Alexandru Balan @ eLiberatica 2008
"BitDefender - What's Next" by Alexandru Balan @ eLiberatica 2008
 
"The Future of Enterprise Content Management" by Aleksander Farstad @ eLibera...
"The Future of Enterprise Content Management" by Aleksander Farstad @ eLibera..."The Future of Enterprise Content Management" by Aleksander Farstad @ eLibera...
"The Future of Enterprise Content Management" by Aleksander Farstad @ eLibera...
 
"Integrating Open Source into Your Business" by Adam Jollans @ eLiberatica 2008
"Integrating Open Source into Your Business" by Adam Jollans @ eLiberatica 2008"Integrating Open Source into Your Business" by Adam Jollans @ eLiberatica 2008
"Integrating Open Source into Your Business" by Adam Jollans @ eLiberatica 2008
 
"Open Source at Microsoft" by Zoli Herczeg @ eLiberatica 2008
"Open Source at Microsoft" by Zoli Herczeg @ eLiberatica 2008"Open Source at Microsoft" by Zoli Herczeg @ eLiberatica 2008
"Open Source at Microsoft" by Zoli Herczeg @ eLiberatica 2008
 
"The Past Present and Future of the Mozilla Foundation" by Zak Greant @ eLibe...
"The Past Present and Future of the Mozilla Foundation" by Zak Greant @ eLibe..."The Past Present and Future of the Mozilla Foundation" by Zak Greant @ eLibe...
"The Past Present and Future of the Mozilla Foundation" by Zak Greant @ eLibe...
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
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
Cheryl Hung
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
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
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007

  • 1. State of MySQL (ver 5.0/5.1) Michael “Monty” Widenius CoFounder MySQL AB, Creators of MySQL Romania, 2007-05-19
  • 2. Languages ● Ruby ● Smalltalk ● Eiffel ● C ● Pascal ● Haskell ● Java, MXJ (Native) ● ADA ● Erlang ● C#/.Net ● APL ● Curl ● ODBC ● Lasso ● Forth ● PHP ● Pike ● Slang ● Perl ● Rexx ● LUA ● C++ ● Dylan ● OLEDB ● Python ● Common Lisp ● Active X ● Delphi ● Scheme ● TCL ● Objective C ● Gauche ● Fortran ● Visual Basic ● Guile And even Cobol! ● Mathlab The community are always adding more languages! © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 3. Platforms ● Linux ● Novell Netware — Ubuntu, RedHat, Suse, ● OpenVMS Debian, Feodora, Turbo ● QNX WindRiver, MontaVista ● UNIX — OpenSolaris, HPUX, AIX ● Intel [32 & 64] ● Windows ● AMD [32 & 64] — Vista, NT, Win2k, XP ● IBM PowerPC [32 & 64] ● MacOS X ● Sun Sparc [32 & 64] ● {Free,Open,Net}BSD ● IBM i5/OS First 64bit MySQL in March 2000. Good code -> 64bit is a recompile! All compiled from ONE source tree. Code should be written with portability in mind from the beginning! © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 4. MySQL Internal Architecture © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 5. Storage Engines ● InnoDB ● Falcon – ACID, Transactions – ACID, opt for 64 bit ● MyISAM ● Maria (MyISAM++) – No Transact, Small footp – Crash recovery, DW stuff ● Archive ● PBXT (Streaming BLOB) – Only Insert & Select ● Solid ● Memory ● NitroSecurity – In memory (temp table) ● InfoBright ● NDB/Cluster ● ScaleDB – Failsafe distributed mostly ● IBM DB2 (for i5 platform) in memory ● Blackhole (/dev/null) © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 6. MySQL Cluster (NDB) • Distributed in memory storage engine with – Fault Tolerance: shared nothing architecture – High Availability: fast auto failover (five 9’s of availability) – Scalability: Scale by adding more commodity machines – High Performance: Really really fast (many 100000 ops per second) for primary key lookups (mixed read and write). Up to millions of queries per second using low level C API and high end hardware – Simplified applications: For the application MySQL Cluster is a just a table. In the case of failure you reconnect to another MySQL Server and immediately see the same data – Currently slow on joins so no replacement for MyISAM/InnoDB © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 7. MySQL 5.0 (Current GA version) ● Stored Procedures ● Triggers ● Views ● Strict Mode (classical DB error handling) ● Information_Schema (Data Dictionary) ● Precision Math (> 50 digits of precision) ● Many additions to our optimizer -> Faster complex queries ● Cursors (read only, forward scrolling) ● XA (distributed transactions) © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 8. MySQL 5.0: Stored Procedures ● MySQL’s stored procedures: – Follow the SQL:2003 syntax – Can return multiple result sets in a single invocation – Supports INOUT parameters, partial exception handling, and flow control Sample: mysql> delimiter // mysql> CREATE PROCEDURE simpleproc (OUT param1 INT) -> BEGIN -> SELECT COUNT(*) INTO param1 FROM t; -> END -> // mysql> delimiter ; mysql> CALL simpleproc(@a); mysql> SELECT @a; +------+ | @a | +------+ | 3 | +------+ © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 9. MySQL 5.0: Triggers ● MySQL includes support for triggering statements and stored procedures before or after a table event Sample (Keep the old value when updating): CREATE TABLE account (acct_num INT, amount DECIMAL(10,2)); CREATE TRIGGER ins_sum BEFORE UPDATE ON account -> FOR EACH ROW NEW.previous_amount = OLD.amount; © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 10. MySQL 5.0: Views ● MySQL supports updatable and read-only views: – Useful for accessing the result of a query as if it were a table – Can restrict access to a set of rows in a table, database, or view Sample: CREATE TABLE t (qty INT, price INT); INSERT INTO t VALUES(3, 50); CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t; SELECT * FROM v; +------+-------+-------+ | qty | price | value | +------+-------+-------+ | 3 | 50 | 150 | +------+-------+-------+ © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 11. MySQL 5.0: Data Dictionary ● Supports for a new information_schema database with meta information – Useful for finding any meta information about your data, in addition to the present SHOW command Sample: use information_schema select TABLE_SCHEMA, COLUMN_NAME, CHARACTER_SET_NAME from COLUMNS where TABLE_NAME = "tables" limit 1; +--------------------+---------------+--------------------+ | Table_schema | COLUMN_NAME | CHARACTER_SET_NAME | +--------------------+---------------+--------------------+ | information_schema | TABLE_CATALOG | utf8 | +--------------------+---------------+--------------------+ 1 row in set (0.05 sec) © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 12. MySQL 5.0: Precision Math ● Exact calculations with – Well defined rounding – At least 56 digits precision – Very fast with static memory allocation Sample: create table d2 (n decimal(64,3)); insert into d2 values (233221213212312312321321321321), (34543543324325435435435), (32432432432454374435234543456); Query OK, 3 rows affected (0.00 sec) select sum(n) from d2; +------------------------------------+ | sum(n) | +------------------------------------+ | 265653680188310011081991300212.000 | +------------------------------------+ 1 row in set (0.00 sec) © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 13. MySQL 5.0: Strict Mode ● Get rollback/errors instead of closest value/warning – Was one of the most asked for features for 10 years! Sample: CREATE TABLE d1 (d date); Query OK, 0 rows affected (0.23 sec) mysql> INSERT INTO d1 SET d = "2005-04-31"; Query OK, 1 row affected, 1 warning (0.00 sec) mysql> SET sql_mode='STRICT_ALL_TABLES'; Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO d1 SET d = "2004-04-31"; ERROR 1292 (22007): Incorrect date value: '2004-04-31' for column 'd' at row 1 © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 14. MySQL 5.0: Server Side Cursors ● Read only, forward scrollable cursors Sample: CREATE PROCEDURE cursor_demo() BEGIN DECLARE a, b CHAR(16); DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1; OPEN cur1; REPEAT FETCH cur1 INTO a, b; ... CLOSE cur1; END © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 15. MySQL 5.0: XA ● MySQL can Participate as a Resource Manager (RM) – Commit grouping to improve performance – Java support via XADatasource implementation ● MySQL can be a Transaction Manager – Coordinates transactions across multiple storage engines – XA is part of storage engine interface Application TX Scope MySQL Other XA RM  MySQL acts as RM  Included in app TX  Queries on ACID TX tables included © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 16. 5.0: Even Better Optimizer ● Greedy Optimizer (Fast handling of many tables in a join) ● Index Merge (for WHERE a=1 or b=2) ● Equality propagation (WHERE a=b AND a=c -> implies b=c) ● Conversion of outer joins into inner joins. (Allows us to consider different join orders) ● Correct execution of LEFT and RIGHT outer joins ● Loose index scan for queries of the type – SELECT MAX(b) FROM t GROUP BY a – SELECT DISTINCT a, b, c FROM t © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 17. 5.0: 'Small' things also gets added! Extension to LOAD DATA for doing transformation/calculation at the time you load the data. LOAD DATA INFILE 'file.txt' INTO TABLE t1 (col1, @var1, @var2) SET col2 = @var1-@var2, col3 = @var2; © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 18. MySQL 5.1 (now in late Beta) ● A better 5.0 (Thousands of small fixes) ● Table/Index Partitioning - for data warehousing etc ● Row-based replication – Transfers data instead of commands ● Full-text indexing parser plugins – Flexible full text search ● Disk-based Data Support for MySQL Cluster ● Replication Support for MySQL Cluster – Running with multiple clusters in different locations ● XPath Support - helps any customer wanting to better navigate and search XML documents stored in MySQL ● Internal Task Scheduler (Events)- new utility that helps you to schedule, run, and monitor database-driven tasks and jobs ● And much more... © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 19. Upcoming Features (6.0, 6.1) ● Partitioning – Parallel query ● Replication – Multi source replication ● Global Backup API ● Hash & Merge joins ● Falcon and Maria (MyISAM++) storage engine ● Federated tables over ODBC ● Foreign key support for all engines © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 20. Development Road Map ● More plugins (Storage engines are already a plugin) ● More online features (ALTER TABLE) ● Features to run Enterprise Software (SAP etc) ● Extending current features (XPATH, Subquery optimizer, geometrical data etc...) ● Profiling, stored procedure debugging... ● SQL standards ● Useful extensions – Data warehousing (New storage engines, new index types) – Store 20 Peta (20,000 Terabytes) bytes in MySQL © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 21. MySQL Graphical (GUI) Tools ● Available Now! – MySQL Administrator (Win, Linux, MacOS) – MySQL Query Browser (Win, Linux, MacOS) – MySQL Migration Toolkit (Win, Linux, MacOS) ● Plug-in Architecture for sources (Java/JDBC) ● In Development – MySQL Workbench ● All freely available under GPL license © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 22. Contributions ● The most common contribution is repeatable bug reports & ideas! ● MySQL has always accepted contributions – Windows port, JDBC, .Net, PHP, Perl connector... ● Not only the server: GUI Tools, Connectors, Articles, Documentation... ● HOWTO: – Subscribe to the internals@lists.mysql.com mailing list – Check out forge.mysql.com/contribute – Work from the latest development version ●There is a read only BitKeeper/SVN tree available with the latest – Shared copyright needed (Just like the FSF, OpenOffice) © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 23. Free Databases get Better all the time! ● Good bug reports since bugs gets fixed – Repeatable bug reports are as valuable as code! ● Much faster user/developer feedback than closed source ● Lots of testing of all code. All features available for all! ● Freedom & Independence! – You have the ultimate documentation, the source! ● Security is not by obscurity, No hidden hooks in the code ● Lots of Eco system code gets written by the community ● We can hire people who has shown they already know the code/product ● Result: Low Total Cost of Ownership © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 24. All software discussed here is OSS ● So you can go and download the source for Cluster, MySQL server, GUI tools and connectors directly! ● The piece that is not freely downloadable is MySQL Enterprise that is a pay per year per machine offering (a so called subscription). – Very useful for companies who want to get their DBAs more efficient. © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 25. No Software Patents! ● Software Patents are a threat against Free Software, Software innovation and developing local software industries countries ● In Europe our side was successful and the SW Pat proposal was thrown out (a real thriller!) ● MySQL has been spending lots of cash and lots of Management time (CEO,VPs & Founders) fighting Software Patents – Other backers included RedHat ● Please help make sure that Romania does not follow the US into this minefield. ● See recent article “Microsoft takes on the free world” © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL
  • 26. We are looking for developers? ● MySQL AB are looking for good C/C++ developers – We strongly prefer people with OpenSource experience – People who send in a good CV has < 1% chance – People who send in good patches and bug fixes has close to 100% chance historically – BTW: we prefer CVs that does not list every computer buzz world for the last 30 years :-( ● C/C++ Developers with system programming experience. Filesystem work, Kernel internals (VM System), Database internals etc © 2007 MySQL AB Creators of MySQL MySQL is a registered trademark of MySQL