SlideShare a Scribd company logo
Max Mether
max@skysql.com
@maxmether
MariaDB -
A MySQL replacement?
Boston Metup 2012
What is MariaDB?
• A branch of MySQL
– MariaDB is a backward compatible, drop-in replacement
for the MySQL Database Server
• Open Source
– The source code for MariaDB is publicly available from
Launchpad
– All code in MariaDB is open source
• No closed source modules
– Open bugs database
10.09.2012 SkySQL Ab 2011 Confidential 2
A Brief History
• First version of what would become MySQL
created by Monty Widenius 1983
• MySQL AB founded in 1995
• MySQL AB acquired by Sun Microsystems
early 2008 for $1bn
• Monty Program founded in late 2008
• Oracle acquire Sun April 2009
• MariaDB 5.1 released in February 2010
10.09.2012 SkySQL Ab 2011 Confidential 3
Who’s Behind MariaDB
• Monty Program
– ~30 core MySQL developers
– Located around the world
• Community
10.09.2012 SkySQL Ab 2011 Confidential 4
Community and MariaDB
• The goal of MariaDB is to provide a
community developed, stable and free
database
• MariaDB takes community contributions
• Many MariaDB Captains outside of Monty
Program (64% MP, 36% outside)
• Open development model
10.09.2012 SkySQL Ab 2011 Confidential 5
MariaDB 5.1 – Feb 2010
• Storage Engines
– PBXT*
– XtraDB
– FederatedX
– Aria
• Bugfixes
• Removal of Mutexes
10.09.2012 SkySQL Ab 2011 Confidential 6
MariaDB 5.1 = MySQL 5.1 + the following:
MariaDB 5.1
• Microsecond support
– Slow query log, SHOW PROCESSLIST etc
• Thread pool*
– Pool of threads instead of one thread /connection
10.09.2012 SkySQL Ab 2011 Confidential 7
MariaDB [(none)]> select id, time, time_ms, command, state
-> from information_schema.processlist, (select sleep(2)) t;
+----+------+----------+---------+-----------+
| id | time | time_ms | command | state |
+----+------+----------+---------+-----------+
| 37 | 2 | 2000.493 | Query | executing |
+----+------+----------+---------+-----------+
1 row in set (2.00 sec)
Table Elimination
10.09.2012 SkySQL Ab 2011 Confidential 8
create view actors as
select ACNAM_Name, ACDOB_birthdate, ACRAT_rating
from ac_anchor
left join ac_name on ac_anchor.AC_ID=ac_name.AC_ID
left join ac_birthdate on ac_anchor.AC_ID=ac_birthdate.AC_ID
left join ac_rating on (ac_anchor.AC_ID=ac_rating.AC_ID and
ac_rating.ACRAT_fromdate =
(select max(sub.ACRAT_fromdate)
from ac_rating sub where sub.AC_ID = ac_rating.AC_ID))
select ACRAT_rating from actors where ACNAM_name='Gary Oldman'
Actor
Name
Birth
date
Rating
1 n
Table Elimination
10.09.2012 SkySQL Ab 2011 Confidential 9
create view actors as
select ACNAM_Name, ACDOB_birthdate, ACRAT_rating
from ac_anchor
left join ac_name on ac_anchor.AC_ID=ac_name.AC_ID
left join ac_birthdate on ac_anchor.AC_ID=ac_birthdate.AC_ID
left join ac_rating on (ac_anchor.AC_ID=ac_rating.AC_ID and
ac_rating.ACRAT_fromdate =
(select max(sub.ACRAT_fromdate)
from ac_rating sub where sub.AC_ID = ac_rating.AC_ID))
select ACRAT_rating from actors where ACNAM_name='Gary Oldman'
Actor
Name
Birth
date
Rating
1 n
x
MariaDB 5.2 – Nov 2010
• Pluggable authentication
– Authentication handled by plugins
– PAM plugin included
• User statistics
– CLIENT_STATISTICS
– USER_STATISTICS
– INDEX_STATISTICS
– TABLE_STATISTICS
10.09.2012 SkySQL Ab 2011 Confidential 10
MariaDB 5.2 = MariaDB 5.1 + the following:
MariaDB 5.2
• Virtual Columns
– PERSISTENT or VIRTUAL
• Sphinx Storage Engine
– Allows access to Sphinx through MySQL
• Segmented MyISAM key cache
– Key cache divided into different segments
– Allows for better key cache concurrency
– Between 1 and 64 segments
10.09.2012 SkySQL Ab 2011 Confidential 11
Segmented Key Cache
10.09.2012 SkySQL Ab 2011 Confidential 12
MariaDB 5.3 – Jan 2012
• Handler socket
– Direct access to InnoDB/XtraDB storage layer
– No SQL statements
• Simple CRUD operations on tables
– Can be match faster for large batch operations
• Dynamic columns
– Allows you to create columns with dynamic
content
– Basically a blob with handling functions
10.09.2012 SkySQL Ab 2011 Confidential 13
MariaDB 5.3 = MariaDB 5.2 + the following:
Dynamic Columns
10.09.2012 SkySQL Ab 2011 Confidential 14
MariaDB [test]> create table t1 (id int auto_increment primary key,
-> name varchar(40),
-> type enum ("shirt", "phone", "computer"),
-> price decimal(10,2),
-> dynstr mediumblob);
Query OK, 0 rows affected (0.11 sec)
MariaDB [test]> insert into t1 (name, type, price, dynstr) values
-> ("Funny shirt", "shirt", 10.0, COLUMN_CREATE(1, "blue", 10, "XL")),
-> ("nokia", "phone", 649, COLUMN_CREATE(1, "black", 2, "touchscreen")),
-> ("htc Desire hd", "phone", 579, COLUMN_CREATE(1, "black", 3, "Android")),
-> ("BM/Lenovo Thinkpad X60s", "computer", 419, COLUMN_CREATE(1, "black", 3, "Linux"));
Query OK, 4 rows affected (0.04 sec)
Records: 4 Duplicates: 0 Warnings: 0
MariaDB [test]> select id, name, type, price, length(dynstr) as len, column_list(dynstr) as
list from t1;
+----+-------------------------+----------+--------+------+------+
| id | name | type | price | len | list |
+----+-------------------------+----------+--------+------+------+
| 1 | Funny shirt | shirt | 10.00 | 17 | 1,10 |
| 2 | nokia | phone | 649.00 | 27 | 1,2 |
| 3 | htc Desire hd | phone | 579.00 | 23 | 1,3 |
| 4 | BM/Lenovo Thinkpad X60s | computer | 419.00 | 21 | 1,3 |
+----+-------------------------+----------+--------+------+------+
4 rows in set (0.03 sec)
Dynamic Columns
10.09.2012 SkySQL Ab 2011 Confidential 15
MariaDB [test]> select name from t1 where COLUMN_GET(dynstr, 1 as char(10)) = "black";
+-------------------------+
| name |
+-------------------------+
| nokia |
| htc Desire hd |
| BM/Lenovo Thinkpad X60s |
+-------------------------+
3 rows in set (0.01 sec)
MariaDB [test]>
MariaDB [test]> select name, COLUMN_GET(dynstr, 1 as char(10)) from t1 where
COLUMN_EXISTS(dynstr, 1);
+-------------------------+-----------------------------------+
| name | COLUMN_GET(dynstr, 1 as char(10)) |
+-------------------------+-----------------------------------+
| Funny shirt | blue |
| nokia | black |
| htc Desire hd | black |
| BM/Lenovo Thinkpad X60s | black |
+-------------------------+-----------------------------------+
4 rows in set (0.00 sec)
MariaDB 5.3
• Replication enhancements
– Original statement logged with RBR events
– Checksum for binlog events
– RBR fixed for tables with no PK
– Consistent snapshot between storage engines
• User feedback plugin
• Extended OpenGIS SFS
10.09.2012 SkySQL Ab 2011 Confidential 16
MariaDB 5.3 = MariaDB 5.2 + the following:
Progress Report
• Progress report for ALTER TABLE
10.09.2012 SkySQL Ab 2011 Confidential 17
MariaDB [employees]> alter table salaries engine = maria;
Stage: 1 of 2 'copy to tmp table' 17.55% of stage done
MariaDB [employees]> select id, user, db, command, state,
-> time_ms, progress from information_schema.processlist;
+---------+-------------------+-----------+----------+
| command | state | time_ms | progress |
+---------+-------------------+-----------+----------+
| Query | copy to tmp table | 23407.131 | 17.551 |
+---------+-------------------+-----------+----------+
1 row in set (0.47 sec)
Optimizer Enhancements
1. Sub-query optimizations
2. Join additions
3. Optimizations for derived tables and views
4. Disk access optimization
5. Optimizer control
10.09.2012 SkySQL Ab 2011 Confidential 18
Optimizer Enhancements
1. Sub-query optimizations
– Semi-join subquery optimization
– Materialization for non-correlated IN-queries
– Sub-query cache
10.09.2012 SkySQL Ab 2011 Confidential 19
Subqueries are finally usable in practice!
It is no longer necessary to rewrite subqueries
manually into joins or into separate queries
Optimizer Enhancements
2. Join additions
– Block Nested-Loop-Joins for outer joins
– Block Hash-Joins
– Batch-Key-Access
10.09.2012 SkySQL Ab 2011 Confidential 20
Before MariaDB 5.3 only Nested-Loop-Joins available
Optimizer Enhancements
3. Optimizations for derived tables and views
– Mergeable derived tables processed like VIEWs
– Optimizer can create indexes over materialized
derived tables
4. Disk access optimization
– Index Condition Pushdown
– Multi-Range-Read optimization (MRR)
5. Optimizer control
– @@optimizer_switch for all new options
10.09.2012 SkySQL Ab 2011 Confidential 21
Group Commit
10.09.2012 SkySQL Ab 2011 Confidential 22
XtraDB / InnoDB
Group Commit
10.09.2012 SkySQL Ab 2011 Confidential 23
COMMIT
Binary log
XtraDB / InnoDB
3 fsyncs /
transaction
2
Group Commit
10.09.2012 SkySQL Ab 2011 Confidential 24
MariaDB 5.5 – April 2012
• New optimized thread pool implementation
– Pool size dynamic
– Different implementation on Linux and Windows
• Fine grained tuning possible on Linux
• @@skip_replication
• LIMIT ROWS EXAMINED
10.09.2012 SkySQL Ab 2011 Confidential 25
MariaDB 5.5 = MySQL 5.5 + MariaDB 5.3 features
+ the following:
MariaDB [employees]> SELECT * from t1, t2
-> LIMIT 10 ROWS EXAMINED 1000;
Next MariaDB
• Global transaction Id (from MySQL 5.6)
• Multi-source replication
• New improved InnoDB (from MySQL 5.6)
• Cassandra storage engine
10.09.2012 SkySQL Ab 2011 Confidential 26
All highly speculative
Vote for features on
http://www.skysql.com/content/
new-server-functionality-have-your-say
A branch or a fork?
• MySQL 5.1 CE = MySQL EE <-> MariaDB 5.1
• MariaDB 5.2 and 5.3 <-> MySQL 5.1 CE & EE
• MySQL 5.5 CE != MySQL 5.5 EE
– Commercial extensions
– MariaDB 5.5 implements same features
• Merged nonetheless
• 5.6 ?
10.09.2012 SkySQL Ab 2011 Confidential 27
Getting MariaDB
• http://mariadb.org is the main place
• Available via OpenSUSE build services
• Also available via
– Gentoo
– FreeBSD
– Homebrew
– Slackware
– ArchLinux
• yum and apt repos available from MP
10.09.2012 SkySQL Ab 2011 Confidential 28
Support & Services
• Monty Program does NRE
• Enterprise level support available from SkySQL
– Monty Program providing L3
• Training, consulting etc available from SkySQL
• Others providing MariaDB services:
http://mariadb.org/service-providers/
10.09.2012 SkySQL Ab 2011 Confidential 29
More Information
• Downloads: http://mariadb.org/
• Mailing lists on launchpad
• #maria on freenode
• Knowledgbase: http://kb.askmonty.org/
• Support:
http://www.skysql.com/products/skysql-enterprise
• Training & consulting:
http://www.skysql.com/services/mysql/overview
• MariaDB book: MariaDB Crash Course by Ben Forta
10.09.2012 SkySQL Ab 2011 Confidential 30
10.09.2012 SkySQL Ab 2011 Confidential 31
THANK YOU!
Max Mether
max@skysql.com
@maxmether

