SlideShare a Scribd company logo
MARIADB
What’s New
Max Mether
VP MariaDB Server PM
MariaDB Corporation
MariaDB Platform X3
MariaDB TX
MariaDB Server
MariaDB MaxScale
InnoDB/MyRocks
MariaDB AX
MariaDB Server
MariaDB MaxScale
ColumnStore
App/dev
MariaDB
TX
BI/data science
MariaDB
AX
MariaDB TX 3.0
MariaDB Server 10.3
MariaDB MaxScale 2.2
InnoDB/MyRocks
MariaDB AX 2.0
MariaDB Server 10.2
MariaDB MaxScale 2.2
ColumnStore 1.2
MariaDB Platform X3
MariaDB MaxScale 2.3
MariaDB Server 10.3
InnoDB/MyRocks
MariaDB Server 10.3
ColumnStore 1.3
Applications
Containers
MariaDB Platform X3
MariaDB MaxScale 2.3
CDC
MariaDB Server 10.3
InnoDB/MyRocks
MariaDB Server 10.3
ColumnStore 1.3
Transactional Analytical
Kubernetes (Helm) Docker (Compose)
C JDBC ODBC Node.js
Ingest streaming data
Kafka connector
Administration
SQL Diagnostic
Manager
SQLyog
MariaDB Backup
MariaDB Flashback
Import bulk data
Spark connector
C/Java/Python API
MariaDB Server
(Spider)
Application
Connection 1
MariaDB
Server 1
Row storage
MariaDB
Server 2
Row storage
MariaDB
Server n
Row storage
MariaDB Server
(ColumnStore)
CS node 1
Columnar
storage
CS node 2
Columnar
storage
CS node n
Columnar
storage
Sharding Distributed storage
MariaDB
MaxScale
Transactional Analytical
MariaDB Server 10.4
MariaDB Server 10.4
Performance Security Temporal High Availability
WHAT WE’RE FOCUSING ON
1. New Instant operations to speed up altering tables
for InnoDB
2. Enhancing the security features in regards to
a. User Accounts
b. Data-at-Rest
3. Implement the next level for working with temporal
tables
4. Setting the ground for providing more features for
MariaDB Cluster
5. Better Backup
Instant Schema
Changes
For InnoDB
Performance Security Temporal
High
AvailabilityPerformance
Overview
● Instant operations for altering tables
○ Speed up operations
○ Lower storage space requirements for ALTER TABLE
operations
● Adding columns including reordering
● Drop columns
● reorder columns
○ FIRST, LAST, AFTER
● Instant charset and collation changes
● Increasing maximum column length for VARCHAR
Instant ALTER TABLE
set alter_algorithm=instant;
| ALGORITHM = INSTANT
● Can also added directly to the query
● The algorithm INSTANT results in an error, if
○ The table would need a full copy
○ Data would be partially copied
○ Data would need to be read
Assure an Instant Operation
Instant ALTER TABLE
Adding Columns
| ADD [COLUMN] [IF NOT EXISTS] col_name column_definition
[FIRST | AFTER col_name ]
| ADD [COLUMN] [IF NOT EXISTS] (col_name column_definition,...)
● In MariaDB Server 10.3 a column needs to be added as the last column
MariaDB [10.3]> alter table t1 add column mychar3 char(2) FIRST;
ERROR 1845 (0A000): ALGORITHM=INSTANT is not supported for this operation. Try
ALGORITHM=INPLACE
Instant ALTER TABLE
Changing Column Order
| CHANGE [COLUMN] [IF EXISTS] old_col_name new_col_name column_definition
[FIRST|AFTER col_name]
● With MariaDB 10.4 FIRST / AFTER are supported as instant operation
○ Data type and size cannot be changed
Instant ALTER TABLE
Changing Column Order
| MODIFY [COLUMN] [IF EXISTS] col_name column_definition
[FIRST | AFTER col_name]
● Instant if
○ Data type and size does not change
Instant ALTER TABLE
Dropping a Column
| DROP [COLUMN] [IF EXISTS] col_name [RESTRICT|CASCADE]
● Instant removal of a column
INSTANT ALTER TABLE
Increasing column length for VARCHAR
ALTER TABLE t1 CHANGE f1 f1 VARCHAR(256), alter_algorithm=instant;
ALTER TABLE t1 MODIFY f1 VARCHAT(256), alter_algorithm=instant;
● Depends on the used InnoDB row format
○ Default is DYNAMIC
● Any extension of VARCHAR from ≤127 bytes
● Unlimited if ROW_RORMAT=REDUNDANT
Optimizer
Performance Security Temporal
High
AvailabilityPerformance
Overview
● New Optimizer defaults
● Optimizer Trace
○ JSON object recording the execution path through the
optimizer
● Condition push down
○ into materialized IN subqueries
○ From HAVING into WHERE
● Histograms based on random row samples
● In-memory primary key / rowid filters
New Optimizer Defaults
● Make use of histogram information and engine independent table statistics by
default
○ Condition Selectivity
■ Use selectivity of all range predicates estimated with histogram
○ Use engine independent table statistics (EITS)
○ Build histograms when collecting EITS
● Auto-size for the join buffer
● Use index statistics (cardinality) instead of records_in_range for large IN-lists
Optimizer Trace
● JSON object recording execution
path
○ Understand why the optimizer is
choosing a path
mariadb> set optimizer_trace=1;
mariadb> <query>;
mariadb> select * from
information_schema.optimizer_trace;
{
"steps": [
{
"join_preparation": {
"select#": 1,
"steps": [
{
"expanded_query": "/* select#1 */ select
`t1`.`col1` AS `col1`,`t1`.`col2` AS `col2` from `t1`
where (`t1`.`col1` < 4)"
}
]
}
},
{
"join_optimization": {
"select#": 1,
"steps": [
{
"condition_processing": {
"condition": "WHERE",
"original_condition": "(`t1`.`col1` < 4)",
...
Security
Performance Security Temporal
High
Availability
Security
Overview
● Enhanced Authentication and Privilege System
● Improvements for Data-at-Rest
● Enhancements to Security Maintenance
For MariaDB Enterprise Server
● Audit Plugin Enhancements*
● Galera Data-at-Rest encryption for Gcache*
Enhanced Authentication / Privilege System
● Password Expiration
○ To fulfill enhanced security requirements
● Disable User Accounts via SQL
○ Allows to temporarily lock an account
● SET PASSWORD statement
○ Simplifies changing a password
● Enable authentication via unix_socket by default
○ mysql_secure_installation will ask for setup unix_socket based authentication
● Multiple Authentication Methods per User
○ Allows to verify a user internally if an external authentication is currently not available
● Block user accounts after a number of failed login attempts
Improvements for Data-at-Rest
● Key rotation now also for the InnoDB Redo Log
○ It was a limitation for the redo log that key rotation was not possible
● Full Data-at-Rest Encryption also for MariaDB Cluster (Enterprise Feature)
○ The Galera Cluster Gcache (IST Transaction Log) is now encrypted
○ Encryption enabled by using binary log Data-at-Rest encryption
● Spatial Index for InnoDB is now providing Data-at-Rest encryption
Enhancements to Security Maintenance
● Dynamic loading of SSL certificates
○ SSL certificates can be reloaded without a server restart
○ Certificate revocation list (CRL) reload
● Server log includes information about ignored passwords
○ Passwords are ignored if external authentication is used
● New format for the user table for future enhancements
Audit Plugin Enhancements
● Enhanced internal API
○ When writing a plugin, more information is available
● Enterprise Audit Plugin
○ Flexible User based filter definition for auditing
■ Auditing requirements for human users and application users can be different
○ Filters and templates defined in system tables
○ Auditing configuration options and changes can be logged
○ Connections can be filtered
Temporal
Application-Time Period
Tables
Performance Security Temporal
High
Availability
Temporal
Overview
● MariaDB Server 10.3 introduced System Versioned
Tables
○ Tracking data changes based on “system time of
change”
○ Special requirement for auditing
● NEW: Application-Time Period Tables
○ Tracking data changes based on the time, a change is
valid for
○ Application controlled timestamps
○ Limitation: The option WITHOUT OVERLAPS is not
yet supported
Compare Type of Temporal
● Time of change by system time
● Forensic analysis & legal
requirements
○ Store data for N years.
● Data analytics (retrospective,
trends etc.)
● Point-in-time recovery - recover
as of particular point in time
System Versioned
● Valid time period defined
by application
● Insurance Applications
● Banking (transfer limit, ...)
● whenever data has to be valid
for a given start and end date
“period of interest”
Application-Time Period Tables
Bitemporal
Application-Time Period + System Versioned
Tables
combined in one Table
Application-Time Period Tables
● With Application-Time Period Tables the timestamps of the period are defined
by the user/application
○ Period of validity defined and changed by INSERT, UPDATE
acc_num Start End maxTrans
1234 2010-01-01 2011-11-12 5000
acc_num Start End maxTrans
1234 2010-01-01 2011-11-12 5000
1234 2011-02-03 2011-09-10 10000
1234 2011-09-10 2011-11-12 5000
UPDATE Emp
FOR PORTION OF accPeriod
FROM DATE '2011-02-03'
TO DATE '2011-09-10'
SET maxTrans = 10000
WHERE acc_num = 1234;
High Availability
Enhancements to
MariaDB Cluster
Performance Security Temporal
High
AvailabilityHigh
Availability
Overview
● MariaDB Cluster based on Galera Version 4
○ New Galera 4 based API in MariaDB Server will allow
further extensions
○ New Galara 4 Library
● Support of MariaDB group commits
● Streaming Replication for huge transactions
● Support of Instant Alter for InnoDB
● Rolling Upgrade from MariaDB Cluster 10.3 to 10.4
Support of MariaDB group commits
● MariaDB Server group commits allow parallel replication
○ Galera now also can gain advantage of the grouped transactions
● A group of transactions can be committed as a block
● Performance advantages where non-conflicting transactions exist
Streaming Replication
● Size of a transaction limited in MariaDB Cluster 10.3
● No limitation with streaming replication
○ Recommendation: Huge transactions still should be an exception
● Transaction replicated in fragments
Huge Transaction Support
Optimized Backup
Overview
● Optimized “FLUSH TABLES WITH READ LOCK” (FTWRL)
○ Instant FTWRL for not used tables
○ Second FTWRL for the rest of the tables when not used anymore
● Implementation of backup stages
○ Engine aware locking methods
● BACKUP LOCK statement
○ Meta lock on a table to block DDL
○ Allows consistent copy of dependent files
● Enterprise Backup tool to create consistent backups while minimizing needed
locks
○ DDL allowed to execute in parallel
○ Locking minimized for all engine
And even more ...
Overview
● Crash safe system tables by using Aria
● Validation for field type JSON
○ The JSON_VALID constraint will be added by default
● Unique indexes are now available also for blobs
● Support of brackets (parentheses) in
UNION/EXCEPT/INTERSECT
THANK YOU!

More Related Content

PDF
Deploying MariaDB for extreme scale
PDF
MariaDB Platform for hybrid transactional/analytical workloads
PDF
MariaDB ColumnStore
PDF
How to migrate from Oracle Database with ease
PDF
Optimizing MariaDB for maximum performance
PDF
Understanding the architecture of MariaDB ColumnStore
PDF
What’s new in Galera 4
PPTX
Writing powerful stored procedures in PL/SQL
Deploying MariaDB for extreme scale
MariaDB Platform for hybrid transactional/analytical workloads
MariaDB ColumnStore
How to migrate from Oracle Database with ease
Optimizing MariaDB for maximum performance
Understanding the architecture of MariaDB ColumnStore
What’s new in Galera 4
Writing powerful stored procedures in PL/SQL

What's hot (20)

PDF
How QBerg scaled to store data longer, query it faster
PDF
Configuring workload-based storage and topologies
PDF
Extending MariaDB with user-defined functions
PDF
Auto Europe's ongoing journey with MariaDB and open source
PDF
Choosing the right high availability strategy
PDF
How THINQ runs both transactions and analytics at scale
PPTX
M|18 How DBAs at TradingScreen Make Life Easier With Automation
PPTX
Getting the most out of MariaDB MaxScale
PPTX
M|18 Analyzing Data with the MariaDB AX Platform
PDF
How MariaDB is approaching DBaaS
PPTX
How we switched to columnar at SpendHQ
PDF
Global Data Replication with Galera for Ansell Guardian®
PDF
MariaDB Server Performance Tuning & Optimization
PDF
Using Pentaho with MariaDB ColumnStore
PDF
What to expect from MariaDB Platform X5, part 1
PDF
Transparent sharding with Spider: what's new and getting started
PDF
What’s new in MariaDB ColumnStore
PDF
Introduction of MariaDB 2017 09
PDF
MariaDB Performance Tuning and Optimization
PPTX
M|18 Scalability via Expendable Resources: Containers at BlaBlaCar
How QBerg scaled to store data longer, query it faster
Configuring workload-based storage and topologies
Extending MariaDB with user-defined functions
Auto Europe's ongoing journey with MariaDB and open source
Choosing the right high availability strategy
How THINQ runs both transactions and analytics at scale
M|18 How DBAs at TradingScreen Make Life Easier With Automation
Getting the most out of MariaDB MaxScale
M|18 Analyzing Data with the MariaDB AX Platform
How MariaDB is approaching DBaaS
How we switched to columnar at SpendHQ
Global Data Replication with Galera for Ansell Guardian®
MariaDB Server Performance Tuning & Optimization
Using Pentaho with MariaDB ColumnStore
What to expect from MariaDB Platform X5, part 1
Transparent sharding with Spider: what's new and getting started
What’s new in MariaDB ColumnStore
Introduction of MariaDB 2017 09
MariaDB Performance Tuning and Optimization
M|18 Scalability via Expendable Resources: Containers at BlaBlaCar
Ad

Similar to What's new in MariaDB Platform X3 (20)

PDF
Big Data Analytics with MariaDB ColumnStore
PDF
MariaDB Amsterdam Roadshow: 19 September, 2024
PDF
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
PDF
Die Neuheiten in MariaDB Enterprise Server
PDF
Migrations from PLSQL and Transact-SQL - m18
PDF
M|18 Migrating from Oracle and Handling PL/SQL Stored Procedures
PDF
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
PDF
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
PDF
Les fonctionnalites mariadb
PDF
Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...
PPTX
Data Con LA 2019 - Hybrid Transactional Analytical Processing (HTAP) with Mar...
PDF
Argus Production Monitoring at Salesforce
PDF
Argus Production Monitoring at Salesforce
PDF
MariaDB Optimizer
PDF
Improving Transactional Applications with Analytics
PDF
PostgreSQL 9.5 - Major Features
PDF
London Redshift Meetup - July 2017
PDF
MariaDB for the Enterprise
PDF
MariaDB Paris Workshop 2023 - Performance Optimization
PDF
What is new in PostgreSQL 14?
Big Data Analytics with MariaDB ColumnStore
MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise Server
Migrations from PLSQL and Transact-SQL - m18
M|18 Migrating from Oracle and Handling PL/SQL Stored Procedures
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
Les fonctionnalites mariadb
Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...
Data Con LA 2019 - Hybrid Transactional Analytical Processing (HTAP) with Mar...
Argus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce
MariaDB Optimizer
Improving Transactional Applications with Analytics
PostgreSQL 9.5 - Major Features
London Redshift Meetup - July 2017
MariaDB for the Enterprise
MariaDB Paris Workshop 2023 - Performance Optimization
What is new in PostgreSQL 14?
Ad

More from MariaDB plc (20)

PDF
MariaDB Berlin Roadshow Slides - 8 April 2025
PDF
MariaDB München Roadshow - 24 September, 2024
PDF
MariaDB Paris Roadshow - 19 September 2024
PDF
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
PDF
MariaDB Paris Workshop 2023 - Newpharma
PDF
MariaDB Paris Workshop 2023 - Cloud
PDF
MariaDB Paris Workshop 2023 - MariaDB Enterprise
PDF
MariaDB Paris Workshop 2023 - MaxScale
PDF
MariaDB Paris Workshop 2023 - novadys presentation
PDF
MariaDB Paris Workshop 2023 - DARVA presentation
PDF
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
PDF
Einführung : MariaDB Tech und Business Update Hamburg 2023
PDF
Hochverfügbarkeitslösungen mit MariaDB
PDF
Introducing workload analysis
PDF
Under the hood: SkySQL monitoring
PDF
Introducing the R2DBC async Java connector
PDF
MariaDB Enterprise Tools introduction
PDF
Faster, better, stronger: The new InnoDB
PDF
The architecture of SkySQL
PDF
What to expect from MariaDB Platform X5, part 2
MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB München Roadshow - 24 September, 2024
MariaDB Paris Roadshow - 19 September 2024
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
Einführung : MariaDB Tech und Business Update Hamburg 2023
Hochverfügbarkeitslösungen mit MariaDB
Introducing workload analysis
Under the hood: SkySQL monitoring
Introducing the R2DBC async Java connector
MariaDB Enterprise Tools introduction
Faster, better, stronger: The new InnoDB
The architecture of SkySQL
What to expect from MariaDB Platform X5, part 2

Recently uploaded (20)

PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Essential Infomation Tech presentation.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Nekopoi APK 2025 free lastest update
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Digital Strategies for Manufacturing Companies
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
ai tools demonstartion for schools and inter college
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
How Creative Agencies Leverage Project Management Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Reimagine Home Health with the Power of Agentic AI​
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Essential Infomation Tech presentation.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Navsoft: AI-Powered Business Solutions & Custom Software Development
Nekopoi APK 2025 free lastest update
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Softaken Excel to vCard Converter Software.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
VVF-Customer-Presentation2025-Ver1.9.pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Digital Strategies for Manufacturing Companies
How to Choose the Right IT Partner for Your Business in Malaysia
Odoo POS Development Services by CandidRoot Solutions
ai tools demonstartion for schools and inter college
wealthsignaloriginal-com-DS-text-... (1).pdf

What's new in MariaDB Platform X3

  • 1. MARIADB What’s New Max Mether VP MariaDB Server PM MariaDB Corporation
  • 3. MariaDB TX MariaDB Server MariaDB MaxScale InnoDB/MyRocks MariaDB AX MariaDB Server MariaDB MaxScale ColumnStore App/dev MariaDB TX BI/data science MariaDB AX
  • 4. MariaDB TX 3.0 MariaDB Server 10.3 MariaDB MaxScale 2.2 InnoDB/MyRocks MariaDB AX 2.0 MariaDB Server 10.2 MariaDB MaxScale 2.2 ColumnStore 1.2 MariaDB Platform X3 MariaDB MaxScale 2.3 MariaDB Server 10.3 InnoDB/MyRocks MariaDB Server 10.3 ColumnStore 1.3
  • 5. Applications Containers MariaDB Platform X3 MariaDB MaxScale 2.3 CDC MariaDB Server 10.3 InnoDB/MyRocks MariaDB Server 10.3 ColumnStore 1.3 Transactional Analytical Kubernetes (Helm) Docker (Compose) C JDBC ODBC Node.js Ingest streaming data Kafka connector Administration SQL Diagnostic Manager SQLyog MariaDB Backup MariaDB Flashback Import bulk data Spark connector C/Java/Python API
  • 6. MariaDB Server (Spider) Application Connection 1 MariaDB Server 1 Row storage MariaDB Server 2 Row storage MariaDB Server n Row storage MariaDB Server (ColumnStore) CS node 1 Columnar storage CS node 2 Columnar storage CS node n Columnar storage Sharding Distributed storage MariaDB MaxScale Transactional Analytical
  • 8. MariaDB Server 10.4 Performance Security Temporal High Availability
  • 9. WHAT WE’RE FOCUSING ON 1. New Instant operations to speed up altering tables for InnoDB 2. Enhancing the security features in regards to a. User Accounts b. Data-at-Rest 3. Implement the next level for working with temporal tables 4. Setting the ground for providing more features for MariaDB Cluster 5. Better Backup
  • 10. Instant Schema Changes For InnoDB Performance Security Temporal High AvailabilityPerformance
  • 11. Overview ● Instant operations for altering tables ○ Speed up operations ○ Lower storage space requirements for ALTER TABLE operations ● Adding columns including reordering ● Drop columns ● reorder columns ○ FIRST, LAST, AFTER ● Instant charset and collation changes ● Increasing maximum column length for VARCHAR
  • 12. Instant ALTER TABLE set alter_algorithm=instant; | ALGORITHM = INSTANT ● Can also added directly to the query ● The algorithm INSTANT results in an error, if ○ The table would need a full copy ○ Data would be partially copied ○ Data would need to be read Assure an Instant Operation
  • 13. Instant ALTER TABLE Adding Columns | ADD [COLUMN] [IF NOT EXISTS] col_name column_definition [FIRST | AFTER col_name ] | ADD [COLUMN] [IF NOT EXISTS] (col_name column_definition,...) ● In MariaDB Server 10.3 a column needs to be added as the last column MariaDB [10.3]> alter table t1 add column mychar3 char(2) FIRST; ERROR 1845 (0A000): ALGORITHM=INSTANT is not supported for this operation. Try ALGORITHM=INPLACE
  • 14. Instant ALTER TABLE Changing Column Order | CHANGE [COLUMN] [IF EXISTS] old_col_name new_col_name column_definition [FIRST|AFTER col_name] ● With MariaDB 10.4 FIRST / AFTER are supported as instant operation ○ Data type and size cannot be changed
  • 15. Instant ALTER TABLE Changing Column Order | MODIFY [COLUMN] [IF EXISTS] col_name column_definition [FIRST | AFTER col_name] ● Instant if ○ Data type and size does not change
  • 16. Instant ALTER TABLE Dropping a Column | DROP [COLUMN] [IF EXISTS] col_name [RESTRICT|CASCADE] ● Instant removal of a column
  • 17. INSTANT ALTER TABLE Increasing column length for VARCHAR ALTER TABLE t1 CHANGE f1 f1 VARCHAR(256), alter_algorithm=instant; ALTER TABLE t1 MODIFY f1 VARCHAT(256), alter_algorithm=instant; ● Depends on the used InnoDB row format ○ Default is DYNAMIC ● Any extension of VARCHAR from ≤127 bytes ● Unlimited if ROW_RORMAT=REDUNDANT
  • 19. Overview ● New Optimizer defaults ● Optimizer Trace ○ JSON object recording the execution path through the optimizer ● Condition push down ○ into materialized IN subqueries ○ From HAVING into WHERE ● Histograms based on random row samples ● In-memory primary key / rowid filters
  • 20. New Optimizer Defaults ● Make use of histogram information and engine independent table statistics by default ○ Condition Selectivity ■ Use selectivity of all range predicates estimated with histogram ○ Use engine independent table statistics (EITS) ○ Build histograms when collecting EITS ● Auto-size for the join buffer ● Use index statistics (cardinality) instead of records_in_range for large IN-lists
  • 21. Optimizer Trace ● JSON object recording execution path ○ Understand why the optimizer is choosing a path mariadb> set optimizer_trace=1; mariadb> <query>; mariadb> select * from information_schema.optimizer_trace; { "steps": [ { "join_preparation": { "select#": 1, "steps": [ { "expanded_query": "/* select#1 */ select `t1`.`col1` AS `col1`,`t1`.`col2` AS `col2` from `t1` where (`t1`.`col1` < 4)" } ] } }, { "join_optimization": { "select#": 1, "steps": [ { "condition_processing": { "condition": "WHERE", "original_condition": "(`t1`.`col1` < 4)", ...
  • 23. Overview ● Enhanced Authentication and Privilege System ● Improvements for Data-at-Rest ● Enhancements to Security Maintenance For MariaDB Enterprise Server ● Audit Plugin Enhancements* ● Galera Data-at-Rest encryption for Gcache*
  • 24. Enhanced Authentication / Privilege System ● Password Expiration ○ To fulfill enhanced security requirements ● Disable User Accounts via SQL ○ Allows to temporarily lock an account ● SET PASSWORD statement ○ Simplifies changing a password ● Enable authentication via unix_socket by default ○ mysql_secure_installation will ask for setup unix_socket based authentication ● Multiple Authentication Methods per User ○ Allows to verify a user internally if an external authentication is currently not available ● Block user accounts after a number of failed login attempts
  • 25. Improvements for Data-at-Rest ● Key rotation now also for the InnoDB Redo Log ○ It was a limitation for the redo log that key rotation was not possible ● Full Data-at-Rest Encryption also for MariaDB Cluster (Enterprise Feature) ○ The Galera Cluster Gcache (IST Transaction Log) is now encrypted ○ Encryption enabled by using binary log Data-at-Rest encryption ● Spatial Index for InnoDB is now providing Data-at-Rest encryption
  • 26. Enhancements to Security Maintenance ● Dynamic loading of SSL certificates ○ SSL certificates can be reloaded without a server restart ○ Certificate revocation list (CRL) reload ● Server log includes information about ignored passwords ○ Passwords are ignored if external authentication is used ● New format for the user table for future enhancements
  • 27. Audit Plugin Enhancements ● Enhanced internal API ○ When writing a plugin, more information is available ● Enterprise Audit Plugin ○ Flexible User based filter definition for auditing ■ Auditing requirements for human users and application users can be different ○ Filters and templates defined in system tables ○ Auditing configuration options and changes can be logged ○ Connections can be filtered
  • 29. Overview ● MariaDB Server 10.3 introduced System Versioned Tables ○ Tracking data changes based on “system time of change” ○ Special requirement for auditing ● NEW: Application-Time Period Tables ○ Tracking data changes based on the time, a change is valid for ○ Application controlled timestamps ○ Limitation: The option WITHOUT OVERLAPS is not yet supported
  • 30. Compare Type of Temporal ● Time of change by system time ● Forensic analysis & legal requirements ○ Store data for N years. ● Data analytics (retrospective, trends etc.) ● Point-in-time recovery - recover as of particular point in time System Versioned ● Valid time period defined by application ● Insurance Applications ● Banking (transfer limit, ...) ● whenever data has to be valid for a given start and end date “period of interest” Application-Time Period Tables
  • 31. Bitemporal Application-Time Period + System Versioned Tables combined in one Table
  • 32. Application-Time Period Tables ● With Application-Time Period Tables the timestamps of the period are defined by the user/application ○ Period of validity defined and changed by INSERT, UPDATE acc_num Start End maxTrans 1234 2010-01-01 2011-11-12 5000 acc_num Start End maxTrans 1234 2010-01-01 2011-11-12 5000 1234 2011-02-03 2011-09-10 10000 1234 2011-09-10 2011-11-12 5000 UPDATE Emp FOR PORTION OF accPeriod FROM DATE '2011-02-03' TO DATE '2011-09-10' SET maxTrans = 10000 WHERE acc_num = 1234;
  • 33. High Availability Enhancements to MariaDB Cluster Performance Security Temporal High AvailabilityHigh Availability
  • 34. Overview ● MariaDB Cluster based on Galera Version 4 ○ New Galera 4 based API in MariaDB Server will allow further extensions ○ New Galara 4 Library ● Support of MariaDB group commits ● Streaming Replication for huge transactions ● Support of Instant Alter for InnoDB ● Rolling Upgrade from MariaDB Cluster 10.3 to 10.4
  • 35. Support of MariaDB group commits ● MariaDB Server group commits allow parallel replication ○ Galera now also can gain advantage of the grouped transactions ● A group of transactions can be committed as a block ● Performance advantages where non-conflicting transactions exist
  • 36. Streaming Replication ● Size of a transaction limited in MariaDB Cluster 10.3 ● No limitation with streaming replication ○ Recommendation: Huge transactions still should be an exception ● Transaction replicated in fragments Huge Transaction Support
  • 38. Overview ● Optimized “FLUSH TABLES WITH READ LOCK” (FTWRL) ○ Instant FTWRL for not used tables ○ Second FTWRL for the rest of the tables when not used anymore ● Implementation of backup stages ○ Engine aware locking methods ● BACKUP LOCK statement ○ Meta lock on a table to block DDL ○ Allows consistent copy of dependent files ● Enterprise Backup tool to create consistent backups while minimizing needed locks ○ DDL allowed to execute in parallel ○ Locking minimized for all engine
  • 40. Overview ● Crash safe system tables by using Aria ● Validation for field type JSON ○ The JSON_VALID constraint will be added by default ● Unique indexes are now available also for blobs ● Support of brackets (parentheses) in UNION/EXCEPT/INTERSECT