SlideShare a Scribd company logo
1 of 44
Download to read offline
What's New in
MariaDB Server 10.2
MaxScale 2.1
Max Mether
Field CTO
MariaDB Server 10.2
Summary - What’s New
Analytics SQL ● Window Functions
● Common Table Expressions (CTE)
JSON ● JSON Functions
● GeoJSON Functions
Replication ● Delayed Replication
● Restrict the speed of reading binlog from Master
● Compressed Binary Log
Database Compatibility ● Multi-Trigger Support
● CHECK Constraint Expression Support
● EXECUTE IMMEDIATE statement
● Support for DEFAULT with expressions
● DECIMAL increased from 30 to 38 digits
Storage Engine
Enhancements
● New Storage Engine MyRocks based on RocksDB from Facebook
● Enhancements from MySQL InnoDB 5.7
● Enable InnoDB NUMA interleave for InnoDB
Summary - What’s New
Security ● Per User Server Load Limitations
● Enforced TLS Connections
Administration ● New functions for User Management
● Enhanced Informations from EXPLAIN
● User defined variables added to Information Schema
● Binary Log based Flashback
Performance ● Enhanced Performance for creating Connections
● Indexes for Virtual Columns
● New Option to define a directory for InnoDB temporary files
Server-Internal
Optimisations
● Internal Use of MariaDB Connector/C
● Optimizer Enhancements
● Non-Locking ANALYZE TABLE
Other Enhancements ● Lifted limitations for Virtual Computed Columns
● Subquery-Support for Views
● Multiple Use of Temporary Tables in Query
Window Functions
• Window functions were introduced in SQL:2003. The
last expansion was in the latest version of the standard,
SQL:2011.
• A window function looks at “windows” of your data while
processing it, which improves the efficiency of query
execution.
• Identified by the OVER clause
• Window functions
–can help eliminate expensive subqueries
–can help eliminate self-joins
–make queries more readable
–make queries faster
More efficient and readable
queries, especially powerful
when analyzing data
Window Functions
Data Series Example
SELECT
time, value
FROM data_points
ORDER BY time;
Window Functions
Data Series Example
SELECT
time, value
FROM data_points
ORDER BY time;
SELECT
time, value,
avg(value) over (ORDER BY time
ROWS BETWEEN 6 PRECEDING
AND 6 FOLLOWING)
FROM data_points
ORDER BY time;
Window Functions
Data Series Example
SELECT timestamp, transaction_id, customer_id,
amount, (SELECT sum(amount)
FROM transactions AS t2
WHERE t2.customer_id = t1.customer_id AND
t2.timestamp <= t1.timestamp) AS
balance FROM transactions AS t1
ORDER BY customer_id, timestamp;
SELECT timestamp, transaction_id, customer_id, amount,
sum(amount) OVER (PARTITION BY customer_id
ORDER BY timestamp
ROWS BETWEEN UNBOUNDED
PRECEDING AND CURRENT ROW) AS balance
FROM transactions AS t1
ORDER BY customer_id, timestamp;
Query using Window
function
Query without
Window function
Window Functions
Example:
Given a set of bank
transactions,
compute the account balance
after each transaction
*Test done in a developer environment
#Rows Regular SQL
(seconds)
Regular SQL +
Index (seconds)
Window
Functions
(seconds)
10 000 0.29 0.01 0.02
100 000 2.91 0.09 0.16
1 000 000 29.1 2.86 3.04
10 000 000 346.3 90.97 43.17
100 000 000 4357.2 813.2 514.24
Window Functions
• ROWS and RANGE-type frames
• "Streamable" window functions:
ROW_NUMBER, RANK, DENSE_RANK
• Window functions that can be streamed once the
number of rows in partition is known:
PERCENT_RANK, CUME_DIST, NTILE
• Supported aggregate functions:
COUNT, SUM, AVG, BIT_OR, BIT_AND, BIT_XOR
– Aggregate functions with DISTINCT are not supported as
window functions.
Supported Functions
CTE
• A Common Table Expression is basically a temporary and
named result set, derived from a simple query
• Introduced in SQL:1999 and as CTEs
• A CTE
– is identified by a WITH clause
–Similar to derived tables in the FROM clause
–More expressive and provide cleaner code
–Can produce more efficient query plans
–Can be used with SELECT and EXPLAIN
–Can be recursive
Refer to a subquery
expression many times in a
query. A temporary table that
only exists for the duration of
a query.
Common Table Expression
Example
WITH sales_product_year AS (
SELECT
product,
year(ship_date) as year,
SUM(price) as total_amt
FROM
item_sales
GROUP BY
product, year
)
SELECT *
FROM
sales_product_year CUR,
sales_product_year PREV,
WHERE
CUR.product = PREV.product AND
CUR.year = PREV.year + 1 AND
CUR.total_amt > PREV.total_amt;
Use CTE
Define CTE
Common Table Expression
Recursive Example
WITH recursive sales_managers AS (
SELECT name, manager, roleName
FROM sales_hierarchy
WHERE manager IS NULL
UNION ALL
SELECT e.name, e.manager, e.roleName
FROM sales_hierarchy e
JOIN sales_managers m ON m.name = e.manager
)
SELECT * FROM sales_managers;
Use CTE
Define CTE
JSON
• MariaDB Server provides
– JSON functions which gives users the highest flexibility to
work with JSON based data
–stored in string based data types like VARCHAR.
• Storing JSON data in MariaDB Server is combining
relational data with the world of NoSQL
•MariaDB Server currently supports 24 JSON functions to
evaluate, query and modify JSON formatted strings
JSON- and GeoJSON
Functions for MariaDB
JSON Example
Working with JSON Data
CREATE TABLE jsontable (
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
jsonfield VARCHAR(1024),
CHECK (JSON_VALID(jsonfield)));
Field for JSON Data
Constraint to
validate JSON
format
JSON Example
Insert JSON Data
INSERT INTO jsontable (id,jsonfield) VALUES(NULL,
'{"category": "Software","product": "MaxScale",
"version": "2.0.0"}');
INSERT INTO jsontable (id,jsonfield) VALUES(NULL,
'{"category": "Service","service_type": "Training",
"class": "DBA"}');
SELECT * FROM jsontableG
******************* 1. row ***********************
id: 1
jsonfield: {"category": "Software","product":
"MaxScale", "version": "2.0.0"}
Insert like a string
JSON Example
Validating JSON Format
INSERT INTO jsontable (id,jsonfield) VALUES(NULL,
'{"category" - "Software","product": "MaxScale",
"version": "2.0.0"}');
ERROR 4025 (23000): CONSTRAINT `CONSTRAINT_1`
failed for `test`.`jsontable`
Insert non JSON
format
Validation
JSON_VALID fails
JSON Example
Working with JSON Data
SELECT * FROM jsontable
WHERE JSON_VALUE(jsonfield, '$.category') =
'Software';
+----+-------------------------------------------+
| id | jsonfield |
+----+-------------------------------------------+
| 1 | {"category": "Software","product":
"MaxScale", "version": "2.0.0"} |
+----+-------------------------------------------+
1 row in set (0.02 sec)
look for specific
value
Are JSON Queries efficient?
EXPLAIN SELECT * FROM jsontable WHERE
JSON_VALUE(jsonfield, '$.category') = 'Software' G
******************** 1. row **********************
id: 1
select_type: SIMPLE
table: jsontable
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 2
Extra: Using where
1 row in set (0.10 sec)
All Queries are full
table scans
Indexing through a Virtual Column
ALTER TABLE jsontable
ADD category VARCHAR(20) AS
(JSON_VALUE(jsonfield, '$.category'));
ALTER TABLE jsontable ADD INDEX(category);
Add a virtual column
Create index on
virtual column
Are the indexed Queries efficient?
EXPLAIN SELECT * FROM jsontable WHERE
JSON_VALUE(jsonfield, '$.category') = 'Software' G
******************** 1. row **********************
id: 1
select_type: SIMPLE
table: jsontable
type: ref
possible_keys: category
key: category
key_len: 23
ref: const
rows: 1
Extra: Using where
1 row in set (0.10 sec)
The index is being
used!!!
GeoJSON
• With MariaDB Server 10.2 GeoJSON functions have been
added to the existing functions used to work with spatial
data types, like POINT, LINESTRING, POLYGON
• ST_AsGeoJSON is used to convert a geometric data type
into a GeoJSON format
• ST_GeomFromGeoJSON is used to convert a GeoJSON
based description into a geometric format
• The GeoJSON format follows the open standard for
encoding geometric features - http://geojson.org
GeoJSON functions for
converting a geometry to a
GeoJSON element or vise
versa
New Replication
Features
• Delayed Replication
–allows specifying a slave to lag behind the master
–CHANGE MASTER TO master_delay=3600;
• Restrict the speed of reading binlog from Master
–The option read_binlog_speed_limit can be used to
restrict the speed to read the binlog from the master
–Reduces the load on the master when slaves need to
catch up
• Compressed Binary Log
–Reduced Binary Log size and network traffic
–Binary Log events are compressed on the master
–The slave IO thread is uncompressing them before writing
them into the Relay Log
–Compression is controlled by log_bin_compress and
log_bin_compress_min_len
New Replication Features
help to reduce load on Master,
disk space, network
bandwidth usage
Database
Compatibility
• Multi-Trigger Support per Type
• CHECK constraints allow data validation per column
• EXECUTE IMMEDIATE for dynamic SQL combines
prepare, execute and deallocate prepare into one
action
• DECIMAL increased from 30 to 38 digits
• Support of expressions for DEFAULT
Increased Database
Compatibility by reducing
limitation based workflows
can now be built based on
triggers
CHECK Constraints
Examples
CREATE TABLE t1 (a INT CHECK (a>2), b INT CHECK (b>2),
CONSTRAINT a_greater CHECK (a>b));
CREATE TABLE t2 (name VARCHAR(30) CHECK
(CHAR_LENGTH(name)>2), start_date DATE,
end_date DATE CHECK (start_date IS NULL OR end_date IS
NULL OR start_date<end_date));
CREATE TABLE jsontable (
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
jsonfield VARCHAR(1024),
category VARCHAR(20) as
(JSON_VALUE(jsonfield,'$.category')),
KEY jsonkey (category),
CHECK (JSON_VALID(jsonfield)));
Numeric constraints
and comparisons
Date comparisons and
character length
Validation by using
functions
Enhancements
from MySQL
InnoDB 5.7
• Indexes for spatial data types
• VARCHAR size can be increased using an in-place ALTER
TABLE, if the length stays between 0 and 255 or higher than
255
• improved DDL performance for InnoDB temporary tables
• InnoDB internal improvements and better control via
parameters
• On Fusion-io Non-Volatile Memory (NVM) file systems
the doublewrite buffer is automatically disabled for system
tablespace files
• Optimized crash recovery (tablespace discovery)
MySQL Server 5.7 has
introduced enhancements to
InnoDB, some selected
changes have been merged to
MariaDB Server
MyRocks Storage
Engine
•For workloads requiring higher compression and IO
efficiency
• Higher performance for web scale type applications
• LSM (Log-structured merge) architecture allows very
efficient data ingestion
• Extract of the available features
–Column Families
–Transactions and WriteBatchWithIndex
–Backup and Checkpoints
–Merge Operators
–Manual Compactions Run in Parallel with Automatic
Compactions
–Persistent Cache
–Bulk loading
–Delete files in range
–Pin iterator key/value
MyRocks in MariaDB,
compression and IO efficiency
based on Facebook’s
MyRocks.
Performance
Optimizations
• Enhanced Performance for creating Connections
– The way to create new connections has been optimized
– This is especially good for applications, which are
using non-persistent connections
• Indexes for Virtual Columns
– Before MariaDB Server 10.2 indexes could not be
defined for virtual columns
– With supporting indexes, virtual columns also can be
used efficiently for searching
• New Option to define a directory for InnoDB
temporary files
– By using a separate directory for InnoDB temporary
files separate disks and types of disks can be used,
which is reducing IO waits
Several changes have been
added to MariaDB Server to
improve Performance
New Security
Options
•Per User Server Load Limitations
–Limit to the number of queries, updates or
connections the user can place or make per hour.
–Limit to the number of simultaneous
connections that the user can hold
•Enforced TLS connections
–SSL/TLS encryption options have been introduced
for users, permitting only encrypted connections for a
user
–CREATE and ALTER USER now include the optional
parameters SSL, X509, ISSUER, SUBJECT, CIPHER
• Binary log file encryption
Security Syntax Enhancements
Examples
CREATE USER foo
WITH MAX_QUERIES_PER_HOUR 10
MAX_UPDATES_PER_HOUR 20
MAX_CONNECTIONS_PER_HOUR 30
MAX_USER_CONNECTIONS 40;
CREATE USER 'foo4'@'test'
REQUIRE ISSUER 'foo_issuer'
SUBJECT 'foo_subject'
CIPHER 'text;
Per User Server
Load Limitation
Enforced TLS
Connections
New options for
DBAs
• New functions for User Management
– ALTER USER
– SHOW CREATE USER
• Enhanced Informations from EXPLAIN
– EXPLAIN FORMAT=JSON for detailed
information on sort_key an outer_ref_condition
• User defined variables added to Information Schema
– Information schema plugin to report all user defined
variables via the Information Schema
USER_VARIABLES Table
• Binary Log based Flashback
– The MariaDB Flashback feature allows DBAs to roll
back instances, databases or tables to a given
timestamp
Summary - What’s New
Analytics SQL ● Window Functions
● Common Table Expressions (CTE)
JSON ● JSON Functions
● GeoJSON Functions
Replication ● Delayed Replication
● Restrict the speed of reading binlog from Master
● Compressed Binary Log
Database Compatibility ● Multi-Trigger Support
● CHECK Constraint Expression Support
● EXECUTE IMMEDIATE statement
● Support for DEFAULT with expressions
● DECIMAL increased from 30 to 38 digits
Storage Engine
Enhancements
● New Storage Engine MyRocks based on RocksDB from Facebook
● Enhancements from MySQL InnoDB 5.7
● Enable InnoDB NUMA interleave for InnoDB
Summary - What’s New
Security ● Per User Server Load Limitations
● Enforced TLS Connections
Administration ● New functions for User Management
● Enhanced Informations from EXPLAIN
● User defined variables added to Information Schema
● Binary Log based Flashback
Performance ● Enhanced Performance for creating Connections
● Indexes for Virtual Columns
● New Option to define a directory for InnoDB temporary files
Server-Internal
Optimisations
● Internal Use of MariaDB Connector/C
● Optimizer Enhancements
● Non-Locking ANALYZE TABLE
Other Enhancements ● Lifted limitations for Virtual Computed Columns
● Subquery-Support for Views
● Multiple Use of Temporary Tables in Query
MariaDB Server 10.3
• Sequences & PL/SQL
• System Versioned Tables
– As Of (Point in Time Querying)
• User-defined Aggregate Functions
• Intersect & Except
• Hidden Columns
What’s New in MariaDB
MaxScale 2.1
What is new in MariaDB MaxScale 2.1 ?
• Performance
– Up to 2.8x improvement over MaxScale 2.0
• Security
– Encrypted binlog server files
– SSL between binlog server and Master/Slave
– LDAP/GSSAPI Authentication support
– Selective Data Masking
– Maximum rows returned limit
– Prepared Statement filtering by database firewall
• Scalability
– Aurora Cluster support
– Consistent Critical Read with Master Pinning
– Query Cache Filter
– Streaming Insert Plugin
• Ease of use
– Dynamic Configuration of server, monitor, listener and firewall rules
Up to 2.8 x Performance
Gain
MaxScale 2.1 Performance Gain
Read Only
Read Write
QPSQPS
Number of Connections
Security in MaxScale 2.1
● Existing in MaxScale 2.0
○ End to End SSL for transport layer security between applications, proxy & databases
○ Black and white list with Database Firewall Filter for SQL Injection protection
○ Connection Rate Limitation for DDoS protection
● New in MaxScale 2.1
○ Encrypted binlog server files
○ SSL between binlog server and Master/Slave
○ LDAP/GSSAPI Authentication support
○ Selective Data Masking
○ Maximum rows returned limit
○ Prepared Statement and Functions filtering by database firewall
Aurora Cluster Monitoring and Routing
● Aurora Cluster Monitor
○ Detect read replicas and write node in Aurora Cluster
○ Supports launchable scripts on monitored events like
other monitors
○ Read-Write Splitting, Read Connect Routing, Schema
Routing now can be used for Aurora Cluster
Read
Write
Primary Read Replicas
MaxScale
● Master Pinning: Consistent Critical Read Filter
○ Detects a statement that would modify the database and route all subsequent statement
to the master server where data is guaranteed to be in a up-to-date state
Consistent Critical Read
● Query Cache Filter
○ Cache query results in MaxScale for configurable timeout
○ For the configurable timeout, return results from cache before
being refreshed from to server
○ Configured like any other filter. caching rules can be
specified in a separate json-file
Query Cache
In memory LRU cache.
MaxScale
Clients
Database Servers
● Streaming Insert Plugin
○ Convert all INSERT statements done inside an explicit transaction into LOAD DATA LOCAL
INFILE
○ Useful for client applications doing many inserts within a transaction
○ Improves performance of data load
Batch Insert
INSERT INTO test.t1 VALUES
(“John Doe”, 1234, “1234-5678-ABCD”),
(“Jane Doe”, 4321, “8765-4321-DCBA”);
“John Doe”, 1234, “1234-5678-ABCD”
“Jane Doe”, 4321, “8765-4321-DCBA”
LOAD DATA LOCAL INFILE ‘maxscale.data’ INTO TABLE
test.t1 FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY
‘n’;
Ease of Use
● Dynamically configure server, listener, monitor
○ Add/Remove new server to configuration
○ Add/Remove new listener to configuration
○ Add/Remove monitor to configuration
○ No MaxScale restart require
● Dynamically configure database firewall rules
○ Modify firewall rules while MaxScale is running
● Support for text wildcards in hostnames
● New global setting log_throttling to throttle flooding of log file
Thank you
Max Mether
max@mariadb.com