More Related Content

What's hot

Practical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsPractical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environments
Nelson Calero
 
OUG Ireland Meet-up - Updates from Oracle Open World 2016
OUG Ireland Meet-up - Updates from Oracle Open World 2016OUG Ireland Meet-up - Updates from Oracle Open World 2016
OUG Ireland Meet-up - Updates from Oracle Open World 2016
Brendan Tierney
 
Best New Features of Oracle Database 12c
Best New Features of Oracle Database 12cBest New Features of Oracle Database 12c
Best New Features of Oracle Database 12c
Pini Dibask
 
Ireland OUG Meetup May 2017
Ireland OUG Meetup May 2017Ireland OUG Meetup May 2017
Ireland OUG Meetup May 2017
Brendan Tierney
 
Oracle Database 12.1.0.2 New Performance Features
Oracle Database 12.1.0.2 New Performance FeaturesOracle Database 12.1.0.2 New Performance Features
Oracle Database 12.1.0.2 New Performance Features
Christian Antognini
 
The Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cThe Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12c
David Yahalom
 
Oracle Database In-Memory and the Query Optimizer
Oracle Database In-Memory and the Query OptimizerOracle Database In-Memory and the Query Optimizer
Oracle Database In-Memory and the Query Optimizer
Christian Antognini
 
Indexing in Exadata
Indexing in ExadataIndexing in Exadata
Indexing in Exadata
Enkitec
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New Features
Biju Thomas
 
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsWinning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editions
Pini Dibask
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Alex Zaballa
 
Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?
Zohar Elkayam
 
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
Alex Zaballa
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Nelson Calero
 
