The New Mariadb Offering

The New Mariadb Offering

The new MariaDB offering MariaDB 10, MaxScale, and more Rasmus Johansson, VP Engineering, SkySQL 24/06/2014 © SkySQL Corporaon Ab. Company Confiden-al. 1 MariaDB intro 24/06/2014 © SkySQL Corporaon Ab. Company Confiden-al. 2 What is MariaDB? • A free fork of MySQL with extra features • features, requested by the users • Backward compable • file formats, replicaon, configuraon files • aim at 100% drop-in replacement • Community developed • 50% of maria-captains are from the community • no hidden agenda © SkySQL Corporaon Ab. Company Confiden-al. Who’s using it? © SkySQL Corporaon Ab. Company Confiden-al. Where to get it • Distribu-ons: • RedHat Enterprise Linux (default in RHEL 7), Debian, Ubuntu (since 14.04), Fedora, Mageia (default), openSUSE (default), Gentoo, Slackware (default), Arch (default), ALTLinux, TurboLinux, Chakra Project (default), Kdu, … • 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 © SkySQL Corporaon Ab. Company Confiden-al. Before MariaDB 10.0 • MariaDB 5.1 – 17 releases since Oct 2009 • Aria, XtraDB, PBXT, FederatedX • table eliminaon, pool of threads, • MariaDB 5.2 – 15 releases since Apr 2010 • OQGraph, SphinxSE • virtual columns, pluggable auth, segmented key cache, extended stas-cs, • MariaDB 5.3 – 13 releases since July 2011 • major op-mizer improvements • replicaon: group commit, checksums • HandlerSocket, dynamic columns, Windows performance improvements, microsecond support, GIS precise operaons, progress repor-ng, … © SkySQL Corporaon Ab. Company Confiden-al. Before MariaDB 10.0 • MariaDB 5.5 – 20 releases since Feb 2012 • new thread pool • non-blocking client API • extended keys op-mizaon • dynamic replicate_do_*, replicate_ignore_*, replicate_wild_* variables © SkySQL Corporaon Ab. Company Confiden-al. Other MariaDB projects • MaxScale • MariaDB Galera Cluster • Connectors/Drivers • MariaDB C Client Library (LGPL) • MariaDB JDBC driver (LGPL) • MariaDB ODBC driver (LGPL) • MariaDB Audit Plugin © SkySQL Corporaon Ab. Company Confiden-al. Community ac-vity • Past month (March 2014): • Added/Changed Ar-cles in the KB: 123 • On Freenode IRC #maria, 550 people wrote 10173 lines • Source code (Launchpad): : GitHub • 25 ac-ve branches MariaDB is now on • 395 commits https://github.com/MariaDB/server/ 24/06/2014 9 © SkySQL Corporaon Ab. Company Confiden-al. Community Contribu-ons MariaDB 10.0 major contribu-ons: • Spider storage engine metadata_lock_info Informaon schema • Per thread memory coun-ng and usage • Code by Kentoku Shiba, Spiral Arms • Base code and idea by Lixun Peng, Taobao • Roles • Mul--source replicaon • Code by Vicenu Ciorbaru, Google Summer of Code 2013 • Base code by Lixun Peng, Taobao • PCRE Regular Expressions • GET_LOCK • Code by Sudheera Palihakkara, Google • Code by Konstan-n "Kostja" Osipov, Summer of Code 2013 mail.ru • Global Transac-on IDs • CONNECT storage engine • Some patches by Pavel Ivanov, Google • Code by Olivier Bertrand https://mariadb.com/kb/en/log-of-mariadb-contributions/ 24/06/2014 © SkySQL Corporaon Ab. Company Confiden-al. 10 Community Ongoing Dev Projects • WebScaleSQL patches • Stas-cally op-mize mysql-test runs by hpps://mariadb.atlassian.net/browse/MDEV-6039 running less tests, Pablo Estrada, Google Summer of Code • LevelDB/RocksDB storage engine (persistent key-value hpps://mariadb.atlassian.net/browse/ store for fast storage) MDEV-5776 hpps://mariadb.com/kb/en/leveldb-storage-engine/ • CREATE OR REPLACE, CREATE IF NOT • Fusion-IO page compression EXISTS, DROP IF EXISTS, Sriram Pal, hpps://blog.mariadb.org/significant-performance- Google Summer of Code hpps://mariadb.atlassian.net/browse/ boost-with-new-mariadb-page-compression-on- MDEV-5359 fusionio/ • Self-Tuning Op-mizer, Anshu Avinash, • Kerberos authen-caon plugin Google Summer of Code hpps://mariadb.atlassian.net/browse/MDEV-4691 hpps://mariadb.atlassian.net/browse/ • Mroonga storage engine (fast fulltext search) MDEV-350 hpps://mariadb.atlassian.net/browse/MDEV-5222 • Support of UseServerPrepStmts to MariaDB Java Connector, Puneet Dewan, Google Summer of Code 24/06/2014 © SkySQL Corporaon Ab. Company Confiden-al. 11 MariaDB 10.0 © SkySQL Corporaon Ab. Company Confiden-al. MariaDB 10 ● MariaDB 10.0 GA launched March 31st, 2014. ● Application-compatible with MySQL. ● Includes significant unique new features in scalability, replication, performance, NoSQL, operations, security. ● Available under the GPL v2. © SkySQL Ab. Company Confiden-al. MariaDB 10 Scalability: MySQL MariaDB ✘ ✔ Single in 10.0. Parallel Slave Replicaon threaded per database. ● Sponsored by Google. ● Allows slaves to process update events in parallel. ● Uses MariaDB 10’s improved Global Transaction ID (GTID). ● MariaDB unlike MySQL can process multiple updates for a single database in parallel. Much better throughput. ● Preliminary benchmarks: almost 10x faster at 12 threads. Improves scalability, reduces slave lag, making slaves more consistent. © SkySQL Ab. Company Confiden-al. Parallel Slave Benchmark sysbench OLTP single database slave tps relative to master © SkySQL Ab. Company Confiden-al. MariaDB 10 Scalability: MySQL MariaDB ✘ ✔ Multi-Source Replication in 10.0. Content Online E- Management Commerce System Application Master Master ● Collects data for S S S S S S S S analytics using built-in replication. Click-stream data Master ● Aids in administration S S S S example: consolidated backups of multiple databases. ● Uses MariaDB 10’s improved Global Transaction ID (GTID). Slave ETL Data Warehouse Easier analytics, more insight, simpler administration, fewer headaches. © SkySQL Ab. Company Confiden-al. Technology Preview MariaDB 10 Scalability: MySQL MariaDB ✘ ✔ Sharding with Spider optional 3rd in 10.0. party install ● Contributed by a 3rd party developer. Application ● Storage engine partitions large tables across multiple DBs. Spider ● No changes to the client application. Customers ● Developers aren’t aware, can keep A-H I-P applications simple. Q-Z ● Allows for more parallelism, scale-out. Shard 1 Shard 2 Shard 3 ● Transactional storage Customers Customers Customers engine. A-H I-P Q-Z Web-scale, without the development hassle. © SkySQL Ab. Company Confiden-al. MariaDB 10 Performance: MySQL MariaDB ✘ ✔ TokuDB Storage Engine optional 3rd in 10.0. party install ● 3rd party partner - TokuTek. ● Drop-in replacement for InnoDB/XtraDB. ● Advanced indexing and compression algorithms. ● Transactional. ● Up to 20x performance gain for inserts/updates. ● Up to 90% less disk storage. ● Online schema changes. ● Reduces or eliminates slave lag. ● Best when DB doesn’t fit in memory, and SSD longevity is important. © SkySQL Ab. Company Confiden-al. MariaDB 10 Performance: Op-mizer 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. Less I/O, CPU, memory requirements. Faster execution. © SkySQL Ab. Company Confiden-al. MariaDB 10 Performance: More Enhancements and Features ● Fusion-io Atomic Writes - improves performance on popular SSD hardware.✔ exclusive to MariaDB 10 ● XtraDB storage engine - enhanced from InnoDB. ● Improved InnoDB storage engine - based on MySQL 5.6. ● Performance schema - real-time performance management. ● Improved thread pool - better concurrent user performance.✔ exclusive to MariaDB 10 ● More optimizer improvements - higher efficiency in I/O accesses. ✔ exclusive to MariaDB 10 Faster performance, lower cost. © SkySQL Ab. Company Confiden-al. 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 © SkySQL Ab. Company Confiden-al. Technology Preview MariaDB 10 Interoperability: MySQL MariaDB CONNECT Storage Engine ✘ ✔ in 10.0. ● From 3rd party developer. Application ● Maps diverse data to tables. MariaDB Parser/Optimizer/Connection Pool ● JOIN mapped data Spi der to DB tables. CONNECT Other Engine Engines ● Flat files including CSV. ● Tables in external DBs. ● Generated tables (PIVOT etc.) .log CSV Database ● Plug-in API for your own mappings. XML Tables Powerful tool for data integration, federation. © SkySQL Ab. Company Confiden-al. Technology Preview MariaDB 10 Interoperability: MySQL MariaDB Cassandra Storage Engine ✘ ✔ in 10.0. ● Window into a Cassandra ring: Application read/write like a table in MariaDB. ● Use standard SQL queries. ● JOIN Cassandra data MariaDB Parser/Optimizer/ConnectionSpi Pool to MariaDB tables. der Cassandra Other Engine Engines ● Use a MariaDB cluster for high-availability access. ● Bring data from Cassandra into OLTP Database applications. Tables Interoperate with Cassandra. Use Cassandra data in OLTP applications. © SkySQL Ab. Company Confiden-al. MariaDB 10 NoSQL Features: MySQL MariaDB Dynamic Columns ✘ ✔ in 10.0. 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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    37 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us