MariaDB 10 and Beyond

31
MariaDB 10 and beyond The Future of Open Source Databases MariaDB Roadshow - Maarssen Ivan Zoratti V1406.01

description

MariaDB 10 and Beyond - the Future of Open Source Databases by Ivan Zoratti. Presented 24.6.2014 at the MariaDB Roadshow in Maarssen, Utrecht, The Netherlands.

Transcript of MariaDB 10 and Beyond

Page 1: MariaDB 10 and Beyond

MariaDB 10 and beyond

The Future of Open Source Databases

MariaDB Roadshow - MaarssenIvan Zoratti

V1406.01

Page 2: MariaDB 10 and Beyond

Who is Ivan

?

Page 3: MariaDB 10 and Beyond

MariaDB Today

● A free fork of MySQL with extra features

● Backward compatible● Community developed,

Enterprise ready

Page 4: MariaDB 10 and Beyond

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

Page 5: MariaDB 10 and Beyond

MariaDB Timeline

● MariaDB 5.1, GA February 2010

Table elimination, new storage engines, code cleanup, better tests, pool of threads

Page 6: MariaDB 10 and Beyond

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

Page 7: MariaDB 10 and Beyond

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

Page 8: MariaDB 10 and Beyond

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.

Page 9: MariaDB 10 and Beyond

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

Page 10: MariaDB 10 and Beyond

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

Page 11: MariaDB 10 and Beyond

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...

Page 12: MariaDB 10 and Beyond

Optimizer 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.

Page 13: MariaDB 10 and Beyond

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

Page 14: MariaDB 10 and Beyond

Group Commit

● binlog_commits● Total number of

transactions committed to the binary log

● binlog_group_commitsTotal number of groups of

transactions committed to the binary log

When sync_binlog=1 it is the number of fsync()’s

Page 15: MariaDB 10 and Beyond

Global Transaction ID

Page 16: MariaDB 10 and Beyond

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).

● slave_parallel_threads● Number of parallel threads on

the slave node

● slave_parallel_max_queued● Number of parallel threads on

the slave node

Page 17: MariaDB 10 and Beyond

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

Page 18: MariaDB 10 and Beyond

MariaDB in the MySQL World

Page 19: MariaDB 10 and Beyond

MariaDB Galera Cluster

● Read & Write access to any node

● Client can connect to any node

● There can be several nodes● Automatic node

provisioning● Replication is synchronous Galera Replication

MariaDB MariaDB MariaDB

Page 20: MariaDB 10 and Beyond

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 administration

Page 21: MariaDB 10 and Beyond

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 2008

and now available in

MariaDB 10

Page 22: MariaDB 10 and Beyond

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 Analytics

● Simplifies the export/import of

data from/to MariaDB, to/from

other data sources

Page 23: MariaDB 10 and Beyond

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

Page 24: MariaDB 10 and Beyond

MariaDB 10.1

● Single distribution for clustered and non-clustered MariaDB● 5.6, 5.7 and WebscaleSQL features● Portable tablespaces● 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

Page 25: MariaDB 10 and Beyond

Beyond MariaDB

Page 26: MariaDB 10 and Beyond

Beyond MariaDB

Business Continuity

Page 27: MariaDB 10 and Beyond

Beyond MariaDB

Business Continuity

Unlimited Scalability

Page 28: MariaDB 10 and Beyond

Beyond MariaDB

Business Continuity

Unlimited Scalability

Systems Integration

Page 29: MariaDB 10 and Beyond

Beyond MariaDB

Business Continuity

Unlimited Scalability

Systems Integration

Systems Orchestration

Page 30: MariaDB 10 and Beyond

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+)

Page 31: MariaDB 10 and Beyond

Thank You!

“The future is already here — it's just not very evenly distributed.”

William F. Gibson