SlideShare a Scribd company logo
MariaDB for the Enterprise
Max Mether
@maxmether
max@skysql.com
09.04.2014 © SkySQL Ab. Commercial in Confidence 1
Who is Max ?
A brief history
• 1983 - First version of what would become MySQL created by Monty W.
• 1995 – MySQL AB founded
• 2001 Jan – Mårten Mickos joins MySQL as the CEO
• 2005 Oct – Oracle acquires InnoDB (Innobase)
• 2008 Jan – MySQL AB acquired by Sun for $1bn
• 2008 Nov – MySQL 5.1 GA
• 2009 Jan – Monty Program is founded
• 2009 Apr – Oracle acquire Sun for $7.4bn
• 2009 Dec – Oracle makes MySQL promises to EU
09.04.2014
3
A new beginning?
• 2010 Feb – MariaDB 5.1 alpha released
• 2010 Dec – MySQL 5.5 GA released
• 2011 Sep – Oracle: closed source modules for MySQL
• 2012 Apr – MariaDB 5.5 GA is released
• 2012 Aug – Oracle: closes bugs db and test cases
• 2012 Dec – MariaDB Foundation is announced
• 2013 Feb – Fedora and OpenSuSE replace MySQL with MariaDB in their
distributions
• 2013 Mar – Slackware, Archware follow
• 2013 April - SkySQL merges with Monty Program
• 2013 June – RHEL announces MariaDB as default
• 2014 Mar – MariaDB 10.0 GA
09.04.2014
SkySQL Ab 2011 Confidential 4
MariaDB Versions
09.04.2014 © SkySQL Ab. Commercial in Confidence 5
• MariaDB 5.1 based on MySQL CE 5.1
– MariaDB 5.2 based on MariaDB 5.1
– MariaDB 5.3 based on MariaDB 5.2
• MariaDB 5.5 based on MySQL CE 5.5
• MariaDB 10.0 based on MariaDB 5.5
– Plus features from MySQL 5.6
• MariaDB 10.1 based on MariaDB 10.0
– Plus features from MySQL 5.7
MariaDB Features – Replication
• Multi-source replication (10.0)
– Each slave can have multiple masters
• Global Transaction ID (10.0)
– Follows the transaction through its life
– Based on ”domain” as opposed to UUID
• Parallell slave threads (10.0)
– Based on Group Commit instead of schemas
• Original statement logged with RBR events (5.3)
• Checksum for binlog events (5.3)
09.04.2014 © SkySQL Ab. Commercial in Confidence 6
Replication before 10.0
09.04.2014 © SkySQL Ab. Commercial in Confidence 7
Replication with 10.0
09.04.2014 © SkySQL Ab. Commercial in Confidence 8
MariaDB Galera Cluster (5.5)
• Combines MariaDB with Galera
Cluster
• Provides
synchronous replication
• Active – Active nodes
• Works with InnoDB
• No slave lag
• Multi-threaded slave
• Transactions are validated
upon commit
• Multi-master possible
09.04.2014 © SkySQL Ab. Commercial in Confidence 9
MariaDB Features - Optimizer
• Sub-query optimizations (5.3)
– Subqueries up to several thousand times faster
• Join additions (5.3)
– Block nested loop joins for outer joins, Block hash joins, Batch Key
Access
• Optimizations for derived tables and views (5.3)
• Disk access optimization (5.3)
– Index Condition Pushdown, Multi-Range Read optimization
• Table Elimination (5.1)
• Histogram statistics for non-indexed columns (10.0)
• Engine independent statistics (10.0)
– Optimizer no longer reliant on Storage Engine
09.04.2014 © SkySQL Ab. Commercial in Confidence 10
MariaDB Features – Group Commit (5.3)
09.04.2014 © SkySQL Ab. Commercial in Confidence 11
COMMIT
Binary
log
XtraDB / InnoDB
3 fsyncs /
transaction
2
09.04.2014 © SkySQL Ab. Commercial in Confidence 12
MariaDB Features – Group Commit (5.3)
MariaDB Features – Atomic Writes (5.5)
• Traditionally writes to disk cannot be guaranteed to
be completed
– InnoDB uses a doublewrite buffer for safety
• FusionIOs DirectFS supports Atomic Writes
– A write is guaranteed in an all or nothing fashion
• By writing only once
– The flash life time is increased
– The overall throughput is increased
09.04.2014 © SkySQL Ab. Commercial in Confidence 13
MariaDB Features – Performance
• Threadpool (5.1) / (5.5)
– Pools of threads instead of one thread /
connection
– Less context switching => increased performance
in some usage scenarios
• Segmented Key Cache (5.2)
– Increased concurrency for MyISAM usage
09.04.2014 © SkySQL Ab. Commercial in Confidence 14
MariaDB Features – Storage Engines
• Cassandra (10.0)
– An integration of the NoSQL database Cassandra
– Write and read data to and from a Cassandra Cluster
• Connect (10.0)
– Access data from various formats such as DBase, CSV, DOS, FMT
and XML
• TokuDB (5.5)
– High performance on write-intensive workloads
• Spider (10.0)
– Transparently split data in same table into several MariaDB
servers
09.04.2014 © SkySQL Ab. Commercial in Confidence 15
MariaDB Features – Statistics
• Improved user statistics (5.2)
– CLIENT_STATISTICS
– USER_STATISTICS
• Improved table statistics (5.2)
– INDEX_STATISTICS
– TABLE_STATISTICS
• Improved thread information (10.0)
– MEMORY_USAGE
– EXAMINED_ROWS
09.04.2014 © SkySQL Ab. Commercial in Confidence 16
MariaDB Features – Security
• Pluggable authentication (5.2)
– PAM Plugin
– Allow other authentication methods
• Audit Plugin (10.0)
– Track user access to data in real time
• Roles (10.0)
– Assign users to roles
09.04.2014 © SkySQL Ab. Commercial in Confidence 17
MariaDB Features – Admin
• ALTER TABLE progress report (5.3)
• Online ALTER TABLE (10.0)
• SHOW EXPLAIN for <thread_id> (10.0)
• EXPLAIN for UPDATE/DELETE (10.0)
• Table partitioning improvements (10.0)
– Read directly from partition
– EXCHANGE PARTITION
• New PERFORMANCE SCHEMA (10.0)
• SHUTDOWN Command (10.0)
09.04.2014 © SkySQL Ab. Commercial in Confidence 18
MariaDB Features – “NoSQL”
• Virtual Columns (5.3)
– PERSISTENT or VIRTUAL
• Handler socket (5.3)
– Direct access to storage layer
• Simple CRUD operations
• Dynamic Columns (5.3)
– Columns with dynamic content
– Implemented as a blob with handling functions
09.04.2014 © SkySQL Ab. Commercial in Confidence 19
MariaDB Features – Dynamic Columns
09.04.2014 © SkySQL Ab. Commercial in Confidence 20
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)
MariaDB Features – Dynamic Columns
09.04.2014 © SkySQL Ab. Commercial in Confidence 21
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)
Questions?
Max Mether
@maxmether
max@skysql.com
09.04.2014 © SkySQL Ab. Commercial in Confidence 22