Drilling Deep Into Exadata Performance
Drilling Deep Into Exadata PerformanceDrilling Deep Into Exadata Performance
Drilling Deep Into Exadata Performance
Enkitec
 
Think Exa!
Think Exa!Think Exa!
Think Exa!
Enkitec
 
MySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer GuideMySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer Guide
Morgan Tocker
 
Serverless and you - where do i run my stateless code
Serverless and you  - where do i run my stateless codeServerless and you  - where do i run my stateless code
Serverless and you - where do i run my stateless code
Gabriela Ferrara
 
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
 Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo... Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
Enkitec
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
Enkitec
 

What's hot (20)

Practical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsPractical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environments
 
OUG Ireland Meet-up - Updates from Oracle Open World 2016
OUG Ireland Meet-up - Updates from Oracle Open World 2016OUG Ireland Meet-up - Updates from Oracle Open World 2016
OUG Ireland Meet-up - Updates from Oracle Open World 2016
 
Best New Features of Oracle Database 12c
Best New Features of Oracle Database 12cBest New Features of Oracle Database 12c
Best New Features of Oracle Database 12c
 
Ireland OUG Meetup May 2017
Ireland OUG Meetup May 2017Ireland OUG Meetup May 2017
Ireland OUG Meetup May 2017
 
Oracle Database 12.1.0.2 New Performance Features
Oracle Database 12.1.0.2 New Performance FeaturesOracle Database 12.1.0.2 New Performance Features
Oracle Database 12.1.0.2 New Performance Features
 
The Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cThe Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12c
 
Oracle Database In-Memory and the Query Optimizer
Oracle Database In-Memory and the Query OptimizerOracle Database In-Memory and the Query Optimizer
Oracle Database In-Memory and the Query Optimizer
 
Indexing in Exadata
Indexing in ExadataIndexing in Exadata
Indexing in Exadata
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New Features
 
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsWinning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editions
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
 
Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?
 
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
 
Drilling Deep Into Exadata Performance
Drilling Deep Into Exadata PerformanceDrilling Deep Into Exadata Performance
Drilling Deep Into Exadata Performance
 
Think Exa!
Think Exa!Think Exa!
Think Exa!
 
MySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer GuideMySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer Guide
 
Serverless and you - where do i run my stateless code
Serverless and you  - where do i run my stateless codeServerless and you  - where do i run my stateless code
Serverless and you - where do i run my stateless code
 
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
 Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo... Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
Tuning SQL for Oracle Exadata: The Good, The Bad, and The Ugly Tuning SQL fo...
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 

Similar to 2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗

SkySQL Cloud MySQL MariaDB
SkySQL Cloud MySQL MariaDBSkySQL Cloud MySQL MariaDB
SkySQL Cloud MySQL MariaDB
lemugfr
 
MySQL 开发
MySQL 开发MySQL 开发
MySQL 开发
YUCHENG HU
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012
sqlhjalp
 
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert VanderkelenOSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
NETWAYS
 
Deploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksDeploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia Networks
MariaDB plc
 
L203326 intro-maria db-techu2020-v9
L203326 intro-maria db-techu2020-v9L203326 intro-maria db-techu2020-v9
L203326 intro-maria db-techu2020-v9
Tony Pearson
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
ScyllaDB
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
Colin Charles
 
MariaDB for the Enterprise
MariaDB for the EnterpriseMariaDB for the Enterprise
MariaDB for the Enterprise
Great Wide Open
 
M|18 Analyzing Data with the MariaDB AX Platform
M|18 Analyzing Data with the MariaDB AX PlatformM|18 Analyzing Data with the MariaDB AX Platform
M|18 Analyzing Data with the MariaDB AX Platform
MariaDB plc
 
M|18 What's New in the MariaDB AX Platform
M|18 What's New in the MariaDB AX PlatformM|18 What's New in the MariaDB AX Platform
M|18 What's New in the MariaDB AX Platform
MariaDB plc
 
MariaDB TX 3.0 新機能 / ロードマップ
MariaDB TX 3.0 新機能 / ロードマップMariaDB TX 3.0 新機能 / ロードマップ
MariaDB TX 3.0 新機能 / ロードマップ
GOTO Satoru
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4
Ivan Ma
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
Emily Ikuta
 
