Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MariaDB roadmap session

MariaDB roadmap session

Discussion of things to possibly include in 10.2

Rasmus Johansson

October 15, 2015
Tweet

More Decks by Rasmus Johansson

Other Decks in Programming

Transcript

  1. MariaDB 10.2
    Roadmap
    Rasmus Johansson

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide