SlideShare ist ein Scribd-Unternehmen logo
1 von 57
What’s New in
MariaDB Server 10.2
and
MariaDB MaxScale
2.1
What’s New in
MariaDB
Server 10.2
MariaDB Server 10.2
Analytics SQL
Window Functions
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
•  MariaDB supports
–  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
–  Aggregate functions that are currently supported as window
functions are: COUNT, SUM, AVG, BIT_OR, BIT_AND,
BIT_XOR.
–  Aggregate functions with the DISTINCT specifier (e.g.
COUNT( DISTINCT x)) are not supported as window
functions.
Supported Functions
Analytics SQL
Common Table Expressions (CTE)
CTE
•  Hierarchical and recursive queries for SQL were
introduced in SQL:1999 and were implemented as
common table expressions (CTEs)
•  A Common Table Expression is basically a temporary and
named result set, derived from a simple query
•  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
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
JSON
JSON & GeoJSON Functions
JSON
•  JSON (Java Script Object Notation), a text based and
platform independent data exchange format
•  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),
category VARCHAR(20) as
(JSON_VALUE(jsonfield,'$.category')),
KEY jsonkey (category),
CHECK (JSON_VALID(jsonfield)));
Field for JSON Data
Virtual column for
Index on JSON key
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"}
category: Software
Insert like a string
JSON_VALUE based
Virtual Column
entry
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 Function Examples
SELECT JSON_ARRAY(56, 3.1416, 'My name is "Foo"', NULL);
+--------------------------------------------------+
| Json_Array(56, 3.1416, 'My name is "Foo"', NULL) |
+--------------------------------------------------+
| [56, 3.1416, "My name is "Foo"", null] |
+--------------------------------------------------+
SELECT JSON_OBJECT("id", 1, "name", "Monty");
+---------------------------------------+
| JSON_OBJECT("id", 1, "name", "Monty") |
+---------------------------------------+
| {"id": 1, "name": "Monty"} |
+---------------------------------------+
JSON array from
listed values
JSON object from
key,value pairs
JSON Function Examples
SELECT json_query('{"key1":123, "key1": [1,2,3]}',
'$.key1');
+-------------------------------------------------------+
| json_query('{"key1":123, "key1": [1,2,3]}', '$.key1') |
+-------------------------------------------------------+
| [1,2,3] |
+-------------------------------------------------------+
select json_query('{"key1":{"a":1, "b":[1,2]}}', '$.key1');
+-----------------------------------------------------+
| json_query('{"key1":{"a":1, "b":[1,2]}}', '$.key1') |
+-----------------------------------------------------+
| {"a":1, "b":[1,2]} |
+-----------------------------------------------------+
query JSON array
query JSON object
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
JSON Function
Examples
SELECT ST_AsGeoJSON(ST_GeomFromText('POINT(5.3 7.2)'));
+-------------------------------------------------+
| ST_AsGeoJSON(ST_GeomFromText('POINT(5.3 7.2)')) |
+-------------------------------------------------+
| {"type": "Point", "coordinates": [5.3, 7.2]} |
+-------------------------------------------------+
SET @j = '{ "type": "Point", "coordinates": [5.3, 15.0]}';
SELECT ST_AsText(ST_GeomFromGeoJSON(@j));
+-----------------------------------+
| ST_AsText(ST_GeomFromGeoJSON(@j)) |
+-----------------------------------+
| POINT(5.3 15) |
+-----------------------------------+
ST_AsGeoJSON
returns the given
geometry as a
GeoJSON element
ST_GeomFromGeoJSON
given a GeoJSON input,
returns a geometry
object:
Replication
Delayed Replication & more
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
Database
Compatibility
•  Multi-Trigger Support per Type
–  Beginning with MariaDB Server 10.2, multiple triggers
of the same type (BEFORE, AFTER) can be created per
table
–  The CREATE TRIGGER Statement now allows to define
[{ FOLLOWS | PRECEDES } other_trigger_name ]
when creating a trigger
•  CHECK constraints allow data validation per column
–  Check constraints helps a DBA to enforce data consistency
on the database server level without the need to implement
triggers
•  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
Storage Engine Enhancements
Enhancements
from MySQL
InnoDB 5.7
•  Some of the InnoDB 5.7 enhancements are:
–  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
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
Security
New Security
related User
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
Limit the load a user
can add to the server;
enforce secure
connections
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
Administration
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
What’s New in
MariaDB
MaxScale 2.1
41
MariaDB MaxScale
Database Proxy platform for
●  Scalability
●  Security
●  High Availability
●  Data Streaming
●  Latest GA Version 2.0
●  Soon to be GA version 2.1
●  Part of MariaDB Enterprise Offering
MaxScale
MaxScale
MariaDB MaxScale Concept
Generic Core
▪  Multi-threaded
▪  e-poll based
▪  Stateless
▪  Shares the thread pool
Flexible, easy to write plug-ins for
▪  Protocol support
▪  Authentication
▪  Database monitoring
▪  Load balancing and routing
▪  Query Transformation and logging
ProtocolCore
Rou$ng	
  