MariaDB pres at LeMUG
MariaDB pres at LeMUGMariaDB pres at LeMUG
MariaDB pres at LeMUG
Serge Frezefond
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDB
JongJin Lee
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
Mario Beck
 
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
eLiberatica
 
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + KubernetesMongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB
 
Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)
Ontico
 

Similar to 2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗 (20)

SkySQL Cloud MySQL MariaDB
SkySQL Cloud MySQL MariaDBSkySQL Cloud MySQL MariaDB
SkySQL Cloud MySQL MariaDB
 
MySQL 开发
MySQL 开发MySQL 开发
MySQL 开发
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012
 
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert VanderkelenOSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
 
Deploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksDeploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia Networks
 
L203326 intro-maria db-techu2020-v9
L203326 intro-maria db-techu2020-v9L203326 intro-maria db-techu2020-v9
L203326 intro-maria db-techu2020-v9
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
 
MariaDB for the Enterprise
MariaDB for the EnterpriseMariaDB for the Enterprise
MariaDB for the Enterprise
 
M|18 Analyzing Data with the MariaDB AX Platform
M|18 Analyzing Data with the MariaDB AX PlatformM|18 Analyzing Data with the MariaDB AX Platform
M|18 Analyzing Data with the MariaDB AX Platform
 
M|18 What's New in the MariaDB AX Platform
M|18 What's New in the MariaDB AX PlatformM|18 What's New in the MariaDB AX Platform
M|18 What's New in the MariaDB AX Platform
 
MariaDB TX 3.0 新機能 / ロードマップ
MariaDB TX 3.0 新機能 / ロードマップMariaDB TX 3.0 新機能 / ロードマップ
MariaDB TX 3.0 新機能 / ロードマップ
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
 
MariaDB pres at LeMUG
MariaDB pres at LeMUGMariaDB pres at LeMUG
MariaDB pres at LeMUG
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDB
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
 
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + KubernetesMongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
 
Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)
 

More from YUCHENG HU

Confluencewiki 使用空间
Confluencewiki 使用空间Confluencewiki 使用空间
Confluencewiki 使用空间
YUCHENG HU
 
Git
GitGit
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
YUCHENG HU
 
Logback 介绍
Logback 介绍Logback 介绍
Logback 介绍
YUCHENG HU
 
Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南
YUCHENG HU
 
Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境
YUCHENG HU
 
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
YUCHENG HU
 
Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程
YUCHENG HU
 
V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程
YUCHENG HU
 
Confluence 回顾(retrospectives) 蓝图 cwikiossez
Confluence 回顾(retrospectives) 蓝图   cwikiossezConfluence 回顾(retrospectives) 蓝图   cwikiossez
Confluence 回顾(retrospectives) 蓝图 cwikiossezYUCHENG HU
 
Confluence 会议记录(meeting notes)蓝图 cwikiossez
Confluence 会议记录(meeting notes)蓝图   cwikiossezConfluence 会议记录(meeting notes)蓝图   cwikiossez
Confluence 会议记录(meeting notes)蓝图 cwikiossez
YUCHENG HU
 
VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ
YUCHENG HU
 
Confluence 使用一个模板新建一个页面 cwikiossez
Confluence 使用一个模板新建一个页面     cwikiossezConfluence 使用一个模板新建一个页面     cwikiossez
Confluence 使用一个模板新建一个页面 cwikiossez
YUCHENG HU
 
Confluence 使用模板
Confluence 使用模板Confluence 使用模板
Confluence 使用模板
YUCHENG HU
 
Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知
YUCHENG HU
 
Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间
YUCHENG HU
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06
YUCHENG HU
 
My sql would you like transactions
My sql would you like transactionsMy sql would you like transactions
My sql would you like transactions
YUCHENG HU
 
MySQL 指南
MySQL 指南MySQL 指南
MySQL 指南
YUCHENG HU
 
MySQL 简要介绍
MySQL 简要介绍MySQL 简要介绍
MySQL 简要介绍
YUCHENG HU
 

More from YUCHENG HU (20)

Confluencewiki 使用空间
Confluencewiki 使用空间Confluencewiki 使用空间
Confluencewiki 使用空间
 
Git
GitGit
Git
 
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
 
Logback 介绍
Logback 介绍Logback 介绍
Logback 介绍
 
Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南
 
Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境
 
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
 
Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程
 
V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程
 
Confluence 回顾(retrospectives) 蓝图 cwikiossez
Confluence 回顾(retrospectives) 蓝图   cwikiossezConfluence 回顾(retrospectives) 蓝图   cwikiossez
Confluence 回顾(retrospectives) 蓝图 cwikiossez
 