More Related Content

What's hot (20)

PDF
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Colin Charles
 
PDF
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
eLiberatica
 
PDF
How to upgrade like a boss to MySQL 8.0 - PLE19
Alkin Tezuysal
 
PDF
MySQL Oslayer performace optimization
Louis liu
 
PDF
Gear6 Webinar - MySQL Scaling with Memcached
Gear6
 
PPTX
Ansible MySQL MHA
Alkin Tezuysal
 
PPTX
Mysql ecosystem in 2019
Alkin Tezuysal
 
PDF
MySQL Ecosystem in 2020
Alkin Tezuysal
 
PDF
A beginners guide to MariaDB
Colin Charles
 
PDF
Distributions from the view a package
Colin Charles
 
PDF
What is MariaDB Server 10.3?
Colin Charles
 
PDF
Jeff Rigby on Scaling Drupal in the Enterprise
Joe Bachana
 
PDF
Cool MariaDB Plugins
Colin Charles
 
PPT
Vox files_openstack_swift_voxel_net
DellCloudEdge
 
PDF
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Colin Charles
 
PDF
MariaDB 10: A MySQL Replacement - HKOSC
Colin Charles
 
PDF
The MySQL Server ecosystem in 2016
Colin Charles
 
PDF
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
Ivan Zoratti
 
PDF
Lessons from database failures
Colin Charles
 
PPTX
Uponor Exadata e-Business Suite Migration Case Study
Simo Vilmunen
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Colin Charles
 
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
eLiberatica
 
How to upgrade like a boss to MySQL 8.0 - PLE19
Alkin Tezuysal
 
MySQL Oslayer performace optimization
Louis liu
 