Database
Servers
MaxScale
MaxScale
Master
Slaves
Binlog Cache
●  Insulates client applications from the
complexities of backend database
cluster
●  Simplify replication from
database to other databases
Client
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
•  Secured Binlog Server
–  Encrypt binlog server files on MaxScale
–  SSL between binlog server and Master/Slave
•  Secured user access
–  LDAP/GSSAPI for secured single sign-on
across OS platforms(windows, linux),
applications and databases
Slaves
Security
Master
Slaves
SSL
SSL
SSL
SSL
Binlog	
  Cache	
  
Binlog	
  Cache	
  
MaxScale
MaxScale
Security
•  HIPPA/PCI Compliance: Selective Data Masking based on column name
–  Database name, Table name classifier may be provided
•  commerceDb.customerTbl.creditcardNum
•  customerTbl.creditcardNum
•  credicardNum
SELECT Name, creditcardNum, balance
FROM customerTbl
WHERE id=1001
Name creditcardNum
balance
---------------------------------------
John Smith xxxxxxxxxx
1201.07
Client
MaxScale
Database Servers
"rules":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "replace":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "column":	
  "creditcardNum"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "with":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "value":	
  "XXXXXXXXX",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  “fill":	
  "0"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  },	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
Security
•  DDoS Protection
•  Maximum rows filter
–  Return zero rows to client if
number of rows in result set
exceeds configured max limit
–  Return zero rows to client if
the size of result set exceeds
configured max size in KB
MaxRowsLimit
Filter
Max Rows Limit = 500
NumRows Returned >
MaxRows Limit
NumRows returned = 1000
5
Query result:
Error
or
Empty result set
Query
Query
4
1
32
MaxScale
Clients
Database Servers
Configuration:	
  
	
  
max_resultset_return=empty|error|ok	
  
max_resultset_size=128Ki	
  
max_resultset_rows=1000	
  
Security
•  SQL Injection Protection
–  Prepared Statement filtering by database firewall
•  Apply database firewall rules to prepared statements
–  Function name filtering by database firewall
•  Black/White list query based on specific function being called in the SQL
-­‐  Block	
  queries	
  wildcard	
  *	
  
-­‐  Prevent	
  rapid	
  execution	
  of	
  specific	
  queries	
  
-­‐  Block	
  queries	
  without	
  WHERE	
  clause	
  
	
  
Example:	
  with	
  rules.conf	
  
rule	
  limit_rate	
  deny	
  limit_queries	
  10	
  5	
  60	
  
rule	
  peak_hours	
  deny	
  wildcard	
  at_times	
  17:00:00-­‐17:30:00	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  rule	
  safe_del	
  deny	
  no_where_clause	
  on_queries	
  delete	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  rule	
  query_regex	
  deny	
  regex	
  '.*select.*from.*user_data.*'	
  