More Related Content

What's hot

PostgreSQL query planner's internals
PostgreSQL query planner's internalsPostgreSQL query planner's internals
PostgreSQL query planner's internalsAlexey Ermakov
 
MySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZEMySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZENorvald Ryeng
 
0888 learning-mysql
0888 learning-mysql0888 learning-mysql
0888 learning-mysqlsabir18
 
Fosdem2012 mariadb-5.3-query-optimizer-r2
Fosdem2012 mariadb-5.3-query-optimizer-r2Fosdem2012 mariadb-5.3-query-optimizer-r2
Fosdem2012 mariadb-5.3-query-optimizer-r2Sergey Petrunya
 
Creating Beautiful Dashboards with Grafana and ClickHouse
Creating Beautiful Dashboards with Grafana and ClickHouseCreating Beautiful Dashboards with Grafana and ClickHouse
Creating Beautiful Dashboards with Grafana and ClickHouseAltinity Ltd
 
Webinar slides: Adding Fast Analytics to MySQL Applications with Clickhouse
Webinar slides: Adding Fast Analytics to MySQL Applications with ClickhouseWebinar slides: Adding Fast Analytics to MySQL Applications with Clickhouse
Webinar slides: Adding Fast Analytics to MySQL Applications with ClickhouseAltinity Ltd
 
PostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesPostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesInMobi Technology
 
Efficient Pagination Using MySQL
Efficient Pagination Using MySQLEfficient Pagination Using MySQL
Efficient Pagination Using MySQLEvan Weaver
 
ClickHouse Unleashed 2020: Our Favorite New Features for Your Analytical Appl...
ClickHouse Unleashed 2020: Our Favorite New Features for Your Analytical Appl...ClickHouse Unleashed 2020: Our Favorite New Features for Your Analytical Appl...
ClickHouse Unleashed 2020: Our Favorite New Features for Your Analytical Appl...Altinity Ltd
 
Optimizer Trace Walkthrough
Optimizer Trace WalkthroughOptimizer Trace Walkthrough
Optimizer Trace WalkthroughSergey Petrunya
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollPGConf APAC
 
M|18 Understanding the Query Optimizer
M|18 Understanding the Query OptimizerM|18 Understanding the Query Optimizer
M|18 Understanding the Query OptimizerMariaDB plc
 
Using PostgreSQL statistics to optimize performance
Using PostgreSQL statistics to optimize performance Using PostgreSQL statistics to optimize performance
Using PostgreSQL statistics to optimize performance Alexey Ermakov
 
MariaDB 10.0 Query Optimizer
MariaDB 10.0 Query OptimizerMariaDB 10.0 Query Optimizer
MariaDB 10.0 Query OptimizerSergey Petrunya
 
Checking clustering factor to detect row migration
Checking clustering factor to detect row migrationChecking clustering factor to detect row migration
Checking clustering factor to detect row migrationHeribertus Bramundito
 
Big Data in Real-Time: How ClickHouse powers Admiral's visitor relationships ...
Big Data in Real-Time: How ClickHouse powers Admiral's visitor relationships ...Big Data in Real-Time: How ClickHouse powers Admiral's visitor relationships ...
Big Data in Real-Time: How ClickHouse powers Admiral's visitor relationships ...Altinity Ltd
 
Using histograms to get better performance
Using histograms to get better performanceUsing histograms to get better performance
Using histograms to get better performanceSergey Petrunya
 
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOAltinity Ltd
 
Accelerating Local Search with PostgreSQL (KNN-Search)
Accelerating Local Search with PostgreSQL (KNN-Search)Accelerating Local Search with PostgreSQL (KNN-Search)
Accelerating Local Search with PostgreSQL (KNN-Search)Jonathan Katz
 

What's hot (20)

PostgreSQL query planner's internals
PostgreSQL query planner's internalsPostgreSQL query planner's internals
PostgreSQL query planner's internals
 
Optimizer Hints
Optimizer HintsOptimizer Hints
Optimizer Hints
 
MySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZEMySQL 8.0 EXPLAIN ANALYZE
MySQL 8.0 EXPLAIN ANALYZE
 
0888 learning-mysql
0888 learning-mysql0888 learning-mysql
0888 learning-mysql
 
Fosdem2012 mariadb-5.3-query-optimizer-r2
Fosdem2012 mariadb-5.3-query-optimizer-r2Fosdem2012 mariadb-5.3-query-optimizer-r2
Fosdem2012 mariadb-5.3-query-optimizer-r2
 
Creating Beautiful Dashboards with Grafana and ClickHouse
Creating Beautiful Dashboards with Grafana and ClickHouseCreating Beautiful Dashboards with Grafana and ClickHouse
Creating Beautiful Dashboards with Grafana and ClickHouse
 
Webinar slides: Adding Fast Analytics to MySQL Applications with Clickhouse
Webinar slides: Adding Fast Analytics to MySQL Applications with ClickhouseWebinar slides: Adding Fast Analytics to MySQL Applications with Clickhouse
Webinar slides: Adding Fast Analytics to MySQL Applications with Clickhouse
 
PostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesPostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major Features
 
Efficient Pagination Using MySQL
Efficient Pagination Using MySQLEfficient Pagination Using MySQL
Efficient Pagination Using MySQL
 
ClickHouse Unleashed 2020: Our Favorite New Features for Your Analytical Appl...
ClickHouse Unleashed 2020: Our Favorite New Features for Your Analytical Appl...ClickHouse Unleashed 2020: Our Favorite New Features for Your Analytical Appl...
ClickHouse Unleashed 2020: Our Favorite New Features for Your Analytical Appl...
 
Optimizer Trace Walkthrough
Optimizer Trace WalkthroughOptimizer Trace Walkthrough
Optimizer Trace Walkthrough
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'roll
 
M|18 Understanding the Query Optimizer
M|18 Understanding the Query OptimizerM|18 Understanding the Query Optimizer
M|18 Understanding the Query Optimizer
 
Using PostgreSQL statistics to optimize performance
Using PostgreSQL statistics to optimize performance Using PostgreSQL statistics to optimize performance
Using PostgreSQL statistics to optimize performance
 
MariaDB 10.0 Query Optimizer
MariaDB 10.0 Query OptimizerMariaDB 10.0 Query Optimizer
MariaDB 10.0 Query Optimizer
 