Gear6 Webinar - MySQL Scaling with Memcached
Gear6
 
Ansible MySQL MHA
Alkin Tezuysal
 
Mysql ecosystem in 2019
Alkin Tezuysal
 
MySQL Ecosystem in 2020
Alkin Tezuysal
 
A beginners guide to MariaDB
Colin Charles
 
Distributions from the view a package
Colin Charles
 
What is MariaDB Server 10.3?
Colin Charles
 
Jeff Rigby on Scaling Drupal in the Enterprise
Joe Bachana
 
Cool MariaDB Plugins
Colin Charles
 
Vox files_openstack_swift_voxel_net
DellCloudEdge
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Colin Charles
 
MariaDB 10: A MySQL Replacement - HKOSC
Colin Charles
 
The MySQL Server ecosystem in 2016
Colin Charles
 
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
Ivan Zoratti
 
Lessons from database failures
Colin Charles
 
Uponor Exadata e-Business Suite Migration Case Study
Simo Vilmunen
 

Similar to MariaDB for the Enterprise (20)

PDF
MySQL Features
Great Wide Open
 
PDF
Maria db 10 and the mariadb foundation(colin)
kayokogoto
 
PDF
Meet MariaDB 10.1 at the Bulgaria Web Summit
Colin Charles
 
PDF
The MySQL ecosystem - understanding it, not running away from it!
Colin Charles
 
PDF
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
YUCHENG HU
 
PDF
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
Insight Technology, Inc.
 
PPTX
Deploying MariaDB databases with containers at Nokia Networks
MariaDB plc
 
PDF
MySQL Scalability and Reliability for Replicated Environment
Jean-François Gagné
 
PDF
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
PDF
Introduction of MariaDB 2017 09
GOTO Satoru
 
PDF
Mysql User Camp : 20th June - Mysql New Features
Tarique Saleem
 
PDF
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp
 
PDF
SkySQL Cloud MySQL MariaDB
lemugfr
 
PDF
제3회난공불락 오픈소스 인프라세미나 - MySQL
Tommy Lee
 
PDF
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB Corporation
 
PDF
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
Alkin Tezuysal
 
PDF
My sql crashcourse_intro_kdl
sqlhjalp
 
PDF
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
PPTX
MariaDB pres at LeMUG
Serge Frezefond
 
PDF
Collaborate 2012 - Administering MySQL for Oracle DBAs
Nelson Calero
 
MySQL Features
Great Wide Open
 
Maria db 10 and the mariadb foundation(colin)
kayokogoto
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Colin Charles
 
The MySQL ecosystem - understanding it, not running away from it!
Colin Charles
 
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
YUCHENG HU
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
Insight Technology, Inc.
 
Deploying MariaDB databases with containers at Nokia Networks
MariaDB plc
 
MySQL Scalability and Reliability for Replicated Environment
Jean-François Gagné
 
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
Introduction of MariaDB 2017 09
GOTO Satoru
 
Mysql User Camp : 20th June - Mysql New Features
Tarique Saleem
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp
 
SkySQL Cloud MySQL MariaDB
lemugfr
 
제3회난공불락 오픈소스 인프라세미나 - MySQL
Tommy Lee
 
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB Corporation
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
Alkin Tezuysal
 
My sql crashcourse_intro_kdl
sqlhjalp
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
MariaDB pres at LeMUG
Serge Frezefond
 
Collaborate 2012 - Administering MySQL for Oracle DBAs
Nelson Calero
 
Ad

More from Great Wide Open (20)

PDF
The Little Meetup That Could
Great Wide Open
 
PDF
Lightning Talk - 5 Hacks to Getting the Job of Your Dreams
Great Wide Open
 
PDF
Breaking Free from Proprietary Gravitational Pull
Great Wide Open
 
PDF
Dealing with Unstructured Data: Scaling to Infinity
Great Wide Open
 
PDF
You Don't Know Node: Quick Intro to 6 Core Features
Great Wide Open
 
PDF
Hidden Features in HTTP
Great Wide Open
 
PPTX
Using Cryptography Properly in Applications
Great Wide Open
 
PDF
Lightning Talk - Getting Students Involved In Open Source
Great Wide Open
 
PPTX
You have Selenium... Now what?
Great Wide Open
 
PDF
How Constraints Cultivate Growth
Great Wide Open
 
PDF
Inner Source 101
Great Wide Open
 
PDF
Running MySQL on Linux
Great Wide Open
 