Scalability with MaxScale 2.1
•  Existing in MaxScale 2.0
–  Transaction Scaling to support user growth and simplify applications
•  MariaDB Master/Slave and MariaDB Galera Cluster
–  Load balancing
–  Database aware dynamic query routing
–  Traffic profile based routing
–  Replication Scaling to support web-scale applications’ user base
•  Binlog Server for horizontal scaling of slaves in Master/Slave architecture
–  Multi-tenant database scaling to transparently grow tenants and data volume
•  Schema sharding
–  Connection Rate Limitation
•  New in MaxScale 2.1
–  Aurora Cluster Monitor
–  Multi-master and Failover mode for MySQL Monitor
–  Consistent Critical Read Filter: Master Pinning
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
Consistent Critical Read
•  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
match=.*INSERT.*	
  	
  //	
  which statements trigger the statement re-routing
time=5	
  	
  //	
  Time	
  window	
  for	
  routing	
  queries	
  to	
  master	
  
Result:
INSERT INTO db1.tbl1 (id, name) VALUES(100, ‘Dan’); // sent to master
SELECT @@server_id; // forced route to master
SELECT name FROM db1.tbl1 WHERE name = ‘Dan’; // forced route to master
Query Cache
•  New in MaxScale 2.1
–  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:
rules=/path/to/rules-­‐
file.json	
  
In memory LRU cache.
MaxScale
Clients
Database Servers
Batch Insert
•  New in MaxScale 2.1
–  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
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
•  New in MaxScale 2.1
–  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
Future
•  MariaDB 10.2 Support
•  Cross Data Center HA enablement
•  PAMD Authentication
•  More performance enhancement
•  Additional protocols
•  Tighter integration with MariaDB
ColumnStore
MaxScale
Thank you
Maria Luisa Raviol
Senior Sales Engineer
mluisa.raviol@mariadb.com
Massimiliano Pinto
Senior Software Solutions Engineer
massimiliano.pinto@mariadb.com

Weitere ähnliche Inhalte

Was ist angesagt?

0888 learning-mysql
0888 learning-mysql0888 learning-mysql
0888 learning-mysqlsabir18
 
Optimizer features in recent releases of other databases
Optimizer features in recent releases of other databasesOptimizer features in recent releases of other databases
Optimizer features in recent releases of other databasesSergey Petrunya
 
Sql server ___________session 2(sql 2008)
Sql server  ___________session 2(sql 2008)Sql server  ___________session 2(sql 2008)
Sql server ___________session 2(sql 2008)Ehtisham Ali
 
Using histograms to get better performance
Using histograms to get better performanceUsing histograms to get better performance
Using histograms to get better performanceSergey Petrunya
 
Mysqlconf2013 mariadb-cassandra-interoperability
Mysqlconf2013 mariadb-cassandra-interoperabilityMysqlconf2013 mariadb-cassandra-interoperability
Mysqlconf2013 mariadb-cassandra-interoperabilitySergey Petrunya
 
JDD 2016 - Pawel Byszewski - Kotlin, why?
JDD 2016 - Pawel Byszewski - Kotlin, why?JDD 2016 - Pawel Byszewski - Kotlin, why?
JDD 2016 - Pawel Byszewski - Kotlin, why?PROIDEA
 
M|18 Understanding the Query Optimizer
M|18 Understanding the Query OptimizerM|18 Understanding the Query Optimizer
M|18 Understanding the Query OptimizerMariaDB plc
 
The Ring programming language version 1.9 book - Part 42 of 210
The Ring programming language version 1.9 book - Part 42 of 210The Ring programming language version 1.9 book - Part 42 of 210
The Ring programming language version 1.9 book - Part 42 of 210Mahmoud Samir Fayed
 
Optimizer Trace Walkthrough
Optimizer Trace WalkthroughOptimizer Trace Walkthrough
Optimizer Trace WalkthroughSergey Petrunya
 
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1MariaDB plc
 
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and OptimizationPgDay.Seoul
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스PgDay.Seoul
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQLAppier
 