Confluence 会议记录(meeting notes)蓝图 cwikiossez
Confluence 会议记录(meeting notes)蓝图   cwikiossezConfluence 会议记录(meeting notes)蓝图   cwikiossez
Confluence 会议记录(meeting notes)蓝图 cwikiossez
 
VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ
 
Confluence 使用一个模板新建一个页面 cwikiossez
Confluence 使用一个模板新建一个页面     cwikiossezConfluence 使用一个模板新建一个页面     cwikiossez
Confluence 使用一个模板新建一个页面 cwikiossez
 
Confluence 使用模板
Confluence 使用模板Confluence 使用模板
Confluence 使用模板
 
Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知
 
Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06
 
My sql would you like transactions
My sql would you like transactionsMy sql would you like transactions
My sql would you like transactions
 
MySQL 指南
MySQL 指南MySQL 指南
MySQL 指南
 
MySQL 简要介绍
MySQL 简要介绍MySQL 简要介绍
MySQL 简要介绍
 

Recently uploaded

AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
Sunil Jagani
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
ScyllaDB
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 

Recently uploaded (20)

AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 

2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗

  • 1. Max Mether max@skysql.com @maxmether MariaDB - A MySQL replacement? Boston Metup 2012
  • 2. What is MariaDB? • A branch of MySQL – MariaDB is a backward compatible, drop-in replacement for the MySQL Database Server • Open Source – The source code for MariaDB is publicly available from Launchpad – All code in MariaDB is open source • No closed source modules – Open bugs database 10.09.2012 SkySQL Ab 2011 Confidential 2
  • 3. A Brief History • First version of what would become MySQL created by Monty Widenius 1983 • MySQL AB founded in 1995 • MySQL AB acquired by Sun Microsystems early 2008 for $1bn • Monty Program founded in late 2008 • Oracle acquire Sun April 2009 • MariaDB 5.1 released in February 2010 10.09.2012 SkySQL Ab 2011 Confidential 3
  • 4. Who’s Behind MariaDB • Monty Program – ~30 core MySQL developers – Located around the world • Community 10.09.2012 SkySQL Ab 2011 Confidential 4
  • 5. Community and MariaDB • The goal of MariaDB is to provide a community developed, stable and free database • MariaDB takes community contributions • Many MariaDB Captains outside of Monty Program (64% MP, 36% outside) • Open development model 10.09.2012 SkySQL Ab 2011 Confidential 5
  • 6. MariaDB 5.1 – Feb 2010 • Storage Engines – PBXT* – XtraDB – FederatedX – Aria • Bugfixes • Removal of Mutexes 10.09.2012 SkySQL Ab 2011 Confidential 6 MariaDB 5.1 = MySQL 5.1 + the following:
  • 7. MariaDB 5.1 • Microsecond support – Slow query log, SHOW PROCESSLIST etc • Thread pool* – Pool of threads instead of one thread /connection 10.09.2012 SkySQL Ab 2011 Confidential 7 MariaDB [(none)]> select id, time, time_ms, command, state -> from information_schema.processlist, (select sleep(2)) t; +----+------+----------+---------+-----------+ | id | time | time_ms | command | state | +----+------+----------+---------+-----------+ | 37 | 2 | 2000.493 | Query | executing | +----+------+----------+---------+-----------+ 1 row in set (2.00 sec)
  • 8. Table Elimination 10.09.2012 SkySQL Ab 2011 Confidential 8 create view actors as select ACNAM_Name, ACDOB_birthdate, ACRAT_rating from ac_anchor left join ac_name on ac_anchor.AC_ID=ac_name.AC_ID left join ac_birthdate on ac_anchor.AC_ID=ac_birthdate.AC_ID left join ac_rating on (ac_anchor.AC_ID=ac_rating.AC_ID and ac_rating.ACRAT_fromdate = (select max(sub.ACRAT_fromdate) from ac_rating sub where sub.AC_ID = ac_rating.AC_ID)) select ACRAT_rating from actors where ACNAM_name='Gary Oldman' Actor Name Birth date Rating 1 n
  • 9. Table Elimination 10.09.2012 SkySQL Ab 2011 Confidential 9 create view actors as select ACNAM_Name, ACDOB_birthdate, ACRAT_rating from ac_anchor left join ac_name on ac_anchor.AC_ID=ac_name.AC_ID left join ac_birthdate on ac_anchor.AC_ID=ac_birthdate.AC_ID left join ac_rating on (ac_anchor.AC_ID=ac_rating.AC_ID and ac_rating.ACRAT_fromdate = (select max(sub.ACRAT_fromdate) from ac_rating sub where sub.AC_ID = ac_rating.AC_ID)) select ACRAT_rating from actors where ACNAM_name='Gary Oldman' Actor Name Birth date Rating 1 n x
  • 10. MariaDB 5.2 – Nov 2010 • Pluggable authentication – Authentication handled by plugins – PAM plugin included • User statistics – CLIENT_STATISTICS – USER_STATISTICS – INDEX_STATISTICS – TABLE_STATISTICS 10.09.2012 SkySQL Ab 2011 Confidential 10 MariaDB 5.2 = MariaDB 5.1 + the following:
  • 11. MariaDB 5.2 • Virtual Columns – PERSISTENT or VIRTUAL • Sphinx Storage Engine – Allows access to Sphinx through MySQL • Segmented MyISAM key cache – Key cache divided into different segments – Allows for better key cache concurrency – Between 1 and 64 segments 10.09.2012 SkySQL Ab 2011 Confidential 11
  • 12. Segmented Key Cache 10.09.2012 SkySQL Ab 2011 Confidential 12
  • 13. MariaDB 5.3 – Jan 2012 • Handler socket – Direct access to InnoDB/XtraDB storage layer – No SQL statements • Simple CRUD operations on tables – Can be match faster for large batch operations • Dynamic columns – Allows you to create columns with dynamic content – Basically a blob with handling functions 10.09.2012 SkySQL Ab 2011 Confidential 13 MariaDB 5.3 = MariaDB 5.2 + the following:
  • 14. Dynamic Columns 10.09.2012 SkySQL Ab 2011 Confidential 14 MariaDB [test]> create table t1 (id int auto_increment primary key, -> name varchar(40), -> type enum ("shirt", "phone", "computer"), -> price decimal(10,2), -> dynstr mediumblob); Query OK, 0 rows affected (0.11 sec) MariaDB [test]> insert into t1 (name, type, price, dynstr) values -> ("Funny shirt", "shirt", 10.0, COLUMN_CREATE(1, "blue", 10, "XL")), -> ("nokia", "phone", 649, COLUMN_CREATE(1, "black", 2, "touchscreen")), -> ("htc Desire hd", "phone", 579, COLUMN_CREATE(1, "black", 3, "Android")), -> ("BM/Lenovo Thinkpad X60s", "computer", 419, COLUMN_CREATE(1, "black", 3, "Linux")); Query OK, 4 rows affected (0.04 sec) Records: 4 Duplicates: 0 Warnings: 0 MariaDB [test]> select id, name, type, price, length(dynstr) as len, column_list(dynstr) as list from t1; +----+-------------------------+----------+--------+------+------+ | id | name | type | price | len | list | +----+-------------------------+----------+--------+------+------+ | 1 | Funny shirt | shirt | 10.00 | 17 | 1,10 | | 2 | nokia | phone | 649.00 | 27 | 1,2 | | 3 | htc Desire hd | phone | 579.00 | 23 | 1,3 | | 4 | BM/Lenovo Thinkpad X60s | computer | 419.00 | 21 | 1,3 | +----+-------------------------+----------+--------+------+------+ 4 rows in set (0.03 sec)
  • 15. Dynamic Columns 10.09.2012 SkySQL Ab 2011 Confidential 15 MariaDB [test]> select name from t1 where COLUMN_GET(dynstr, 1 as char(10)) = "black"; +-------------------------+ | name | +-------------------------+ | nokia | | htc Desire hd | | BM/Lenovo Thinkpad X60s | +-------------------------+ 3 rows in set (0.01 sec) MariaDB [test]> MariaDB [test]> select name, COLUMN_GET(dynstr, 1 as char(10)) from t1 where COLUMN_EXISTS(dynstr, 1); +-------------------------+-----------------------------------+ | name | COLUMN_GET(dynstr, 1 as char(10)) | +-------------------------+-----------------------------------+ | Funny shirt | blue | | nokia | black | | htc Desire hd | black | | BM/Lenovo Thinkpad X60s | black | +-------------------------+-----------------------------------+ 4 rows in set (0.00 sec)
  • 16. MariaDB 5.3 • Replication enhancements – Original statement logged with RBR events – Checksum for binlog events – RBR fixed for tables with no PK – Consistent snapshot between storage engines • User feedback plugin • Extended OpenGIS SFS 10.09.2012 SkySQL Ab 2011 Confidential 16 MariaDB 5.3 = MariaDB 5.2 + the following:
  • 17. Progress Report • Progress report for ALTER TABLE 10.09.2012 SkySQL Ab 2011 Confidential 17 MariaDB [employees]> alter table salaries engine = maria; Stage: 1 of 2 'copy to tmp table' 17.55% of stage done MariaDB [employees]> select id, user, db, command, state, -> time_ms, progress from information_schema.processlist; +---------+-------------------+-----------+----------+ | command | state | time_ms | progress | +---------+-------------------+-----------+----------+ | Query | copy to tmp table | 23407.131 | 17.551 | +---------+-------------------+-----------+----------+ 1 row in set (0.47 sec)
  • 18. Optimizer Enhancements 1. Sub-query optimizations 2. Join additions 3. Optimizations for derived tables and views 4. Disk access optimization 5. Optimizer control 10.09.2012 SkySQL Ab 2011 Confidential 18
  • 19. Optimizer Enhancements 1. Sub-query optimizations – Semi-join subquery optimization – Materialization for non-correlated IN-queries – Sub-query cache 10.09.2012 SkySQL Ab 2011 Confidential 19 Subqueries are finally usable in practice! It is no longer necessary to rewrite subqueries manually into joins or into separate queries
  • 20. Optimizer Enhancements 2. Join additions – Block Nested-Loop-Joins for outer joins – Block Hash-Joins – Batch-Key-Access 10.09.2012 SkySQL Ab 2011 Confidential 20 Before MariaDB 5.3 only Nested-Loop-Joins available
  • 21. Optimizer Enhancements 3. Optimizations for derived tables and views – Mergeable derived tables processed like VIEWs – Optimizer can create indexes over materialized derived tables 4. Disk access optimization – Index Condition Pushdown – Multi-Range-Read optimization (MRR) 5. Optimizer control – @@optimizer_switch for all new options 10.09.2012 SkySQL Ab 2011 Confidential 21
  • 22. Group Commit 10.09.2012 SkySQL Ab 2011 Confidential 22 XtraDB / InnoDB
  • 23. Group Commit 10.09.2012 SkySQL Ab 2011 Confidential 23 COMMIT Binary log XtraDB / InnoDB 3 fsyncs / transaction 2
  • 24. Group Commit 10.09.2012 SkySQL Ab 2011 Confidential 24
  • 25. MariaDB 5.5 – April 2012 • New optimized thread pool implementation – Pool size dynamic – Different implementation on Linux and Windows • Fine grained tuning possible on Linux • @@skip_replication • LIMIT ROWS EXAMINED 10.09.2012 SkySQL Ab 2011 Confidential 25 MariaDB 5.5 = MySQL 5.5 + MariaDB 5.3 features + the following: MariaDB [employees]> SELECT * from t1, t2 -> LIMIT 10 ROWS EXAMINED 1000;
  • 26. Next MariaDB • Global transaction Id (from MySQL 5.6) • Multi-source replication • New improved InnoDB (from MySQL 5.6) • Cassandra storage engine 10.09.2012 SkySQL Ab 2011 Confidential 26 All highly speculative Vote for features on http://www.skysql.com/content/ new-server-functionality-have-your-say
  • 27. A branch or a fork? • MySQL 5.1 CE = MySQL EE <-> MariaDB 5.1 • MariaDB 5.2 and 5.3 <-> MySQL 5.1 CE & EE • MySQL 5.5 CE != MySQL 5.5 EE – Commercial extensions – MariaDB 5.5 implements same features • Merged nonetheless • 5.6 ? 10.09.2012 SkySQL Ab 2011 Confidential 27
  • 28. Getting MariaDB • http://mariadb.org is the main place • Available via OpenSUSE build services • Also available via – Gentoo – FreeBSD – Homebrew – Slackware – ArchLinux • yum and apt repos available from MP 10.09.2012 SkySQL Ab 2011 Confidential 28
  • 29. Support & Services • Monty Program does NRE • Enterprise level support available from SkySQL – Monty Program providing L3 • Training, consulting etc available from SkySQL • Others providing MariaDB services: http://mariadb.org/service-providers/ 10.09.2012 SkySQL Ab 2011 Confidential 29
  • 30. More Information • Downloads: http://mariadb.org/ • Mailing lists on launchpad • #maria on freenode • Knowledgbase: http://kb.askmonty.org/ • Support: http://www.skysql.com/products/skysql-enterprise • Training & consulting: http://www.skysql.com/services/mysql/overview • MariaDB book: MariaDB Crash Course by Ben Forta 10.09.2012 SkySQL Ab 2011 Confidential 30
  • 31. 10.09.2012 SkySQL Ab 2011 Confidential 31 THANK YOU! Max Mether max@skysql.com @maxmether