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