Upload
mariadb
View
625
Download
0
Embed Size (px)
DESCRIPTION
Presented by David Axmark at the MariaDB Roadshow in London, Sep 18.
Citation preview
MariaDB 10 and beyond
MariaDB Roadshow - London David Axmark
MariaDB Today
● A free fork of MySQL with extra features
● Backward compatible● Community developed,
Enterprise ready
Where is MariaDB?
Distributions:● 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 10 in a nutshell
● MariaDB 5.5 features +● MySQL 5.6 backported features - InnoDB/XtraDB,
PERFORMANCE_SCHEMA, online ALTER TABLE etc.● Multi-source replication● Global Transaction ID● Parallel Slave Thread● TokuDB, Spider, Connect, Cassandra storage engines● SSD and Flash storage enhancements● User roles● More administration and instrumentation
commands...
Optimizer Improvements
● Of 29 distinct enhancements noted by us in MySQL 5.6, 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.● Histogram based statistics for any storage engine
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 ratio is leading to better performance and there are less writes to disk.
● Multi-threaded flush provides better throughput and decreases operation latencies delivering a performance boost
https://blog.mariadb.org/significant-performance-boost-with-new-mariadb-page-compression-on-fusionio
Group Commit
● binlog_commits● Total number of
transactions committed to the binary log
● binlog_group_commits
Total number of groups of transactions committed to the binary log
When sync_binlog=1 it is the number of fsync()’s
Global Transaction ID
Parallel Slave Thread Replication● Sponsored by Google● Transactions 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 multi-sourcereplication).
Multi-source Replication
● Data partitioned over manymasters can be pulledtogether onto one slave foranalytical queries
● Many masters can replicate tothe same slave and a completebackup can be done on the slave
● Newer hardware usually provides more performance. Usually all hardware isn’t upgraded at once and multi-source can be used for replicating many masters to a powerful new slave.
● Up to 64 masters
MariaDB Galera Cluster
● Synchronous Replication ● Read & Write access to
any node● Client can connect to
any node● There can be several
nodes● Automatic node
provisioning Galera Replication
MariaDB
MariaDB
MariaDB
TokuDB
● Drop-in replacement for InnoDB/XtraDB developed by Tokutek.
● Advanced indexing andcompression algorithms.
● Up to 20x performance gainfor inserts/updates.
● Up to 90% less disk storage.● Online schema changes and online
backup features.● Simplified administration
Spider
● Spider is a storage engine based on the MySQL partitioning features, with built-in sharding capabilities
● Tables of different MariaDB instances are handled as if they are on the same instance
● It supports XA transactions and multiple storage engines (InnoDB, MyISAM etc.)
● Developed by Kentoku Shiba,available on Launchpad,first introduced in 2008and now available inMariaDB 10
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 andBusiness Analytics
● Simplifies the export/import ofdata from/to MariaDB, to/fromother data sources
Even more innovative 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
MariaDB 10.1
● Single distribution for clustered and non-clustered MariaDB
● 5.6, 5.7 and WebscaleSQL features● Portable tablespaces (works in 10.0 says developer)● Improved thread management● Kerberos authentication support● GIS improvements● Windowing functions● inner and outer database security and encryption● More NoSQL enhancements
https://mariadb.atlassian.net/secure/ReleaseNote.jspa?projectId=10000&version=12200
MariaDB 10.x
What would you like ?
MaxScale
● A database-centric proxy, generic in nature● Highly scalable● Lightweight with small footprint● Minimum possible latency● Highly available● Extendible● Integrated with systems
security● Compatible with any version of
MySQL/MariaDB servers and applications (4.1+)
Thank You!
“The future is already here — it's just not very evenly distributed.”
William F. Gibson