Diving into MySQL 5.7: advanced features
Diving into MySQL 5.7: advanced featuresDiving into MySQL 5.7: advanced features
Diving into MySQL 5.7: advanced featuresGabriela Ferrara
 

Was ist angesagt? (19)

0888 learning-mysql
0888 learning-mysql0888 learning-mysql
0888 learning-mysql
 
Optimizer features in recent releases of other databases
Optimizer features in recent releases of other databasesOptimizer features in recent releases of other databases
Optimizer features in recent releases of other databases
 
Sql analytic queries tips
Sql analytic queries tipsSql analytic queries tips
Sql analytic queries tips
 
Sql server ___________session 2(sql 2008)
Sql server  ___________session 2(sql 2008)Sql server  ___________session 2(sql 2008)
Sql server ___________session 2(sql 2008)
 
Using histograms to get better performance
Using histograms to get better performanceUsing histograms to get better performance
Using histograms to get better performance
 
Mysql rab2-student
Mysql rab2-studentMysql rab2-student
Mysql rab2-student
 
Mysqlconf2013 mariadb-cassandra-interoperability
Mysqlconf2013 mariadb-cassandra-interoperabilityMysqlconf2013 mariadb-cassandra-interoperability
Mysqlconf2013 mariadb-cassandra-interoperability
 
JDD 2016 - Pawel Byszewski - Kotlin, why?
JDD 2016 - Pawel Byszewski - Kotlin, why?JDD 2016 - Pawel Byszewski - Kotlin, why?
JDD 2016 - Pawel Byszewski - Kotlin, why?
 
M|18 Understanding the Query Optimizer
M|18 Understanding the Query OptimizerM|18 Understanding the Query Optimizer
M|18 Understanding the Query Optimizer
 
The Ring programming language version 1.9 book - Part 42 of 210
The Ring programming language version 1.9 book - Part 42 of 210The Ring programming language version 1.9 book - Part 42 of 210
The Ring programming language version 1.9 book - Part 42 of 210
 
Oracle sql ppt1
Oracle sql ppt1Oracle sql ppt1
Oracle sql ppt1
 
Optimizer Trace Walkthrough
Optimizer Trace WalkthroughOptimizer Trace Walkthrough
Optimizer Trace Walkthrough
 
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
 
MV sql profile and index
MV sql profile and indexMV sql profile and index
MV sql profile and index
 
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Dbms lab Manual
Dbms lab ManualDbms lab Manual
Dbms lab Manual
 
Diving into MySQL 5.7: advanced features
Diving into MySQL 5.7: advanced featuresDiving into MySQL 5.7: advanced features
Diving into MySQL 5.7: advanced features
 

Ähnlich wie 03 2017Emea_RoadshowMilan-WhatsNew-Mariadbserver10_2andmaxscale 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's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1MariaDB plc
 
5_MariaDB_What's New in MariaDB Server 10.2 and Big Data Analytics with Maria...
5_MariaDB_What's New in MariaDB Server 10.2 and Big Data Analytics with Maria...5_MariaDB_What's New in MariaDB Server 10.2 and Big Data Analytics with Maria...
5_MariaDB_What's New in MariaDB Server 10.2 and Big Data Analytics with Maria...Kangaroot
 
Developers' New features of Sql server express 2012
Developers' New features of Sql server express 2012Developers' New features of Sql server express 2012
Developers' New features of Sql server express 2012Ziaur Rahman
 
Big Data Analytics with MariaDB ColumnStore
Big Data Analytics with MariaDB ColumnStoreBig Data Analytics with MariaDB ColumnStore
Big Data Analytics with MariaDB ColumnStoreMariaDB plc
 
Going Native: Leveraging the New JSON Native Datatype in Oracle 21c
Going Native: Leveraging the New JSON Native Datatype in Oracle 21cGoing Native: Leveraging the New JSON Native Datatype in Oracle 21c
Going Native: Leveraging the New JSON Native Datatype in Oracle 21cJim Czuprynski
 
