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

What's hot (20)

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

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

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

More from MariaDB plc (20)

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

Recently uploaded (20)

PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 

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