Slide 1

Slide 1 text

MariaDB 10.2 Roadmap Rasmus Johansson

Slide 2

Slide 2 text

Pouring and flooding 15/10/2015 2 Mission 10.2 - Squad Shot Those stupid bugs think they can take us out with superior numbers. They should think again. https://www.flickr.com/photos/masked-builder/6176765530

Slide 3

Slide 3 text

Windowing functions • MDEV-6115, Window Functions as in the SQL standard • MDEV-8091, Simple Window Functions 15/10/2015 4 • Parser work close to finished • Looking at executions side • Look into re-using test cases from PostgreSQL • EXPLAIN JSON support

Slide 4

Slide 4 text

JSON • Virtual columns with functional indexes (i.e. generated columns like in 5.7) can be implemented within a couple of weeks • MySQL 5.7 uses non-standard function names • Suggestion use standard names when available, create UDF to match MySQL names • Come up with Usable JSON Test suite • Maybe more strictly typed than MySQL implementation • Possibility to choose between lax and or strict mode 15/10/2015 5

Slide 5

Slide 5 text

InnoDB in 5.7 Small changes in the interfaces • New durability declaration • New index pushdown interface • New thread interface • New thr cond, lock, mutex, rwlock interface • PSI interface changes • PFS interface changes • New XA interface • New THD functions • New class functions (ha_innobase, API change ?)

Slide 6

Slide 6 text

InnoDB in 5.7 continued • Changes on tablespaces • CREATE TEMPORARY TABLE ... DATA DIRECTORY={path} • CREATE TABLE ... DATA DIRECTORY={path} TABLESPACE={name}... • MERGE_THRESHOLD= // New SQL • ALTER TABLESPACE // New SQL-clause • New structures for create table/alter tablespace • GIS indexes • Index concurrency improvements

Slide 7

Slide 7 text

Related in 5.7 • Performance Schema changes • Virtual Indexes • Indexes on non-persistent virtual columns • Optimizer pattern recognition to match expression in the WHERE clause against indexes in virtual columns

Slide 8

Slide 8 text

Replication • Semi-sync replication • Galera 4.0 + other improvements • Critical cloud deployment • Google patches (GTID indexing, “no slave left behind”) • Tools for automating failover (Shlomi’s orchestrator) • Crash-safety with log position • MariaDB replication in Performance Schema • Rollback binlog to certain time in history 15/10/2015 9

Slide 9

Slide 9 text

Encryption • Support for key management systems • Support for backup systems 10

Slide 10

Slide 10 text

Security • Kerberos plugin (maybe for 10.1) • Expiration of user passwords (MDEV-7597) • Block user accounts after failed login attempts (MDEV-7598) • Encryption enhancements • Key management

Slide 11

Slide 11 text

Packaging • Better documentation for build packages on your own • Interoperability between MySQL, MariaDB and Percona server • Configuration and data separation • Use one packaging system to generate all packages • Can Cpack be used for all packages?

Slide 12

Slide 12 text

Storage Engines • Spider • RocksDB • ScaleDB Storage Engines Change to API: • Query fragment push down, server side part and then another part in the storage engines that want to use it. • Remote storage engines like FederatedX, Connect, Spider will get performance boost • https://dev.mysql.com/worklog/task/?id=4292

Slide 13

Slide 13 text

Storage Engines • Spider • RocksDB • ScaleDB Storage Engines • Spider • Cassandra (disable from compiling)

Slide 14

Slide 14 text

Connector requirements for server 1. Binary protocol / Prepared Statements a) Batch update b) Prepare & Execute (prepare the placeholders for the values (?) ) c) Option to return resultset only once (now returned twice or more) 2. Support for native Windows SSL (SChannel)

Slide 15

Slide 15 text

MaxScale issues for server • A user has to be created twice • Once for her actual host: ‘user’@’user_host’ • Once for the Maxscale host: ‘user’@’maxscale_host’ • Grants have to be given to both identities. • Double parsing of queries • Passing of parsetree to server

Slide 16

Slide 16 text

17