SQL Macros - Game Changing Feature for SQL Developers?
SQL Macros - Game Changing Feature for SQL Developers?SQL Macros - Game Changing Feature for SQL Developers?
SQL Macros - Game Changing Feature for SQL Developers?Andrej Pashchenko
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012hwilming
 
Scalable Angular 2 Application Architecture
Scalable Angular 2 Application ArchitectureScalable Angular 2 Application Architecture
Scalable Angular 2 Application ArchitectureFDConf
 
The Ring programming language version 1.6 book - Part 46 of 189
The Ring programming language version 1.6 book - Part 46 of 189The Ring programming language version 1.6 book - Part 46 of 189
The Ring programming language version 1.6 book - Part 46 of 189Mahmoud Samir Fayed
 
Sql server 2016: System Databases, data types, DML, json, and built-in functions
Sql server 2016: System Databases, data types, DML, json, and built-in functionsSql server 2016: System Databases, data types, DML, json, and built-in functions
Sql server 2016: System Databases, data types, DML, json, and built-in functionsSeyed Ibrahim
 
Mysqlfunctions
MysqlfunctionsMysqlfunctions
MysqlfunctionsN13M
 
Non-Relational Postgres
Non-Relational PostgresNon-Relational Postgres
Non-Relational PostgresEDB
 
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
 
CFCouchbase 2.0 and N1QL
CFCouchbase 2.0 and N1QLCFCouchbase 2.0 and N1QL
CFCouchbase 2.0 and N1QLAaron Benton
 
Modern query optimisation features in MySQL 8.
Modern query optimisation features in MySQL 8.Modern query optimisation features in MySQL 8.
Modern query optimisation features in MySQL 8.Mydbops
 
The Ring programming language version 1.2 book - Part 32 of 84
The Ring programming language version 1.2 book - Part 32 of 84The Ring programming language version 1.2 book - Part 32 of 84
The Ring programming language version 1.2 book - Part 32 of 84Mahmoud Samir Fayed
 
Spring Day | Spring and Scala | Eberhard Wolff
Spring Day | Spring and Scala | Eberhard WolffSpring Day | Spring and Scala | Eberhard Wolff
Spring Day | Spring and Scala | Eberhard WolffJAX London
 

Ähnlich wie 03 2017Emea_RoadshowMilan-WhatsNew-Mariadbserver10_2andmaxscale 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's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
 
5_MariaDB_What's New in MariaDB Server 10.2 and Big Data Analytics with Maria...
5_MariaDB_What's New in MariaDB Server 10.2 and Big Data Analytics with Maria...5_MariaDB_What's New in MariaDB Server 10.2 and Big Data Analytics with Maria...
5_MariaDB_What's New in MariaDB Server 10.2 and Big Data Analytics with Maria...
 
Developers' New features of Sql server express 2012
Developers' New features of Sql server express 2012Developers' New features of Sql server express 2012
Developers' New features of Sql server express 2012
 
Big Data Analytics with MariaDB ColumnStore
Big Data Analytics with MariaDB ColumnStoreBig Data Analytics with MariaDB ColumnStore
Big Data Analytics with MariaDB ColumnStore
 
Going Native: Leveraging the New JSON Native Datatype in Oracle 21c
Going Native: Leveraging the New JSON Native Datatype in Oracle 21cGoing Native: Leveraging the New JSON Native Datatype in Oracle 21c
Going Native: Leveraging the New JSON Native Datatype in Oracle 21c
 
SQL Macros - Game Changing Feature for SQL Developers?
SQL Macros - Game Changing Feature for SQL Developers?SQL Macros - Game Changing Feature for SQL Developers?
SQL Macros - Game Changing Feature for SQL Developers?
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012
 
Scalable Angular 2 Application Architecture
Scalable Angular 2 Application ArchitectureScalable Angular 2 Application Architecture
Scalable Angular 2 Application Architecture
 
The Ring programming language version 1.6 book - Part 46 of 189
The Ring programming language version 1.6 book - Part 46 of 189The Ring programming language version 1.6 book - Part 46 of 189
The Ring programming language version 1.6 book - Part 46 of 189
 
