MariaDB und mehr
MariaDB Roadshow 2014 Hamburg -‐ Berlin -‐ Frankfurt
Ralf Gebhardt, Sales Engineer [email protected]
MariaDB Today
● A free fork of MySQL with extra features
● Backward compaNble ● Community developed,
Enterprise ready
© SkySQL – The MariaDB Company
Where is MariaDB?
DistribuNons: ● RedHat Enterprise Linux, Debian, Ubuntu, Fedora, Mageia,
openSUSE, Gentoo, Slackware, Arch, ALTLinux, TurboLinux, Chakra Project, Kdu, …and many others.
● FreeBSD, OpenBSD ● Mac OS X with MacPorts or Homebrew
From MariaDB.org ● sources, binaries in .tar.gz or .zip (Windows) ● Windows MSI installer ● MariaDB apt and yum repositories
In the cloud ● On Amazon, OpenStack public and private clouds
MariaDB Timeline
● MariaDB 5.1, GA February 2010
Table elimination, new storage engines, code cleanup, better tests, pool of threads
MariaDB Timeline
● MariaDB 5.1, GA February 2010
● MariaDB 5.2, GA November 2010
Table elimination, new storage engines, code cleanup, better tests, pool of threads
Virtual columns, extended user statistics, segmented MyISAM keycache
MariaDB Timeline
● MariaDB 5.1, GA February 2010
● MariaDB 5.2, GA November 2010
● MariaDB 5.3, GA February 2012
Table elimination, new storage engines, code cleanup, better tests, pool of threads
Virtual columns, extended user statistics, segmented MyISAM keycache
Biggest changes to optimizer (faster subqueries, joins, etc.), microsecond precision, faster HANDLER, dynamic columns, better replication (group commit, etc.), HandlerSocket
MariaDB Timeline
● MariaDB 5.1, GA February 2010
● MariaDB 5.2, GA November 2010
● MariaDB 5.3, GA February 2012
● MariaDB 5.5, GA April 2012
Table elimination, new storage engines, code cleanup, better tests, pool of threads
Virtual columns, extended user statistics, segmented MyISAM keycache
Biggest changes to optimizer (faster subqueries, joins, etc.), microsecond precision, faster HANDLER, dynamic columns, better replication (group commit, etc.), HandlerSocket
More efficient threadpool, non-blocking client library, new LIMIT ROWS EXAMINED option, extended keys for XtraDB/InnoDB, new SphinxSE, dynamic replication settings, lots of security fixes, new status variables, etc.
MariaDB Timeline
● MariaDB 5.1, GA February 2010
● MariaDB 5.2, GA November 2010
● MariaDB 5.3, GA February 2012
● MariaDB 5.5, GA April 2012
● MariaDB Galera Cluster, GA March 2013
Table elimination, new storage engines, code cleanup, better tests, pool of threads
Virtual columns, extended user statistics, segmented MyISAM keycache
Biggest changes to optimizer (faster subqueries, joins, etc.), microsecond precision, faster HANDLER, dynamic columns, better replication (group commit, etc.), HandlerSocket
More efficient threadpool, non-blocking client library, new LIMIT ROWS EXAMINED option, extended keys for XtraDB/InnoDB, new SphinxSE, dynamic replication settings, lots of security fixes, new status variables, etc.
Galera Synchronous Replication
MariaDB Timeline
● MariaDB 5.1, GA February 2010
● MariaDB 5.2, GA November 2010
● MariaDB 5.3, GA February 2012
● MariaDB 5.5, GA April 2012
● MariaDB Galera Cluster, GA March 2013
● MariaDB 10.0.10 (March 2014)
Table elimination, ew storage engines, code cleanup, better tests, pool of threads
Virtual columns, extended user statistics, segmented MyISAM keycache
Biggest changes to optimizer (faster subqueries, joins, etc.), microsecond precision, faster HANDLER, dynamic columns, better replication (group commit, etc.), HandlerSocket
More efficient threadpool, non-blocking client library, new LIMIT ROWS EXAMINED option, extended keys for XtraDB/InnoDB, new SphinxSE, dynamic replication settings, lots of security fixes, new status variables, etc.
Galera Synchronous Replication
MariaDB Timeline
● MariaDB 5.1, GA February 2010
● MariaDB 5.2, GA November 2010
● MariaDB 5.3, GA February 2012
● MariaDB 5.5, GA April 2012
● MariaDB Galera Cluster, GA March 2013
● MariaDB 10.0.10 (March 2014)
● MariaDB Galera Cluster 10, July 2014
Table elimination, ew storage engines, code cleanup, better tests, pool of threads
Virtual columns, extended user statistics, segmented MyISAM keycache
Biggest changes to optimizer (faster subqueries, joins, etc.), microsecond precision, faster HANDLER, dynamic columns, better replication (group commit, etc.), HandlerSocket
More efficient threadpool, non-blocking client library, new LIMIT ROWS EXAMINED option, extended keys for XtraDB/InnoDB, new SphinxSE, dynamic replication settings, lots of security fixes, new status variables, etc.
Galera Synchronous Replication
Other MariaDB Projects
● MaxScale ● Connectors / Drivers ● MariaDB C Client Library (LGPL) ● MariaDB JDBC driver (LGPL) ● MariaDB ODBC driver (LGPL)
● MariaDB Audit Plugin
Community ContribuNons
MariaDB 10.0 major contribu@ons: ● Per thread memory counNng and usage ● Base code and idea by Lixun Peng, Taobao
● MulN-‐source replicaNon ● Base code by Lixun Peng, Taobao
● GET_LOCK ● Code by KonstanNn "Kostja" Osipov, mail.ru
● CONNECT storage engine ● Code by Olivier Bertrand
https://mariadb.com/kb/en/log-of-mariadb-contributions/
● Spider storage engine metadata_lock_info InformaNon schema ● Code by Kentoku Shiba, Spiral Arm
● Roles ● Code by VicenNu Ciorbaru, Google Summer of Code 2013
● PCRE Regular Expressions ● Code by Sudheera Palihakkara, Google Summer of Code 2013
● Global TransacNon IDs ● Some patches by Pavel Ivanov, Google
MariaDB 10 in a nutshell
● MariaDB 5.5 features + ● MySQL 5.6 backported features -‐ InnoDB/XtraDB,
PERFORMANCE_SCHEMA, online ALTER TABLE etc. ● MulN-‐source replicaNon ● Global TransacNon ID ● Parallel Slave Thread ● TokuDB, Spider, Connect, Cassandra storage engines ● SSD and Flash storage enhancements ● User roles ● More administraNon and instrumentaNon commands...
OpNmizer Improvements
● Of 29 distinct enhancements noted, 28 are in MariaDB 10. Just 1 only in MySQL 5.6.
● Enhancements include: ● Disk access optimizations. ● JOIN optimizations. ● Subquery optimizations. ● Optimized derived tables and views. ● Execution control. ● Optimizer control. ● EXPLAIN improvements.
Fusion-‐IO page compression
● Atomic writes gives a performance increase of about 30%. By enabling fast checksum for XtraDB it’s 50%
● By using page compression the compression raNo is leading to bemer performance and there are less writes to disk.
● MulN-‐threaded flush provides bemer throughput and decreases operaNon latencies delivering a performance boost
h"ps://blog.mariadb.org/significant-‐performance-‐boost-‐with-‐new-‐mariadb-‐page-‐compression-‐on-‐fusionio
Group Commit
● binlog_commits ● Total number of
transacNons commimed to the binary log
● binlog_group_commits Total number of groups of transacNons commimed to the binary log
When sync_binlog=1 it is the number of fsync()’s
Global TransacNon ID
Parallel Slave Thread ReplicaNon ● Sponsored by Google ● TransacNons are applied in parallel if they have been executed in parallel on the
master. ● It works beyond the boundaries of MySQL 5.6 parallel slave
● Parallel threads apply to: ● Queries that are run on the master in one group commit. ● Queries that are from different domains. ● Queries from different masters
(when using mulN-‐source replicaNon).
● slave_parallel_threads ● Number of parallel threads on
the slave node ● slave_parallel_max_queued
● Memory used to read ahead in relay log
MulN-‐source ReplicaNon
● Data parNNoned over many masters can be pulled together onto one slave for analyNcal queries
● Many masters can replicate to the same slave and a complete backup can be done on the slave
● Newer hardware usually provides more performance. Usually all hardware isn’t upgraded at once and mulN-‐source can be used for replicaNng many masters to a powerful new slave.
● Up to 64 masters
© SkySQL – The MariaDB Company
MariaDB Galera Cluster
● Read & Write access to any node
● Client can connect to any node
● There can be several nodes ● AutomaNc node
provisioning ● ReplicaNon is synchronous
Galera Replication
MariaDB MariaDB MariaDB
© SkySQL – The MariaDB Company
TokuDB
● Drop-‐in replacement for InnoDB/XtraDB developed by Tokutek.
● Advanced indexing and compression algorithms.
● Up to 20x performance gain for inserts/updates.
● Up to 90% less disk storage. ● Online schema changes and online backup
features. ● Simplified administraNon
© SkySQL – The MariaDB Company
Spider
● Spider is a storage engine based on the MySQL parNNoning features, with built-‐in sharding capabiliNes
● Tables of different MariaDB instances are handled as if they are on the same instance
● It supports XA transacNons and mulNple storage engines (InnoDB, MyISAM etc.)
● Developed by Kentoku Shiba, available on Launchpad, first introduced in 2008 and now available in MariaDB 10
© SkySQL – The MariaDB Company
Connect
● Connect enables MariaDB to use external data as they were standard tables in the server
● Data is not loaded into MariaDB ● Integrates/access data directly in many non-‐
MariaDB formats ● Simplifies the ETL procedures in
Business Intelligence and Business AnalyNcs
● Simplifies the export/import of data from/to MariaDB, to/from other data sources
© SkySQL – The MariaDB Company
Dynamic Columns Store Unstructured Data
● Store unstructured data in MariaDB tables with a simple API. ● Use MariaDB’s indexing and transactions to manipulate
“document” style data fast and consistently. ● Nest sets of dynamic columns inside of other dynamic columns -
hierarchical structuring. ● Include multiple rows with dynamic columns in transactions.
Process unstructured data in the same way as NoSQL ,but with the power of MariaDB
Cust ID Account Balance
Dyn_Col_BLOBs
2035 $154.04 NAME: John Smith|LOC: 45.35243, -74.98348|IMAGE: x27A8B8C ...
2036 $929.10 NAME: Jane Doe|LOC: 45.35243, -74.98348|AGE: 32| GENDER: F...
2037 $377.53 NAME: Carol Jones|AGE: 43|GENDER: F||IMAGE: xA9674DE678 ...
© SkySQL – The MariaDB Company
Even more innovaNve features
● Role-‐based access control ● SHOW EXPLAIN FOR thread ● Explain on slow query log ● Cassandra storage engine ● Virtual and dynamic columns ● HandlerSocket plugin ● Audit and PAM plugins
© SkySQL – The MariaDB Company
MariaDB 10.1
● Single distribuNon for clustered and non-‐clustered MariaDB ● 5.6, 5.7 and WebscaleSQL features ● Portable tablespaces ● Improved thread management ● Kerberos authenNcaNon support ● GIS improvements ● Windowing funcNons ● inner and outer database security and encrypNon ● More NoSQL enhancements
h"ps://mariadb.atlassian.net/secure/ReleaseNote.jspa?projectId=10000&version=12200
© SkySQL – The MariaDB Company
Beyond MariaDB
Business Con@nuity
© SkySQL – The MariaDB Company
Beyond MariaDB
Business Con@nuity
Unlimited Scalability
© SkySQL – The MariaDB Company
Beyond MariaDB
Business Con@nuity
Unlimited Scalability
Systems Integra@on
© SkySQL – The MariaDB Company
Beyond MariaDB
Business Con@nuity
Unlimited Scalability
Systems Integra@on
Systems Orchestra@on
© SkySQL – The MariaDB Company
MaxScale
● A database-‐centric proxy, generic in nature ● Highly scalable ● Lightweight with small footprint ● Minimum possible latency ● Highly available ● Extendible ● Integrated with systems security ● CompaNble with any version of
MySQL/MariaDB servers and applicaNons (4.1+)
© SkySQL – The MariaDB Company
MariaDB Enterprise: IntegraNng the Complete SoluNon
MariaDB Enterprise Subscriptions
DevOps Admin
NoSQLSharding
Clustering
Innovation
Support Consulting
Training RDBA Portal
NRE
Customer Care Partner Products
Fragen? www.mariadb.com
www.facebook.com/mariadb.dbms www.twimer.com/mariadb
Vielen Dank!
MariaDB und mehr
© Copyright 2014 SkySQL Corporation Ab. SkySQL and MariaDB are trademarks or registered trademarks of SkySQL Corporation Ab in the European Union and United States of America and/or other
countries. MySQL is a trademark of Oracle Corporation Inc. Other names may be trademarks of their respective owners.
Top Related