The New MariaDB Offering - MariaDB 10, MaxScale and more


Published on

The New MariaDB Offering - MariaDB 10, MaxScale and more by Rasmus Johansson, VP of Engineering

MariaDB 10
- Parallel Slave Replication
- Multi-Source Replication
- Sharding with Spider
- TokuDB Storage Engine
- Optimizer Improvements
- Fusion-IO compression with MariaDB
- CONNECT Storage Engine
- Cassandra Storage Engine
- Dyanmic Columns
- HandlerSocket Plugin
- SHOW EXPLAIN command
- Role-Based Access Control
- Audit Plugin 2.0
- MariaDB 10 Roadmap

Presented 10.6.2014 at the MariaDB Roadshow in Helsinki, Finland.

Published in: Software, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

The New MariaDB Offering - MariaDB 10, MaxScale and more

  1. 1. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   The  new  MariaDB  offering   MariaDB  10,  MaxScale,  and  more     Rasmus  Johansson,  VP  Engineering,  SkySQL   24/06/2014 1
  2. 2. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB  intro   24/06/2014 2
  3. 3. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   What  is  MariaDB?   •  A  free  fork  of  MySQL  with  extra  features   •  features,  requested  by  the  users     •  Backward  compa-ble   •  file  formats,  replica-on,  configura-on  files   •  aim  at  100%  drop-­‐in  replacement   •  Community  developed   •  50%  of  maria-­‐captains  are  from  the  community   •  no  hidden  agenda    
  4. 4. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Who’s  using  it?  
  5. 5. ©  SkySQL  Corpora-on  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   •  sources,  binaries  in  .tar.gz  or  .zip  (Windows)   •  Windows  MSI  installer   •  MariaDB  apt  and  yum  repositories    
  6. 6. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Before  MariaDB  10.0   •  MariaDB  5.1  –  17  releases  since  Oct  2009   •  Aria,  XtraDB,  PBXT,  FederatedX   •  table  elimina-on,  pool  of  threads,   •  MariaDB  5.2  –  15  releases  since  Apr  2010   •  OQGraph,  SphinxSE   •  virtual  columns,  pluggable  auth,  segmented  key  cache,  extended  sta-s-cs,   •  MariaDB  5.3  –  13  releases  since  July  2011   •  major  op-mizer  improvements   •  replica-on:  group  commit,  checksums   •  HandlerSocket,  dynamic  columns,  Windows  performance  improvements,   microsecond  support,  GIS  precise  opera-ons,  progress  repor-ng,  …  
  7. 7. ©  SkySQL  Corpora-on  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-miza-on   • dynamic  replicate_do_*,  replicate_ignore_*,   replicate_wild_*  variables  
  8. 8. ©  SkySQL  Corpora-on  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  
  9. 9. ©  SkySQL  Corpora-on  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):   • 25  ac-ve  branches   • 395  commits   24/06/2014 9 MariaDB is now on GitHub:
  10. 10. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Community  Contribu-ons   MariaDB  10.0  major  contribu-ons:   •  Per  thread  memory  coun-ng  and  usage   •  Base  code  and  idea  by  Lixun  Peng,   Taobao   •  Mul--­‐source  replica-on   •  Base  code  by  Lixun  Peng,  Taobao   •  GET_LOCK   •  Code  by  Konstan-n  "Kostja"  Osipov,   •  CONNECT  storage  engine   •  Code  by  Olivier  Bertrand   •  Spider  storage  engine  metadata_lock_info   Informa-on  schema   •  Code  by  Kentoku  Shiba,  Spiral  Arms   •  Roles   •  Code  by  Vicen-u  Ciorbaru,  Google   Summer  of  Code  2013   •  PCRE  Regular  Expressions   •  Code  by  Sudheera  Palihakkara,  Google   Summer  of  Code  2013   •  Global  Transac-on  IDs   •  Some  patches  by  Pavel  Ivanov,  Google     24/06/2014 10
  11. 11. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   Community  Ongoing  Dev  Projects   •  WebScaleSQL  patches   hpps://­‐6039   •  LevelDB/RocksDB  storage  engine  (persistent  key-­‐value   store  for  fast  storage)   hpps://­‐storage-­‐engine/     •  Fusion-­‐IO  page  compression   hpps://­‐performance-­‐ boost-­‐with-­‐new-­‐mariadb-­‐page-­‐compression-­‐on-­‐ fusionio/     •  Kerberos  authen-ca-on  plugin   hpps://­‐4691     •  Mroonga  storage  engine  (fast  fulltext  search)   hpps://­‐5222     •  Sta-s-cally  op-mize  mysql-­‐test  runs  by   running  less  tests,  Pablo  Estrada,  Google   Summer  of  Code   hpps:// MDEV-­‐5776     •  CREATE  OR  REPLACE,  CREATE  IF  NOT   EXISTS,  DROP  IF  EXISTS,  Sriram  Pa-l,   Google  Summer  of  Code   hpps:// MDEV-­‐5359     •  Self-­‐Tuning  Op-mizer,  Anshu  Avinash,   Google  Summer  of  Code   hpps:// MDEV-­‐350     •  Support  of  UseServerPrepStmts  to   MariaDB  Java  Connector,  Puneet  Dewan,   Google  Summer  of  Code   24/06/2014 11
  12. 12. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB  10.0  
  13. 13. ©  SkySQL  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.
  14. 14. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB  10  Scalability:   Parallel  Slave  Replica-on   ●  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. MySQL MariaDB ✘ Single threaded per database. ✔ in 10.0.
  15. 15. ©  SkySQL  Ab.  Company  Confiden-al.   Parallel  Slave  Benchmark   sysbench OLTP single database slave tps relative to master
  16. 16. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Scalability: Multi-Source Replication     ●  Collects data for
 analytics using
 built-in replication. ●  Aids in administration
 example: consolidated
 backups of multiple databases. ●  Uses MariaDB 10’s improved
 Global Transaction ID (GTID). Easier analytics, more insight,
 simpler administration, fewer headaches. Online E- Commerce Application Master S S S S Content Management System Click-stream data Data Warehouse Slave ETL Master S S S S Master S S S S MySQL MariaDB ✘ ✔ in 10.0.
  17. 17. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Scalability: Sharding with Spider   ●  Contributed by a 3rd party developer. ●  Storage engine partitions large tables
 across multiple DBs. ●  No changes to the client application. ●  Developers aren’t aware, can keep
 applications simple. ●  Allows for more
 parallelism, scale-out. ●  Transactional storage
 engine. Web-scale, without the development hassle. Application Customers A-H I-P Q-Z Spider Customers A-H Shard 1 Customers I-P Shard 2 Customers Q-Z Shard 3 MySQL MariaDB ✘ optional 3rd party install ✔ in 10.0. Technology Preview
  18. 18. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Performance: TokuDB Storage Engine ●  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. MySQL MariaDB ✘ optional 3rd party install ✔ in 10.0.
  19. 19. ©  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.
  20. 20. ©  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.
  21. 21. ©  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
  22. 22. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Interoperability: CONNECT Storage Engine   ●  From 3rd party developer. ●  Maps diverse data
 to tables. ●  JOIN mapped data
 to DB tables. ●  Flat files including CSV. ●  Tables in external DBs. ●  Generated tables
 (PIVOT etc.) ●  Plug-in API for your own mappings. Powerful tool for data integration, federation. Application Spi der MariaDB Parser/Optimizer/Connection Pool CONNECT Engine Other Engines MySQL MariaDB ✘ ✔ in 10.0. Technology Preview Database Tables .log XML CSV
  23. 23. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Interoperability: Cassandra Storage Engine ●  Window into a Cassandra ring:
 read/write like a table in MariaDB. ●  Use standard SQL queries. ●  JOIN Cassandra data
 to MariaDB tables. ●  Use a MariaDB cluster
 for high-availability
 access. ●  Bring data from
 Cassandra into OLTP
 applications. Interoperate with Cassandra.
 Use Cassandra data in OLTP applications. Application Spi der Database Tables MariaDB Parser/Optimizer/Connection Pool Cassandra Engine Other Engines MySQL MariaDB ✘ ✔ in 10.0. Technology Preview
  24. 24. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 NoSQL Features: Dynamic Columns ●  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 ... MySQL MariaDB ✘ ✔ in 10.0.
  25. 25. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 NoSQL Features: HandlerSocket Plugin ●  Simple, low-overhead
 API direct to the
 storage engine. ●  Bypasses SQL
 statement processing. ●  Less CPU, memory,
 I/O, network demands. ●  Batches requests for
 even less I/O operations. ●  Building block for application
 level NoSQL processing. Mix RDBMS applications with high performance NoSQL applications. Leverage MariaDB’s storage engine architecture for both. Transactional Application Database Tables NoSQL Application Spi der Connection Pool InnoDB/XtraDB and Spider Storage Engines SQL Interface Parser Optimizer HandlerSocket Plugin SQL Statements Simple CRUD API MySQL MariaDB ✘ ✔ in 10.0.
  26. 26. ©  SkySQL  Ab.  Company  Confiden-al.   Thread Time 27 .003761 28 34.2529 29 .000713 Why is this so slow? Lets find out… SHOW EXPLAIN FOR 28; ID select_type table possible_ keys rows 1 SIMPLE tbl NULL 1855174 Oh! Sequential scan of a 18M row table… no wonder! I’ll let the team know... MariaDB 10 Operations:
 SHOW EXPLAIN Command To: DevOps Team From: DBA Debby Subj. Slow Queries Hey guys, figured out those blocking queries. The new reservation app is looking for the shortest route but that column has no index - we need one! I’ll add it now. Debby MySQL MariaDB ✘ ✔ in 10.0. And it works in the slow query log too! Also for UPDATE and DELETE.
  27. 27. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Operations: More Enhancements and Features ●  Improved Table Discovery - less work for DBAs;
 integrates storage engines. ✔ exclusive to MariaDB 10 ●  SHOW PLUGINS SONAME - dynamic report on
 installed components. ✔ exclusive to MariaDB 10 ●  SHUTDOWN Command - apps can shutdown the database
 programmatically. ✔ exclusive to MariaDB 10 ●  Kill Query by Query ID - fix performance blocks . ●  Online ALTER TABLE - schema changes without downtime. ●  Per-thread Memory Statistics - easier tuning and problem diagnosis. ✔ exclusive to MariaDB 10 ●  Improved Error Messages - faster problem solving.✔ exclusive to MariaDB 10 Manage larger configurations with lower cost, less downtime.
  28. 28. ©  SkySQL  Ab.  Company  Confiden-al.   Database Tables MariaDB 10 Role: DBA Permissions: ●  Update Schema ●  View Statistics ●  Create Database DBA Developer Sysadmin MariaDB 10: Security:
 Role-Based Access Control MySQL MariaDB ✘ ✔ in 10.0.
  29. 29. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Security: More Enhancements and Features   ●  Audit Plugin - Identify and correct potential
 security breaches. Comply with auditability
 requirements. ✔ included with MariaDB 10, supported by SkySQL ●  PAM Authentication Module - delegate authentication
 to the popular Unix single-signon authentication API.✔ exclusive to MariaDB 10 Integrate the database with your security policies.
 Simplify administration and compliance.
  30. 30. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB Audit Plugin 2.0 Roadmap ●  Audit Plugin 1.1 includes table event logging such as triggers and stored procedure calls, unique to its integration with MariaDB. ●  Building on these capabilities, V2.0 of the Audit Plugin is planned to include: ○  Optional field substitution of placeholders in query logs to improve privacy and security. ○  Integration with MariaDB 10 Role-based Access Control - filtering audit logs by role. ○  Recording of privilege changes as audit-able events. ○  Log rotation. Confidential
  31. 31. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Roadmap 10.0.X  Releases  -­‐  updates  to  10.0  over  2014.   •  Merge  addi-onal  MySQL  5.6  changes.   •  Improvements  to  Fusion-­‐io  SSD  atomic  write  support.   •  More  thread  pool  improvements  including  Percona  enhancements.   •  SHOW  EXPLAIN  support  for  PARTITIONS  and  EXTENDED  apributes.   •  CONNECT  engine  improvements.   •  Perform  extensive  replica-on  tes-ng  between  MySQL  5.6  and  MariaDB  10.0  to   establish  a  more  complete  supportability  matrix.   •  Open  Query  Graph  (OQGRAPH)  engine  improvements.   •  Experimental  Mroonga  storage  engine  -­‐  full-­‐text  for  Asian  languages.   Confidential
  32. 32. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Roadmap 10.1.X  Preliminary  Major  Feature  List  (all  versions):   •  Integra-on  of  Galera  mul--­‐master  clusters  into  MariaDB   •  Switch  on/off  Galera  support  in  conf  file   •  Merged  features  from  MySQL,  Percona,  WebscaleSQL:   •  All  func-ons  visible  from  SQL  in  5.6.   •  Character  set  and  colla-on  changes.   •  default_tmp_storage_engine.   •  Op-mizer  features  including  semi-­‐joins+outer-­‐joins,  op-mizer  trace,  EXPLAIN  JSON,  EXPLAIN  FOR   CONNECTION.   •  Percona  features:  per-­‐query  variables,  userstat  improvements,  SHOW  ENGINE  INNODB  STATUS   improvements,  NUMA  improvements.   •  Selected  5.7  features:  UNION  ALL  without  temporary  tables,  mul-ple  triggers  on  table,  new  InnoDB,  new   Performance  Schema  instruments,  MDL  improvements,  mul-ple  triggers  per  table,  new  InnoDB/XtraDB.   •  Merge  WebscaleSQL  improvements  and  integrate  stress-­‐test.   •  Kerberos  authen-ca-on  support   •  GIS  improvements  -­‐  full  support  for  OGC  compliance   •  Windowing  func-ons   Confidential
  33. 33. ©  SkySQL  Ab.  Company  Confiden-al.   MariaDB 10 Roadmap 10.1.X  Preliminary  Major  Feature  List,  con-nued:   •  Performance  boosts:  thread  management,  16K  InnoDB  buffers,  remote  and  portable   tablespaces,  op-mizer  enhancements,  temporary  table  improvements,  InnoDB  persistent   auto-­‐increment,  query  -meouts.   •  Performance  tuning  Parallel  Replica-on  and  GTID,  row-­‐level  PR  enhancements,  slave   execu-on  of  triggers,  more  benchmarks.   •  Sesng  to  force  InnoDB  tables  to  have  a  primary  key.   •  Role-­‐based  access  control:  features  and  performance  improvements.   •  Progress  report  on  mysqldump   •  Memory  engine  varchar  and  BLOB  types   •  Community:  move  version  control  to  GitHub  (DONE).   Confidential
  34. 34. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB 10 Roadmap 10.1  and  following  -­‐  addi-onal   feature  ideas  under   inves-ga-on:   •  Transac-onal  DDL   •  Indexes  on  expressions   •  Field/Column  type  plug-­‐in   •  JSON/BSON   •  YAML   •  IPv6/IPv4   •  UUID   •  Own  datatype  for  Dynamic   Columns   Confidential •  More  storage  engines  and   interoperability  with  other   DBs  -­‐  poten-ally:   •  RocksDB/LevelDB   •  InfiniDB   •  MongoDB   •  Hadoop/HDFS   •  HBase/Honeycomb   •  Message  queues   •  Global  DDL  lock  
  35. 35. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB  Enterprise   24/06/2014 35
  36. 36. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB  Enterprise:  Integra-ng  the   Complete  Solu-on   36 MariaDB Enterprise Subscriptions DevOps Admin NoSQL
 Clustering Innovation Support Consulting Training RDBA Portal NRE Customer Care Partner Products
  37. 37. ©  SkySQL  Corpora-on  Ab.  Company  Confiden-al.   MariaDB  Enterprise:  What’s  In  A   Subscrip-on?     Benefit What you get beyond the core MariaDB server binaries Documentation Customer portal includes subscription-only material beyond KnowledgeBase. Connectors Tested by SkySQL, certified with ISVs. Product Roadmaps Roadmaps shared with subscribers, who have stronger influence on direction. Upgrades, Patches Subscribers receive proactive upgrade push, with release notes and advice. Helpdesk Support Subscribers receive consultative support and hot-fixes, beyond break/fix. Bundled Partner Tools Selected partner tools offered as part of subscription.