Sql server 2016: System Databases, data types, DML, json, and built-in functions
Sql server 2016: System Databases, data types, DML, json, and built-in functionsSql server 2016: System Databases, data types, DML, json, and built-in functions
Sql server 2016: System Databases, data types, DML, json, and built-in functions
 
Mysqlfunctions
MysqlfunctionsMysqlfunctions
Mysqlfunctions
 
Non-Relational Postgres
Non-Relational PostgresNon-Relational Postgres
Non-Relational Postgres
 
Couchbas for dummies
Couchbas for dummiesCouchbas for dummies
Couchbas for dummies
 
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
 
CFCouchbase 2.0 and N1QL
CFCouchbase 2.0 and N1QLCFCouchbase 2.0 and N1QL
CFCouchbase 2.0 and N1QL
 
Modern query optimisation features in MySQL 8.
Modern query optimisation features in MySQL 8.Modern query optimisation features in MySQL 8.
Modern query optimisation features in MySQL 8.
 
The Ring programming language version 1.2 book - Part 32 of 84
The Ring programming language version 1.2 book - Part 32 of 84The Ring programming language version 1.2 book - Part 32 of 84
The Ring programming language version 1.2 book - Part 32 of 84
 
Spring Day | Spring and Scala | Eberhard Wolff
Spring Day | Spring and Scala | Eberhard WolffSpring Day | Spring and Scala | Eberhard Wolff
Spring Day | Spring and Scala | Eberhard Wolff
 
SQL Windowing
SQL WindowingSQL Windowing
SQL Windowing
 

Kürzlich hochgeladen

Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...amitlee9823
 
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...amitlee9823
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachBoston Institute of Analytics
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men 🔝Mathura🔝 Escorts...
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men  🔝Mathura🔝   Escorts...➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men  🔝Mathura🔝   Escorts...
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men 🔝Mathura🔝 Escorts...amitlee9823
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...amitlee9823
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -Pooja Nehwal
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...amitlee9823
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 

Kürzlich hochgeladen (20)

Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning Approach
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men 🔝Mathura🔝 Escorts...
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men  🔝Mathura🔝   Escorts...➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men  🔝Mathura🔝   Escorts...
➥🔝 7737669865 🔝▻ Mathura Call-girls in Women Seeking Men 🔝Mathura🔝 Escorts...
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
 