Checking clustering factor to detect row migration
Checking clustering factor to detect row migrationChecking clustering factor to detect row migration
Checking clustering factor to detect row migration
 
Big Data in Real-Time: How ClickHouse powers Admiral's visitor relationships ...
Big Data in Real-Time: How ClickHouse powers Admiral's visitor relationships ...Big Data in Real-Time: How ClickHouse powers Admiral's visitor relationships ...
Big Data in Real-Time: How ClickHouse powers Admiral's visitor relationships ...
 
Using histograms to get better performance
Using histograms to get better performanceUsing histograms to get better performance
Using histograms to get better performance
 
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
 
Accelerating Local Search with PostgreSQL (KNN-Search)
Accelerating Local Search with PostgreSQL (KNN-Search)Accelerating Local Search with PostgreSQL (KNN-Search)
Accelerating Local Search with PostgreSQL (KNN-Search)
 

Similar to What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1

Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1MariaDB plc
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?Mydbops
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellEmily Ikuta
 
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander ZaitsevMigration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander ZaitsevAltinity Ltd
 
Database Development Replication Security Maintenance Report
Database Development Replication Security Maintenance ReportDatabase Development Replication Security Maintenance Report
Database Development Replication Security Maintenance Reportnyin27
 
How Database Convergence Impacts the Coming Decades of Data Management
How Database Convergence Impacts the Coming Decades of Data ManagementHow Database Convergence Impacts the Coming Decades of Data Management
How Database Convergence Impacts the Coming Decades of Data ManagementSingleStore
 