PDF
Search is the new UI
Great Wide Open
 
PDF
Troubleshooting Hadoop: Distributed Debugging
Great Wide Open
 
PPTX
The Current Messaging Landscape
Great Wide Open
 
PDF
Apache httpd v2.4
Great Wide Open
 
PDF
Understanding Open Source Class 101
Great Wide Open
 
PDF
Thinking in Git
Great Wide Open
 
PDF
Antifragile Design
Great Wide Open
 
PDF
Elasticsearch for SQL Users
Great Wide Open
 
The Little Meetup That Could
Great Wide Open
 
Lightning Talk - 5 Hacks to Getting the Job of Your Dreams
Great Wide Open
 
Breaking Free from Proprietary Gravitational Pull
Great Wide Open
 
Dealing with Unstructured Data: Scaling to Infinity
Great Wide Open
 
You Don't Know Node: Quick Intro to 6 Core Features
Great Wide Open
 
Hidden Features in HTTP
Great Wide Open
 
Using Cryptography Properly in Applications
Great Wide Open
 
Lightning Talk - Getting Students Involved In Open Source
Great Wide Open
 
You have Selenium... Now what?
Great Wide Open
 
How Constraints Cultivate Growth
Great Wide Open
 
Inner Source 101
Great Wide Open
 
Running MySQL on Linux
Great Wide Open
 
Search is the new UI
Great Wide Open
 
Troubleshooting Hadoop: Distributed Debugging
Great Wide Open
 
The Current Messaging Landscape
Great Wide Open
 
Apache httpd v2.4
Great Wide Open
 
Understanding Open Source Class 101
Great Wide Open
 
Thinking in Git
Great Wide Open
 
Antifragile Design
Great Wide Open
 
Elasticsearch for SQL Users
Great Wide Open
 
Ad

Recently uploaded (20)

PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Digital Circuits, important subject in CS
contactparinay1
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 