03 2017Emea_RoadshowMilan-WhatsNew-Mariadbserver10_2andmaxscale 2_1

  • 1. What’s New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
  • 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 •  MariaDB supports –  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 –  Aggregate functions that are currently supported as window functions are: COUNT, SUM, AVG, BIT_OR, BIT_AND, BIT_XOR. –  Aggregate functions with the DISTINCT specifier (e.g. COUNT( DISTINCT x)) are not supported as window functions. Supported Functions
  • 11. Analytics SQL Common Table Expressions (CTE)
  • 12. CTE •  Hierarchical and recursive queries for SQL were introduced in SQL:1999 and were implemented as common table expressions (CTEs) •  A Common Table Expression is basically a temporary and named result set, derived from a simple query •  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 Refer to a subquery expression many times in a query. A temporary table that only exists for the duration of a query.
  • 13. 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
  • 14. JSON JSON & GeoJSON Functions
  • 15. JSON •  JSON (Java Script Object Notation), a text based and platform independent data exchange format •  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
  • 16. JSON Example Working with JSON Data 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))); Field for JSON Data Virtual column for Index on JSON key Constraint to validate JSON format
  • 17. 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"} category: Software Insert like a string JSON_VALUE based Virtual Column entry
  • 18. 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
  • 19. JSON Function Examples SELECT JSON_ARRAY(56, 3.1416, 'My name is "Foo"', NULL); +--------------------------------------------------+ | Json_Array(56, 3.1416, 'My name is "Foo"', NULL) | +--------------------------------------------------+ | [56, 3.1416, "My name is "Foo"", null] | +--------------------------------------------------+ SELECT JSON_OBJECT("id", 1, "name", "Monty"); +---------------------------------------+ | JSON_OBJECT("id", 1, "name", "Monty") | +---------------------------------------+ | {"id": 1, "name": "Monty"} | +---------------------------------------+ JSON array from listed values JSON object from key,value pairs
  • 20. JSON Function Examples SELECT json_query('{"key1":123, "key1": [1,2,3]}', '$.key1'); +-------------------------------------------------------+ | json_query('{"key1":123, "key1": [1,2,3]}', '$.key1') | +-------------------------------------------------------+ | [1,2,3] | +-------------------------------------------------------+ select json_query('{"key1":{"a":1, "b":[1,2]}}', '$.key1'); +-----------------------------------------------------+ | json_query('{"key1":{"a":1, "b":[1,2]}}', '$.key1') | +-----------------------------------------------------+ | {"a":1, "b":[1,2]} | +-----------------------------------------------------+ query JSON array query JSON object
  • 21. 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
  • 22. JSON Function Examples SELECT ST_AsGeoJSON(ST_GeomFromText('POINT(5.3 7.2)')); +-------------------------------------------------+ | ST_AsGeoJSON(ST_GeomFromText('POINT(5.3 7.2)')) | +-------------------------------------------------+ | {"type": "Point", "coordinates": [5.3, 7.2]} | +-------------------------------------------------+ SET @j = '{ "type": "Point", "coordinates": [5.3, 15.0]}'; SELECT ST_AsText(ST_GeomFromGeoJSON(@j)); +-----------------------------------+ | ST_AsText(ST_GeomFromGeoJSON(@j)) | +-----------------------------------+ | POINT(5.3 15) | +-----------------------------------+ ST_AsGeoJSON returns the given geometry as a GeoJSON element ST_GeomFromGeoJSON given a GeoJSON input, returns a geometry object:
  • 24. 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
  • 26. Database Compatibility •  Multi-Trigger Support per Type –  Beginning with MariaDB Server 10.2, multiple triggers of the same type (BEFORE, AFTER) can be created per table –  The CREATE TRIGGER Statement now allows to define [{ FOLLOWS | PRECEDES } other_trigger_name ] when creating a trigger •  CHECK constraints allow data validation per column –  Check constraints helps a DBA to enforce data consistency on the database server level without the need to implement triggers •  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
  • 27. 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
  • 29. Enhancements from MySQL InnoDB 5.7 •  Some of the InnoDB 5.7 enhancements are: –  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
  • 30. 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.
  • 32. 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
  • 34. New Security related User 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 Limit the load a user can add to the server; enforce secure connections
  • 35. 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
  • 37. 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
  • 38. 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
  • 39. 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
  • 41. 41 MariaDB MaxScale Database Proxy platform for ●  Scalability ●  Security ●  High Availability ●  Data Streaming ●  Latest GA Version 2.0 ●  Soon to be GA version 2.1 ●  Part of MariaDB Enterprise Offering MaxScale MaxScale
  • 42. MariaDB MaxScale Concept Generic Core ▪  Multi-threaded ▪  e-poll based ▪  Stateless ▪  Shares the thread pool Flexible, easy to write plug-ins for ▪  Protocol support ▪  Authentication ▪  Database monitoring ▪  Load balancing and routing ▪  Query Transformation and logging ProtocolCore Rou$ng   Database Servers MaxScale MaxScale Master Slaves Binlog Cache ●  Insulates client applications from the complexities of backend database cluster ●  Simplify replication from database to other databases Client
  • 43. 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
  • 44. Up to 2.8 x Performance Gain MaxScale 2.1 Performance Gain Read Only Read Write QPSQPS Number of Connections
  • 45. 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
  • 46. •  Secured Binlog Server –  Encrypt binlog server files on MaxScale –  SSL between binlog server and Master/Slave •  Secured user access –  LDAP/GSSAPI for secured single sign-on across OS platforms(windows, linux), applications and databases Slaves Security Master Slaves SSL SSL SSL SSL Binlog  Cache   Binlog  Cache   MaxScale MaxScale
  • 47. Security •  HIPPA/PCI Compliance: Selective Data Masking based on column name –  Database name, Table name classifier may be provided •  commerceDb.customerTbl.creditcardNum •  customerTbl.creditcardNum •  credicardNum SELECT Name, creditcardNum, balance FROM customerTbl WHERE id=1001 Name creditcardNum balance --------------------------------------- John Smith xxxxxxxxxx 1201.07 Client MaxScale Database Servers "rules":  [                        {                            "replace":  {                                  "column":  "creditcardNum"                            },                            "with":  {                                  "value":  "XXXXXXXXX",                                  “fill":  "0"                            }                        },                        ...                    ]  
  • 48. Security •  DDoS Protection •  Maximum rows filter –  Return zero rows to client if number of rows in result set exceeds configured max limit –  Return zero rows to client if the size of result set exceeds configured max size in KB MaxRowsLimit Filter Max Rows Limit = 500 NumRows Returned > MaxRows Limit NumRows returned = 1000 5 Query result: Error or Empty result set Query Query 4 1 32 MaxScale Clients Database Servers Configuration:     max_resultset_return=empty|error|ok   max_resultset_size=128Ki   max_resultset_rows=1000  
  • 49. Security •  SQL Injection Protection –  Prepared Statement filtering by database firewall •  Apply database firewall rules to prepared statements –  Function name filtering by database firewall •  Black/White list query based on specific function being called in the SQL -­‐  Block  queries  wildcard  *   -­‐  Prevent  rapid  execution  of  specific  queries   -­‐  Block  queries  without  WHERE  clause     Example:  with  rules.conf   rule  limit_rate  deny  limit_queries  10  5  60   rule  peak_hours  deny  wildcard  at_times  17:00:00-­‐17:30:00                    rule  safe_del  deny  no_where_clause  on_queries  delete                    rule  query_regex  deny  regex  '.*select.*from.*user_data.*'  
  • 50. Scalability with MaxScale 2.1 •  Existing in MaxScale 2.0 –  Transaction Scaling to support user growth and simplify applications •  MariaDB Master/Slave and MariaDB Galera Cluster –  Load balancing –  Database aware dynamic query routing –  Traffic profile based routing –  Replication Scaling to support web-scale applications’ user base •  Binlog Server for horizontal scaling of slaves in Master/Slave architecture –  Multi-tenant database scaling to transparently grow tenants and data volume •  Schema sharding –  Connection Rate Limitation •  New in MaxScale 2.1 –  Aurora Cluster Monitor –  Multi-master and Failover mode for MySQL Monitor –  Consistent Critical Read Filter: Master Pinning
  • 51. 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
  • 52. Consistent Critical Read •  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 match=.*INSERT.*    //  which statements trigger the statement re-routing time=5    //  Time  window  for  routing  queries  to  master   Result: INSERT INTO db1.tbl1 (id, name) VALUES(100, ‘Dan’); // sent to master SELECT @@server_id; // forced route to master SELECT name FROM db1.tbl1 WHERE name = ‘Dan’; // forced route to master
  • 53. Query Cache •  New in MaxScale 2.1 –  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: rules=/path/to/rules-­‐ file.json   In memory LRU cache. MaxScale Clients Database Servers
  • 54. Batch Insert •  New in MaxScale 2.1 –  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 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’;  
  • 55. Ease of Use •  New in MaxScale 2.1 –  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
  • 56. Future •  MariaDB 10.2 Support •  Cross Data Center HA enablement •  PAMD Authentication •  More performance enhancement •  Additional protocols •  Tighter integration with MariaDB ColumnStore MaxScale
  • 57. Thank you Maria Luisa Raviol Senior Sales Engineer mluisa.raviol@mariadb.com Massimiliano Pinto Senior Software Solutions Engineer massimiliano.pinto@mariadb.com