OSMC 2021 | pg_stat_monitor: A cool extension for better database (PostgreSQL...
OSMC 2021 | pg_stat_monitor: A cool extension for better database (PostgreSQL...OSMC 2021 | pg_stat_monitor: A cool extension for better database (PostgreSQL...
OSMC 2021 | pg_stat_monitor: A cool extension for better database (PostgreSQL...NETWAYS
 
Performance improvements in PostgreSQL 9.5 and beyond
Performance improvements in PostgreSQL 9.5 and beyondPerformance improvements in PostgreSQL 9.5 and beyond
Performance improvements in PostgreSQL 9.5 and beyondTomas Vondra
 
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cPresentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cRonald Francisco Vargas Quesada
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesDave Stokes
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahuDr. Prakash Sahu
 
2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation2011 Collaborate IOUG Presentation
2011 Collaborate IOUG PresentationBiju Thomas
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 noveltiesMSDEVMTL
 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Bob Ward
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012Roland Bouman
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012Roland Bouman
 
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon RedshiftBest Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon RedshiftSnapLogic
 
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...Jürgen Ambrosi
 
Oracle Query Optimizer - An Introduction
Oracle Query Optimizer - An IntroductionOracle Query Optimizer - An Introduction
Oracle Query Optimizer - An Introductionadryanbub
 

Similar to What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1 (20)

Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
Die Neuheiten in MariaDB 10.2 und MaxScale 2.1
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
 
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander ZaitsevMigration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
 
Database Development Replication Security Maintenance Report
Database Development Replication Security Maintenance ReportDatabase Development Replication Security Maintenance Report
Database Development Replication Security Maintenance Report
 
How Database Convergence Impacts the Coming Decades of Data Management
How Database Convergence Impacts the Coming Decades of Data ManagementHow Database Convergence Impacts the Coming Decades of Data Management
How Database Convergence Impacts the Coming Decades of Data Management
 
OSMC 2021 | pg_stat_monitor: A cool extension for better database (PostgreSQL...
OSMC 2021 | pg_stat_monitor: A cool extension for better database (PostgreSQL...OSMC 2021 | pg_stat_monitor: A cool extension for better database (PostgreSQL...
OSMC 2021 | pg_stat_monitor: A cool extension for better database (PostgreSQL...
 
Performance improvements in PostgreSQL 9.5 and beyond
Performance improvements in PostgreSQL 9.5 and beyondPerformance improvements in PostgreSQL 9.5 and beyond
Performance improvements in PostgreSQL 9.5 and beyond
 
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cPresentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12c
 
Apache Cassandra at Macys
Apache Cassandra at MacysApache Cassandra at Macys
Apache Cassandra at Macys
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New Features
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahu
 
2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation
 
SQL Server 2016 novelties
SQL Server 2016 noveltiesSQL Server 2016 novelties
SQL Server 2016 novelties
 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012
 
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon RedshiftBest Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
 
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
2° Ciclo Microsoft CRUI 3° Sessione: l'evoluzione delle piattaforme tecnologi...
 
Oracle Query Optimizer - An Introduction
Oracle Query Optimizer - An IntroductionOracle Query Optimizer - An Introduction
Oracle Query Optimizer - An Introduction
 

More from MariaDB plc

MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.xMariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.xMariaDB plc
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB plc
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB plc
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB plc
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB plc
 
MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale MariaDB plc
 
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentationMariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentationMariaDB plc
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB plc
 
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server MariaDB plc
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB plc
 
Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023MariaDB plc
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBMariaDB plc
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerDie Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerMariaDB plc
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®MariaDB plc
 
Introducing workload analysis
Introducing workload analysisIntroducing workload analysis
Introducing workload analysisMariaDB plc
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoringUnder the hood: SkySQL monitoring
Under the hood: SkySQL monitoringMariaDB plc
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorMariaDB plc
 
MariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introductionMariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introductionMariaDB plc
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBMariaDB plc
 
The architecture of SkySQL
The architecture of SkySQLThe architecture of SkySQL
The architecture of SkySQLMariaDB plc
 

More from MariaDB plc (20)

MariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.xMariaDB Paris Workshop 2023 - MaxScale 23.02.x
MariaDB Paris Workshop 2023 - MaxScale 23.02.x
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - Newpharma
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - Cloud
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB Enterprise
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance Optimization
 
MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale MariaDB Paris Workshop 2023 - MaxScale
MariaDB Paris Workshop 2023 - MaxScale
 
MariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentationMariaDB Paris Workshop 2023 - novadys presentation
MariaDB Paris Workshop 2023 - novadys presentation
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentation
 
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
MariaDB Tech und Business Update Hamburg 2023 - MariaDB Enterprise Server
 
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-BackupMariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
MariaDB SkySQL Autonome Skalierung, Observability, Cloud-Backup
 
Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023Einführung : MariaDB Tech und Business Update Hamburg 2023
Einführung : MariaDB Tech und Business Update Hamburg 2023
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerDie Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise Server
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
 
Introducing workload analysis
Introducing workload analysisIntroducing workload analysis
Introducing workload analysis
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoringUnder the hood: SkySQL monitoring
Under the hood: SkySQL monitoring
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connector
 
MariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introductionMariaDB Enterprise Tools introduction
MariaDB Enterprise Tools introduction
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDB
 
The architecture of SkySQL
The architecture of SkySQLThe architecture of SkySQL
The architecture of SkySQL
 

Recently uploaded

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 

Recently uploaded (20)

Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 

What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1

  • 1. What's New in MariaDB Server 10.2 MaxScale 2.1 Max Mether Field CTO
  • 3. Summary - What’s New Analytics SQL ● Window Functions ● Common Table Expressions (CTE) JSON ● JSON Functions ● GeoJSON Functions Replication ● Delayed Replication ● Restrict the speed of reading binlog from Master ● Compressed Binary Log Database Compatibility ● Multi-Trigger Support ● CHECK Constraint Expression Support ● EXECUTE IMMEDIATE statement ● Support for DEFAULT with expressions ● DECIMAL increased from 30 to 38 digits Storage Engine Enhancements ● New Storage Engine MyRocks based on RocksDB from Facebook ● Enhancements from MySQL InnoDB 5.7 ● Enable InnoDB NUMA interleave for InnoDB
  • 4. Summary - What’s New Security ● Per User Server Load Limitations ● Enforced TLS Connections Administration ● New functions for User Management ● Enhanced Informations from EXPLAIN ● User defined variables added to Information Schema ● Binary Log based Flashback Performance ● Enhanced Performance for creating Connections ● Indexes for Virtual Columns ● New Option to define a directory for InnoDB temporary files Server-Internal Optimisations ● Internal Use of MariaDB Connector/C ● Optimizer Enhancements ● Non-Locking ANALYZE TABLE Other Enhancements ● Lifted limitations for Virtual Computed Columns ● Subquery-Support for Views ● Multiple Use of Temporary Tables in Query
  • 5. Window Functions • Window functions were introduced in SQL:2003. The last expansion was in the latest version of the standard, SQL:2011. • A window function looks at “windows” of your data while processing it, which improves the efficiency of query execution. • Identified by the OVER clause • Window functions –can help eliminate expensive subqueries –can help eliminate self-joins –make queries more readable –make queries faster More efficient and readable queries, especially powerful when analyzing data
  • 6. Window Functions Data Series Example SELECT time, value FROM data_points ORDER BY time;
  • 7. Window Functions Data Series Example SELECT time, value FROM data_points ORDER BY time; SELECT time, value, avg(value) over (ORDER BY time ROWS BETWEEN 6 PRECEDING AND 6 FOLLOWING) FROM data_points ORDER BY time;
  • 8. Window Functions Data Series Example SELECT timestamp, transaction_id, customer_id, amount, (SELECT sum(amount) FROM transactions AS t2 WHERE t2.customer_id = t1.customer_id AND t2.timestamp <= t1.timestamp) AS balance FROM transactions AS t1 ORDER BY customer_id, timestamp; SELECT timestamp, transaction_id, customer_id, amount, sum(amount) OVER (PARTITION BY customer_id ORDER BY timestamp ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS balance FROM transactions AS t1 ORDER BY customer_id, timestamp; Query using Window function Query without Window function
  • 9. Window Functions Example: Given a set of bank transactions, compute the account balance after each transaction *Test done in a developer environment #Rows Regular SQL (seconds) Regular SQL + Index (seconds) Window Functions (seconds) 10 000 0.29 0.01 0.02 100 000 2.91 0.09 0.16 1 000 000 29.1 2.86 3.04 10 000 000 346.3 90.97 43.17 100 000 000 4357.2 813.2 514.24
  • 10. Window Functions • ROWS and RANGE-type frames • "Streamable" window functions: ROW_NUMBER, RANK, DENSE_RANK • Window functions that can be streamed once the number of rows in partition is known: PERCENT_RANK, CUME_DIST, NTILE • Supported aggregate functions: COUNT, SUM, AVG, BIT_OR, BIT_AND, BIT_XOR – Aggregate functions with DISTINCT are not supported as window functions. Supported Functions
  • 11. CTE • A Common Table Expression is basically a temporary and named result set, derived from a simple query • Introduced in SQL:1999 and as CTEs • A CTE – is identified by a WITH clause –Similar to derived tables in the FROM clause –More expressive and provide cleaner code –Can produce more efficient query plans –Can be used with SELECT and EXPLAIN –Can be recursive Refer to a subquery expression many times in a query. A temporary table that only exists for the duration of a query.
  • 12. Common Table Expression Example WITH sales_product_year AS ( SELECT product, year(ship_date) as year, SUM(price) as total_amt FROM item_sales GROUP BY product, year ) SELECT * FROM sales_product_year CUR, sales_product_year PREV, WHERE CUR.product = PREV.product AND CUR.year = PREV.year + 1 AND CUR.total_amt > PREV.total_amt; Use CTE Define CTE
  • 13. Common Table Expression Recursive Example WITH recursive sales_managers AS ( SELECT name, manager, roleName FROM sales_hierarchy WHERE manager IS NULL UNION ALL SELECT e.name, e.manager, e.roleName FROM sales_hierarchy e JOIN sales_managers m ON m.name = e.manager ) SELECT * FROM sales_managers; Use CTE Define CTE
  • 14. JSON • MariaDB Server provides – JSON functions which gives users the highest flexibility to work with JSON based data –stored in string based data types like VARCHAR. • Storing JSON data in MariaDB Server is combining relational data with the world of NoSQL •MariaDB Server currently supports 24 JSON functions to evaluate, query and modify JSON formatted strings JSON- and GeoJSON Functions for MariaDB
  • 15. JSON Example Working with JSON Data CREATE TABLE jsontable ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, jsonfield VARCHAR(1024), CHECK (JSON_VALID(jsonfield))); Field for JSON Data Constraint to validate JSON format
  • 16. JSON Example Insert JSON Data INSERT INTO jsontable (id,jsonfield) VALUES(NULL, '{"category": "Software","product": "MaxScale", "version": "2.0.0"}'); INSERT INTO jsontable (id,jsonfield) VALUES(NULL, '{"category": "Service","service_type": "Training", "class": "DBA"}'); SELECT * FROM jsontableG ******************* 1. row *********************** id: 1 jsonfield: {"category": "Software","product": "MaxScale", "version": "2.0.0"} Insert like a string
  • 17. JSON Example Validating JSON Format INSERT INTO jsontable (id,jsonfield) VALUES(NULL, '{"category" - "Software","product": "MaxScale", "version": "2.0.0"}'); ERROR 4025 (23000): CONSTRAINT `CONSTRAINT_1` failed for `test`.`jsontable` Insert non JSON format Validation JSON_VALID fails
  • 18. JSON Example Working with JSON Data SELECT * FROM jsontable WHERE JSON_VALUE(jsonfield, '$.category') = 'Software'; +----+-------------------------------------------+ | id | jsonfield | +----+-------------------------------------------+ | 1 | {"category": "Software","product": "MaxScale", "version": "2.0.0"} | +----+-------------------------------------------+ 1 row in set (0.02 sec) look for specific value
  • 19. Are JSON Queries efficient? EXPLAIN SELECT * FROM jsontable WHERE JSON_VALUE(jsonfield, '$.category') = 'Software' G ******************** 1. row ********************** id: 1 select_type: SIMPLE table: jsontable type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 2 Extra: Using where 1 row in set (0.10 sec) All Queries are full table scans
  • 20. Indexing through a Virtual Column ALTER TABLE jsontable ADD category VARCHAR(20) AS (JSON_VALUE(jsonfield, '$.category')); ALTER TABLE jsontable ADD INDEX(category); Add a virtual column Create index on virtual column
  • 21. Are the indexed Queries efficient? EXPLAIN SELECT * FROM jsontable WHERE JSON_VALUE(jsonfield, '$.category') = 'Software' G ******************** 1. row ********************** id: 1 select_type: SIMPLE table: jsontable type: ref possible_keys: category key: category key_len: 23 ref: const rows: 1 Extra: Using where 1 row in set (0.10 sec) The index is being used!!!
  • 22. GeoJSON • With MariaDB Server 10.2 GeoJSON functions have been added to the existing functions used to work with spatial data types, like POINT, LINESTRING, POLYGON • ST_AsGeoJSON is used to convert a geometric data type into a GeoJSON format • ST_GeomFromGeoJSON is used to convert a GeoJSON based description into a geometric format • The GeoJSON format follows the open standard for encoding geometric features - http://geojson.org GeoJSON functions for converting a geometry to a GeoJSON element or vise versa
  • 23. New Replication Features • Delayed Replication –allows specifying a slave to lag behind the master –CHANGE MASTER TO master_delay=3600; • Restrict the speed of reading binlog from Master –The option read_binlog_speed_limit can be used to restrict the speed to read the binlog from the master –Reduces the load on the master when slaves need to catch up • Compressed Binary Log –Reduced Binary Log size and network traffic –Binary Log events are compressed on the master –The slave IO thread is uncompressing them before writing them into the Relay Log –Compression is controlled by log_bin_compress and log_bin_compress_min_len New Replication Features help to reduce load on Master, disk space, network bandwidth usage
  • 24. Database Compatibility • Multi-Trigger Support per Type • CHECK constraints allow data validation per column • EXECUTE IMMEDIATE for dynamic SQL combines prepare, execute and deallocate prepare into one action • DECIMAL increased from 30 to 38 digits • Support of expressions for DEFAULT Increased Database Compatibility by reducing limitation based workflows can now be built based on triggers
  • 25. CHECK Constraints Examples CREATE TABLE t1 (a INT CHECK (a>2), b INT CHECK (b>2), CONSTRAINT a_greater CHECK (a>b)); CREATE TABLE t2 (name VARCHAR(30) CHECK (CHAR_LENGTH(name)>2), start_date DATE, end_date DATE CHECK (start_date IS NULL OR end_date IS NULL OR start_date<end_date)); CREATE TABLE jsontable ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, jsonfield VARCHAR(1024), category VARCHAR(20) as (JSON_VALUE(jsonfield,'$.category')), KEY jsonkey (category), CHECK (JSON_VALID(jsonfield))); Numeric constraints and comparisons Date comparisons and character length Validation by using functions
  • 26. Enhancements from MySQL InnoDB 5.7 • Indexes for spatial data types • VARCHAR size can be increased using an in-place ALTER TABLE, if the length stays between 0 and 255 or higher than 255 • improved DDL performance for InnoDB temporary tables • InnoDB internal improvements and better control via parameters • On Fusion-io Non-Volatile Memory (NVM) file systems the doublewrite buffer is automatically disabled for system tablespace files • Optimized crash recovery (tablespace discovery) MySQL Server 5.7 has introduced enhancements to InnoDB, some selected changes have been merged to MariaDB Server
  • 27. MyRocks Storage Engine •For workloads requiring higher compression and IO efficiency • Higher performance for web scale type applications • LSM (Log-structured merge) architecture allows very efficient data ingestion • Extract of the available features –Column Families –Transactions and WriteBatchWithIndex –Backup and Checkpoints –Merge Operators –Manual Compactions Run in Parallel with Automatic Compactions –Persistent Cache –Bulk loading –Delete files in range –Pin iterator key/value MyRocks in MariaDB, compression and IO efficiency based on Facebook’s MyRocks.
  • 28. Performance Optimizations • Enhanced Performance for creating Connections – The way to create new connections has been optimized – This is especially good for applications, which are using non-persistent connections • Indexes for Virtual Columns – Before MariaDB Server 10.2 indexes could not be defined for virtual columns – With supporting indexes, virtual columns also can be used efficiently for searching • New Option to define a directory for InnoDB temporary files – By using a separate directory for InnoDB temporary files separate disks and types of disks can be used, which is reducing IO waits Several changes have been added to MariaDB Server to improve Performance
  • 29. New Security Options •Per User Server Load Limitations –Limit to the number of queries, updates or connections the user can place or make per hour. –Limit to the number of simultaneous connections that the user can hold •Enforced TLS connections –SSL/TLS encryption options have been introduced for users, permitting only encrypted connections for a user –CREATE and ALTER USER now include the optional parameters SSL, X509, ISSUER, SUBJECT, CIPHER • Binary log file encryption
  • 30. Security Syntax Enhancements Examples CREATE USER foo WITH MAX_QUERIES_PER_HOUR 10 MAX_UPDATES_PER_HOUR 20 MAX_CONNECTIONS_PER_HOUR 30 MAX_USER_CONNECTIONS 40; CREATE USER 'foo4'@'test' REQUIRE ISSUER 'foo_issuer' SUBJECT 'foo_subject' CIPHER 'text; Per User Server Load Limitation Enforced TLS Connections
  • 31. New options for DBAs • New functions for User Management – ALTER USER – SHOW CREATE USER • Enhanced Informations from EXPLAIN – EXPLAIN FORMAT=JSON for detailed information on sort_key an outer_ref_condition • User defined variables added to Information Schema – Information schema plugin to report all user defined variables via the Information Schema USER_VARIABLES Table • Binary Log based Flashback – The MariaDB Flashback feature allows DBAs to roll back instances, databases or tables to a given timestamp
  • 32. Summary - What’s New Analytics SQL ● Window Functions ● Common Table Expressions (CTE) JSON ● JSON Functions ● GeoJSON Functions Replication ● Delayed Replication ● Restrict the speed of reading binlog from Master ● Compressed Binary Log Database Compatibility ● Multi-Trigger Support ● CHECK Constraint Expression Support ● EXECUTE IMMEDIATE statement ● Support for DEFAULT with expressions ● DECIMAL increased from 30 to 38 digits Storage Engine Enhancements ● New Storage Engine MyRocks based on RocksDB from Facebook ● Enhancements from MySQL InnoDB 5.7 ● Enable InnoDB NUMA interleave for InnoDB
  • 33. Summary - What’s New Security ● Per User Server Load Limitations ● Enforced TLS Connections Administration ● New functions for User Management ● Enhanced Informations from EXPLAIN ● User defined variables added to Information Schema ● Binary Log based Flashback Performance ● Enhanced Performance for creating Connections ● Indexes for Virtual Columns ● New Option to define a directory for InnoDB temporary files Server-Internal Optimisations ● Internal Use of MariaDB Connector/C ● Optimizer Enhancements ● Non-Locking ANALYZE TABLE Other Enhancements ● Lifted limitations for Virtual Computed Columns ● Subquery-Support for Views ● Multiple Use of Temporary Tables in Query
  • 34. MariaDB Server 10.3 • Sequences & PL/SQL • System Versioned Tables – As Of (Point in Time Querying) • User-defined Aggregate Functions • Intersect & Except • Hidden Columns
  • 35. What’s New in MariaDB MaxScale 2.1
  • 36. What is new in MariaDB MaxScale 2.1 ? • Performance – Up to 2.8x improvement over MaxScale 2.0 • Security – Encrypted binlog server files – SSL between binlog server and Master/Slave – LDAP/GSSAPI Authentication support – Selective Data Masking – Maximum rows returned limit – Prepared Statement filtering by database firewall • Scalability – Aurora Cluster support – Consistent Critical Read with Master Pinning – Query Cache Filter – Streaming Insert Plugin • Ease of use – Dynamic Configuration of server, monitor, listener and firewall rules
  • 37. Up to 2.8 x Performance Gain MaxScale 2.1 Performance Gain Read Only Read Write QPSQPS Number of Connections
  • 38. Security in MaxScale 2.1 ● Existing in MaxScale 2.0 ○ End to End SSL for transport layer security between applications, proxy & databases ○ Black and white list with Database Firewall Filter for SQL Injection protection ○ Connection Rate Limitation for DDoS protection ● New in MaxScale 2.1 ○ Encrypted binlog server files ○ SSL between binlog server and Master/Slave ○ LDAP/GSSAPI Authentication support ○ Selective Data Masking ○ Maximum rows returned limit ○ Prepared Statement and Functions filtering by database firewall
  • 39. Aurora Cluster Monitoring and Routing ● Aurora Cluster Monitor ○ Detect read replicas and write node in Aurora Cluster ○ Supports launchable scripts on monitored events like other monitors ○ Read-Write Splitting, Read Connect Routing, Schema Routing now can be used for Aurora Cluster Read Write Primary Read Replicas MaxScale
  • 40. ● Master Pinning: Consistent Critical Read Filter ○ Detects a statement that would modify the database and route all subsequent statement to the master server where data is guaranteed to be in a up-to-date state Consistent Critical Read
  • 41. ● Query Cache Filter ○ Cache query results in MaxScale for configurable timeout ○ For the configurable timeout, return results from cache before being refreshed from to server ○ Configured like any other filter. caching rules can be specified in a separate json-file Query Cache In memory LRU cache. MaxScale Clients Database Servers
  • 42. ● Streaming Insert Plugin ○ Convert all INSERT statements done inside an explicit transaction into LOAD DATA LOCAL INFILE ○ Useful for client applications doing many inserts within a transaction ○ Improves performance of data load Batch Insert INSERT INTO test.t1 VALUES (“John Doe”, 1234, “1234-5678-ABCD”), (“Jane Doe”, 4321, “8765-4321-DCBA”); “John Doe”, 1234, “1234-5678-ABCD” “Jane Doe”, 4321, “8765-4321-DCBA” LOAD DATA LOCAL INFILE ‘maxscale.data’ INTO TABLE test.t1 FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘n’;
  • 43. Ease of Use ● Dynamically configure server, listener, monitor ○ Add/Remove new server to configuration ○ Add/Remove new listener to configuration ○ Add/Remove monitor to configuration ○ No MaxScale restart require ● Dynamically configure database firewall rules ○ Modify firewall rules while MaxScale is running ● Support for text wildcards in hostnames ● New global setting log_throttling to throttle flooding of log file