MariaDB for the Enterprise

  • 1. MariaDB for the Enterprise Max Mether @maxmether [email protected] 09.04.2014 © SkySQL Ab. Commercial in Confidence 1
  • 3. A brief history • 1983 - First version of what would become MySQL created by Monty W. • 1995 – MySQL AB founded • 2001 Jan – Mårten Mickos joins MySQL as the CEO • 2005 Oct – Oracle acquires InnoDB (Innobase) • 2008 Jan – MySQL AB acquired by Sun for $1bn • 2008 Nov – MySQL 5.1 GA • 2009 Jan – Monty Program is founded • 2009 Apr – Oracle acquire Sun for $7.4bn • 2009 Dec – Oracle makes MySQL promises to EU 09.04.2014 3
  • 4. A new beginning? • 2010 Feb – MariaDB 5.1 alpha released • 2010 Dec – MySQL 5.5 GA released • 2011 Sep – Oracle: closed source modules for MySQL • 2012 Apr – MariaDB 5.5 GA is released • 2012 Aug – Oracle: closes bugs db and test cases • 2012 Dec – MariaDB Foundation is announced • 2013 Feb – Fedora and OpenSuSE replace MySQL with MariaDB in their distributions • 2013 Mar – Slackware, Archware follow • 2013 April - SkySQL merges with Monty Program • 2013 June – RHEL announces MariaDB as default • 2014 Mar – MariaDB 10.0 GA 09.04.2014 SkySQL Ab 2011 Confidential 4
  • 5. MariaDB Versions 09.04.2014 © SkySQL Ab. Commercial in Confidence 5 • MariaDB 5.1 based on MySQL CE 5.1 – MariaDB 5.2 based on MariaDB 5.1 – MariaDB 5.3 based on MariaDB 5.2 • MariaDB 5.5 based on MySQL CE 5.5 • MariaDB 10.0 based on MariaDB 5.5 – Plus features from MySQL 5.6 • MariaDB 10.1 based on MariaDB 10.0 – Plus features from MySQL 5.7
  • 6. MariaDB Features – Replication • Multi-source replication (10.0) – Each slave can have multiple masters • Global Transaction ID (10.0) – Follows the transaction through its life – Based on ”domain” as opposed to UUID • Parallell slave threads (10.0) – Based on Group Commit instead of schemas • Original statement logged with RBR events (5.3) • Checksum for binlog events (5.3) 09.04.2014 © SkySQL Ab. Commercial in Confidence 6
  • 7. Replication before 10.0 09.04.2014 © SkySQL Ab. Commercial in Confidence 7
  • 8. Replication with 10.0 09.04.2014 © SkySQL Ab. Commercial in Confidence 8
  • 9. MariaDB Galera Cluster (5.5) • Combines MariaDB with Galera Cluster • Provides synchronous replication • Active – Active nodes • Works with InnoDB • No slave lag • Multi-threaded slave • Transactions are validated upon commit • Multi-master possible 09.04.2014 © SkySQL Ab. Commercial in Confidence 9
  • 10. MariaDB Features - Optimizer • Sub-query optimizations (5.3) – Subqueries up to several thousand times faster • Join additions (5.3) – Block nested loop joins for outer joins, Block hash joins, Batch Key Access • Optimizations for derived tables and views (5.3) • Disk access optimization (5.3) – Index Condition Pushdown, Multi-Range Read optimization • Table Elimination (5.1) • Histogram statistics for non-indexed columns (10.0) • Engine independent statistics (10.0) – Optimizer no longer reliant on Storage Engine 09.04.2014 © SkySQL Ab. Commercial in Confidence 10
  • 11. MariaDB Features – Group Commit (5.3) 09.04.2014 © SkySQL Ab. Commercial in Confidence 11 COMMIT Binary log XtraDB / InnoDB 3 fsyncs / transaction 2
  • 12. 09.04.2014 © SkySQL Ab. Commercial in Confidence 12 MariaDB Features – Group Commit (5.3)
  • 13. MariaDB Features – Atomic Writes (5.5) • Traditionally writes to disk cannot be guaranteed to be completed – InnoDB uses a doublewrite buffer for safety • FusionIOs DirectFS supports Atomic Writes – A write is guaranteed in an all or nothing fashion • By writing only once – The flash life time is increased – The overall throughput is increased 09.04.2014 © SkySQL Ab. Commercial in Confidence 13
  • 14. MariaDB Features – Performance • Threadpool (5.1) / (5.5) – Pools of threads instead of one thread / connection – Less context switching => increased performance in some usage scenarios • Segmented Key Cache (5.2) – Increased concurrency for MyISAM usage 09.04.2014 © SkySQL Ab. Commercial in Confidence 14
  • 15. MariaDB Features – Storage Engines • Cassandra (10.0) – An integration of the NoSQL database Cassandra – Write and read data to and from a Cassandra Cluster • Connect (10.0) – Access data from various formats such as DBase, CSV, DOS, FMT and XML • TokuDB (5.5) – High performance on write-intensive workloads • Spider (10.0) – Transparently split data in same table into several MariaDB servers 09.04.2014 © SkySQL Ab. Commercial in Confidence 15
  • 16. MariaDB Features – Statistics • Improved user statistics (5.2) – CLIENT_STATISTICS – USER_STATISTICS • Improved table statistics (5.2) – INDEX_STATISTICS – TABLE_STATISTICS • Improved thread information (10.0) – MEMORY_USAGE – EXAMINED_ROWS 09.04.2014 © SkySQL Ab. Commercial in Confidence 16
  • 17. MariaDB Features – Security • Pluggable authentication (5.2) – PAM Plugin – Allow other authentication methods • Audit Plugin (10.0) – Track user access to data in real time • Roles (10.0) – Assign users to roles 09.04.2014 © SkySQL Ab. Commercial in Confidence 17
  • 18. MariaDB Features – Admin • ALTER TABLE progress report (5.3) • Online ALTER TABLE (10.0) • SHOW EXPLAIN for <thread_id> (10.0) • EXPLAIN for UPDATE/DELETE (10.0) • Table partitioning improvements (10.0) – Read directly from partition – EXCHANGE PARTITION • New PERFORMANCE SCHEMA (10.0) • SHUTDOWN Command (10.0) 09.04.2014 © SkySQL Ab. Commercial in Confidence 18
  • 19. MariaDB Features – “NoSQL” • Virtual Columns (5.3) – PERSISTENT or VIRTUAL • Handler socket (5.3) – Direct access to storage layer • Simple CRUD operations • Dynamic Columns (5.3) – Columns with dynamic content – Implemented as a blob with handling functions 09.04.2014 © SkySQL Ab. Commercial in Confidence 19
  • 20. MariaDB Features – Dynamic Columns 09.04.2014 © SkySQL Ab. Commercial in Confidence 20 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)
  • 21. MariaDB Features – Dynamic Columns 09.04.2014 © SkySQL Ab. Commercial in Confidence 21 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)