SlideShare a Scribd company logo
Transparent Sharding
with Spider
Kentoku Shiba
Principal Software Engineer
MariaDB Corporation
Ralf Gebhardt
Product Manager
MariaDB Corporation
Agenda
● MariaDB Platform X3
● Scalability, the big picture including Spider
● Spider - The Storage Engine
○ Sharding
○ High Availability
○ Use Case
○ Getting started
○ What’s new
MariaDB Platform X3
Applications
Containers
MariaDB Platform X3
MariaDB MaxScale 2.3
CDC
MariaDB Server 10.3
InnoDB/Spider/...
MariaDB Server 10.3
ColumnStore 1.3
Transactional Analytical
Kubernetes (Helm) Docker (Compose)
C JDBC ODBC Node.js
Ingest streaming data
Kafka connector
Administration
SQL Diagnostic
Manager
SQLyog
MariaDB Backup
MariaDB Flashback
Import bulk data
Spark connector
C/Java/Python API
Scalability
The big picture and
Spider
Application
Connection 1
MariaDB
Server
Row storage
MariaDB Server
Columnar
storage
MariaDB
MaxScale
Transactional Analytical
MariaDB Server
(Spider)
Application
Connection 1
MariaDB Server
(ColumnStore)
Node 1
Columnar
storage
Node 2
Columnar
storage
Node n
Columnar
storage
Distributed storage
MariaDB
MaxScale
Transactional Analytical
MariaDB
Server
Row storage
MariaDB Server
(Spider)
Application
Connection 1
MariaDB
Server 1
Row storage
MariaDB
Server 2
Row storage
MariaDB
Server n
Row storage
MariaDB Server
(ColumnStore)
Sharding
MariaDB
MaxScale
Transactional Analytical
MariaDB Server
Columnar
storage
MariaDB Server
(Spider)
Application
Connection 1
MariaDB
Server 1
Row storage
MariaDB
Server 2
Row storage
MariaDB
Server n
Row storage
MariaDB Server
(ColumnStore)
CS node 1
Columnar
storage
CS node 2
Columnar
storage
CS node n
Columnar
storage
Sharding Distributed storage
MariaDB
MaxScale
Transactional Analytical
Spider
The Storage Engine
When and Why Should I Use Spider?
● A need to scale for OLTP
○ Data set is growing
○ Lots of concurrent operations on the data
● Sharding with Spider is simple
○ Transparent to the Application
○ Same optimisation rules apply as for using SQL partitioning
● No expensive hardware needed
What is Spider?
● A storage engine plugin
○ Spider doesn’t itself store data
● Manage storage and retrieval of
data stored using other storage
engines
● Sharding solution that stores data
remotely on other servers
○ Distribute I/O-Load
● Partition tables using the Partition
Engine
● View the data as if it is local
MariaDB Server
MariaDB
Server 1
Sharding
Application
Engine=InnoDB
MariaDB
Server 2
Engine=InnoDB
MariaDB
Server 3
Engine=InnoDB
Engine=Spider
What is Spider?
1. Receive a request
2. Execute the request
a. Distribute SQL to data nodes
b. Receive and consolidate results
from data nodes
3. Send reply
MariaDB Server
MariaDB
Server 1
Sharding
Application
Engine=InnoDB
MariaDB
Server 2
Engine=InnoDB
MariaDB
Server 3
Engine=InnoDB
Engine=Spider2a 2b
31
Sharding with Spider
Sharding using Partitions
● Usual rules to partitioning apply
● Goal - Reduce the data set for
queries
● Partitioning rules
○ Range
○ Key
○ Hash
○ List
Partition Engine
Data Node
Spider
Data Node
T1
P1
P2
P3
T1 T1
Data Node
T1
XA
2 PC
P1
P2
P3
Sharding using Partitions
● Engine condition pushdown
● Index hints
● Join
● Aggregation
● Direct update/delete
Spider pushdown
Data Node
Spider
Data Node
T1
P1
P2
P3
T1 T1
Data Node
T1
XA
2 PC
P1
P2
P3
High Availability by
Spider
● Full copy of the table on each
data node
● For SELECTs, Spider
performs load balancing
● INSERTs, UPDATEs and
DELETEs are parallelized
High Availability
Data Node
Spider
T1
T1
Data Node
T1
● Full copy of a partition on a second data
node
● For SELECTs, Spider performs load
balancing
● INSERTs, UPDATEs and DELETEs are
parallelized
High Availability for Shards
Spider
T1
P1
P2
Data Node
T1
P1
Data Node
T1 P2
Data Node
T1
P1
Data Node
T1 P2
● Multiple Spider Nodes can access the
same Data Nodes
● Access Spider Node via
○ MariaDB MaxScale
○ MariaDB Connector/J Multi-Connection
○ Virtual IP setup
High Availability for Spider
Spider
T1
P1
P2
Data Node
T1
P2
Data Node
T1
P1
Data Node
T1
P2
Spider
T1
P1
P2
Data Node
P1
T1
P1
MaxScale / Connector/J / VIP
Use Case
Backup and Reporting
Data Node
Spider
Data Node
T1
P1
P2
P3
T1 T1
Data Node
T1
P1
P2
P3
Slave
T1
P1
P2
P3
Statement based Replication
Application
Backup / Report
Local Access to Data Nodes
Prod1
T1
Machine 1
Production
Monitoring
Spider
P
1
P
2
C
Machine 2
Prod2
T2
● Data Nodes for storing data of interest
○ Manufacturing
○ Per Location
○ Per Supplier
● Spider Node to
○ Monitor overall production status
○ Consolidated view of all locations
○ Supplier Chain, Dependencies, ...
Getting Started with
Spider
Prepare Data Nodes
$ mysql –u root
…
MariaDB> CREATE DATABASE dbsharded;
MariaDB> CREATE USER 'spider'@'192.168.56.20' IDENTIFIED BY 'spider';
MariaDB> GRANT ALL ON dbsharded.* TO 'spider'@' 192.168.56.20';
● Create database
● Create User for Spider Node
● Grant access to the shared database
Maria
DB
Serve
r
Prepare Spider Node
$ mysql -u root -p < /usr/share/mysql/install_spider.sql
● Install the Spider storage engine
$ mysql -u root -p
MariaDB> SELECT engine, support, transactions, xa FROM
information_schema.engines;
+--------------------+---------+--------------+------+
| engine | support | transactions | xa |
+--------------------+---------+--------------+------+
| SPIDER | YES | YES | YES |
| CSV | YES | NO | NO |
Maria
DB
Serve
r
Prepare Spider Node
● Create the server definitions for the data nodes
$ mysql -u root -p
MariaDB> CREATE SERVER data1 FOREIGN DATA WRAPPER mysql OPTIONS
(HOST '192.168.56.21', DATABASE 'dbsharded', USER 'spider', PASSWORD
'pw_spider');
MariaDB> CREATE SERVER data2 FOREIGN DATA WRAPPER mysql OPTIONS
(HOST '192.168.56.22', DATABASE 'dbsharded', USER 'spider', PASSWORD
'pw_spider');
MariaDB> CREATE SERVER data3 FOREIGN DATA WRAPPER mysql OPTIONS
(HOST '192.168.56.23', DATABASE 'dbsharded', USER 'spider', PASSWORD
'pw_spider');
Maria
DB
Serve
r
Create Tables on Data Node
● Create tables on all data nodes or use existing ones
○ These tables will hold the data
● The Spider node needs to have access to the tables
MariaDB> CREATE TABLE dbsharded.mytable(
id INT NOT NULL,
code VARCHAR(10),
PRIMARY KEY(id)
)ENGINE=INNODB;
Maria
DB
Serve
r
Create Table on Spider Node
● Create the table with the same structure on the Spider node
○ The table will not hold any data
MariaDB> CREATE TABLE mytable(id INT NOT NULL, code VARCHAR(10),
PRIMARY KEY(id))
ENGINE=SPIDER COMMENT='user "backend", table "mytable"'
PARTITION BY RANGE(id)
(
PARTITION p1 VALUES LESS THAN (100000)
COMMENT='server "data1"',
PARTITION p2 VALUES LESS THAN (200000)
COMMENT='server "data2"',
PARTITION p3 VALUES LESS THAN MAXVALUE
COMMENT='server "data3"');
Maria
DB
Serve
r
Maria
DB
Serve
r
Spider Management
● When installing Spider, new tables will be added to the system tables
MariaDB> show tables like 'spider%';
+---------------------------+
| Tables_in_mysql (spider%) |
+---------------------------+
| spider_link_failed_log |
| spider_link_mon_servers |
| spider_tables |
| spider_xa |
| spider_xa_failed_log |
| spider_xa_member |
+---------------------------+
Maria
DB
Serve
r
Maria
DB
Serve
r
Spider Management
● When installing Spider, it will add
○ new tables to the system tables
○ New system variables
○ New status values
○ Spider UDFs
MariaDB> show tables like 'spider%';
...
MariaDB> show global variables like 'spider%’;
...
MariaDB> show global status like 'spider%’;
Maria
DB
Serve
r
Maria
DB
Serve
r
Good to know
● Check your usual queries for how they use partitions
● Define the partition of interest
MariaDB> EXPLAIN PARTITIONS SELECT * FROM orders WHERE id < 150000;
+------+-------------+--------+------------+ -------+---------------+---------+---------+------+------+-------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+--------+------------+ -------+---------------+---------+---------+------+------+-------------+
| 1 | SIMPLE | orders | p2 | range | PRIMARY | PRIMARY | 4 | NULL | 2 | Using where |
+------+-------------+--------+------------+ -------+---------------+---------+---------+------+------+-------------+
MariaDB> SELECT * FROM orders PARTITION (p3) WHERE code = "JFK";
Maria
DB
Serve
r
Maria
DB
Serve
r
What’s New in
Spider?
What’s New in Spider?
● DDL Pushdown
○ Create table pushdown
● Support more aggregate functions for direct join feature
○ count(distinct)
○ sum(distinct)
○ avg() and avg(distinct)
● Support left and right join for direct join feature
● Options to replication
○ Slave trx isolation
● Options to quick mode
○ Use disk by size of result set from data nodes
● Contributions from Tencent
What’s New
in Spider?
DDL Pushdown
● Pushdown CREATE
TABLE statement to
data nodes.
Data Node
Spider Node
Data Node
Create table t1(
Id int not null,
…
) engine=InnoDB;
Create table t1(
Id int not null,
…
) engine=InnoDB;
Create table t1(
Id int not null,
…
) engine=Spider
Partition by … (
Partition …
Partition …
);
1
2 2
3
What’s New
in Spider?
Support more aggregate functions for direct join feature
● count(distinct)
● sum(distinct)
● avg() and avg(distinct)
Data Node
Spider Node
Data Node
Select count(distinct c2)
from t1 where c1 = 1;
1
2Select count(distinct c2)
from t1 where c1 = 1;
What’s New in Spider?
Support left and right join for direct join feature
Data Node
Spider Node
Data Node
1
2
Select … from t1 left join t2 on … where t1.c2 = t2.c1;
Select … from t1 left join t2 on … where t1.c2 = t2.c1;
What’s New in Spider?
Options to replication
● Slave trx isolation
Data Node
Slave
(Spider Node)
Data Node
replication
Master
Repeatable read
Repeatable read normally
Read committed only for replication
(spider_slave_trx_isolation = 1)
What’s New in Spider?
Options to quick mode
● Use disk by size of result
set from data nodes
Data NodeData Node
Spider Node
Use a disk temporary table if a resultset
from a data node is too big.
What’s New in Spider?
Contributions from Tencent:
● Bug fixes
What’s Ahead for
Spider?
What’s Ahead for Spider?
● Vertical Partition (VP) Engine
○ Multi-dimensional sharding
○ VP merges multiple child tables into a single view
○ VP efficiently chooses child tables for each query
● DDL pushdown
○ Support synchronization between Spider nodes
○ Support other DDLs like alter table
THANK YOU!
Ad

More Related Content

What's hot (20)

Maxscale_메뉴얼
Maxscale_메뉴얼Maxscale_메뉴얼
Maxscale_메뉴얼
NeoClova
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
Wagner Bianchi
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScale
MariaDB plc
 
MySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxMySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptx
NeoClova
 
MariaDB Optimization
MariaDB OptimizationMariaDB Optimization
MariaDB Optimization
JongJin Lee
 
Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
Frederic Descamps
 
MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바
NeoClova
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Corporation
 
MMUG18 - MySQL Failover and Orchestrator
MMUG18 - MySQL Failover and OrchestratorMMUG18 - MySQL Failover and Orchestrator
MMUG18 - MySQL Failover and Orchestrator
Simon J Mudd
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
I Goo Lee
 
MariaDB Galera Cluster presentation
MariaDB Galera Cluster presentationMariaDB Galera Cluster presentation
MariaDB Galera Cluster presentation
Francisco Gonçalves
 
MySQL Spider Architecture
MySQL Spider ArchitectureMySQL Spider Architecture
MySQL Spider Architecture
I Goo Lee
 
MariaDB High Availability
MariaDB High AvailabilityMariaDB High Availability
MariaDB High Availability
MariaDB plc
 
How to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScaleHow to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScale
MariaDB plc
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
NeoClova
 
How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)
DataStax Academy
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
NeoClova
 
Optimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performanceOptimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performance
MariaDB plc
 
MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and Concepts
Tuyen Vuong
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Mydbops
 
Maxscale_메뉴얼
Maxscale_메뉴얼Maxscale_메뉴얼
Maxscale_메뉴얼
NeoClova
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
Wagner Bianchi
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScale
MariaDB plc
 
MySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxMySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptx
NeoClova
 
MariaDB Optimization
MariaDB OptimizationMariaDB Optimization
MariaDB Optimization
JongJin Lee
 
Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
Frederic Descamps
 
MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바MySQL Advanced Administrator 2021 - 네오클로바
MySQL Advanced Administrator 2021 - 네오클로바
NeoClova
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Corporation
 
MMUG18 - MySQL Failover and Orchestrator
MMUG18 - MySQL Failover and OrchestratorMMUG18 - MySQL Failover and Orchestrator
MMUG18 - MySQL Failover and Orchestrator
Simon J Mudd
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
I Goo Lee
 
MariaDB Galera Cluster presentation
MariaDB Galera Cluster presentationMariaDB Galera Cluster presentation
MariaDB Galera Cluster presentation
Francisco Gonçalves
 
MySQL Spider Architecture
MySQL Spider ArchitectureMySQL Spider Architecture
MySQL Spider Architecture
I Goo Lee
 
MariaDB High Availability
MariaDB High AvailabilityMariaDB High Availability
MariaDB High Availability
MariaDB plc
 
How to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScaleHow to Manage Scale-Out Environments with MariaDB MaxScale
How to Manage Scale-Out Environments with MariaDB MaxScale
MariaDB plc
 
MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바MySQL Administrator 2021 - 네오클로바
MySQL Administrator 2021 - 네오클로바
NeoClova
 
How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)
DataStax Academy
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
NeoClova
 
Optimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performanceOptimizing MariaDB for maximum performance
Optimizing MariaDB for maximum performance
MariaDB plc
 
MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and Concepts
Tuyen Vuong
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Mydbops
 

Similar to Transparent sharding with Spider: what's new and getting started (20)

Tweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский ДмитрийTweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский Дмитрий
GeeksLab Odessa
 
MariaDB Platform for hybrid transactional/analytical workloads
MariaDB Platform for hybrid transactional/analytical workloadsMariaDB Platform for hybrid transactional/analytical workloads
MariaDB Platform for hybrid transactional/analytical workloads
MariaDB plc
 
GR740 User day
GR740 User dayGR740 User day
GR740 User day
klepsydratechnologie
 
Spider Setup with AWS/sandbox
Spider Setup with AWS/sandboxSpider Setup with AWS/sandbox
Spider Setup with AWS/sandbox
I Goo Lee
 
Achieving Extreme Scale with ScyllaDB: Tips & Tradeoffs
Achieving Extreme Scale with ScyllaDB: Tips & TradeoffsAchieving Extreme Scale with ScyllaDB: Tips & Tradeoffs
Achieving Extreme Scale with ScyllaDB: Tips & Tradeoffs
ScyllaDB
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB plc
 
Using spider for sharding in production
Using spider for sharding in productionUsing spider for sharding in production
Using spider for sharding in production
Kentoku
 
What to expect from MariaDB Platform X5, part 1
What to expect from MariaDB Platform X5, part 1What to expect from MariaDB Platform X5, part 1
What to expect from MariaDB Platform X5, part 1
MariaDB plc
 
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightHow Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
ScyllaDB
 
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Exploiting GPU's for Columnar DataFrrames by Kiran LonikarExploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Spark Summit
 
Schema replication using oracle golden gate 12c
Schema replication using oracle golden gate 12cSchema replication using oracle golden gate 12c
Schema replication using oracle golden gate 12c
uzzal basak
 
What’s new in MariaDB ColumnStore
What’s new in MariaDB ColumnStoreWhat’s new in MariaDB ColumnStore
What’s new in MariaDB ColumnStore
MariaDB plc
 
MariaDB pres at LeMUG
MariaDB pres at LeMUGMariaDB pres at LeMUG
MariaDB pres at LeMUG
Serge Frezefond
 
Bogdan Kecman INIT Presentation
Bogdan Kecman INIT PresentationBogdan Kecman INIT Presentation
Bogdan Kecman INIT Presentation
arhismece
 
Drupal MySQL Cluster
Drupal MySQL ClusterDrupal MySQL Cluster
Drupal MySQL Cluster
Kris Buytaert
 
What to expect from MariaDB Platform X5, part 2
What to expect from MariaDB Platform X5, part 2What to expect from MariaDB Platform X5, part 2
What to expect from MariaDB Platform X5, part 2
MariaDB plc
 
TiDB vs Aurora.pdf
TiDB vs Aurora.pdfTiDB vs Aurora.pdf
TiDB vs Aurora.pdf
ssuser3fb50b
 
MariaDB ColumnStore
MariaDB ColumnStoreMariaDB ColumnStore
MariaDB ColumnStore
MariaDB plc
 
Big data should be simple
Big data should be simpleBig data should be simple
Big data should be simple
Dori Waldman
 
How to make data available for analytics ASAP
How to make data available for analytics ASAPHow to make data available for analytics ASAP
How to make data available for analytics ASAP
MariaDB plc
 
Tweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский ДмитрийTweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский Дмитрий
GeeksLab Odessa
 
MariaDB Platform for hybrid transactional/analytical workloads
MariaDB Platform for hybrid transactional/analytical workloadsMariaDB Platform for hybrid transactional/analytical workloads
MariaDB Platform for hybrid transactional/analytical workloads
MariaDB plc
 
Spider Setup with AWS/sandbox
Spider Setup with AWS/sandboxSpider Setup with AWS/sandbox
Spider Setup with AWS/sandbox
I Goo Lee
 
Achieving Extreme Scale with ScyllaDB: Tips & Tradeoffs
Achieving Extreme Scale with ScyllaDB: Tips & TradeoffsAchieving Extreme Scale with ScyllaDB: Tips & Tradeoffs
Achieving Extreme Scale with ScyllaDB: Tips & Tradeoffs
ScyllaDB
 
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance OptimizationMariaDB Paris Workshop 2023 - Performance Optimization
MariaDB Paris Workshop 2023 - Performance Optimization
MariaDB plc
 
Using spider for sharding in production
Using spider for sharding in productionUsing spider for sharding in production
Using spider for sharding in production
Kentoku
 
What to expect from MariaDB Platform X5, part 1
What to expect from MariaDB Platform X5, part 1What to expect from MariaDB Platform X5, part 1
What to expect from MariaDB Platform X5, part 1
MariaDB plc
 
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightHow Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
ScyllaDB
 
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Exploiting GPU's for Columnar DataFrrames by Kiran LonikarExploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Exploiting GPU's for Columnar DataFrrames by Kiran Lonikar
Spark Summit
 
Schema replication using oracle golden gate 12c
Schema replication using oracle golden gate 12cSchema replication using oracle golden gate 12c
Schema replication using oracle golden gate 12c
uzzal basak
 
What’s new in MariaDB ColumnStore
What’s new in MariaDB ColumnStoreWhat’s new in MariaDB ColumnStore
What’s new in MariaDB ColumnStore
MariaDB plc
 
Bogdan Kecman INIT Presentation
Bogdan Kecman INIT PresentationBogdan Kecman INIT Presentation
Bogdan Kecman INIT Presentation
arhismece
 
Drupal MySQL Cluster
Drupal MySQL ClusterDrupal MySQL Cluster
Drupal MySQL Cluster
Kris Buytaert
 
What to expect from MariaDB Platform X5, part 2
What to expect from MariaDB Platform X5, part 2What to expect from MariaDB Platform X5, part 2
What to expect from MariaDB Platform X5, part 2
MariaDB plc
 
TiDB vs Aurora.pdf
TiDB vs Aurora.pdfTiDB vs Aurora.pdf
TiDB vs Aurora.pdf
ssuser3fb50b
 
MariaDB ColumnStore
MariaDB ColumnStoreMariaDB ColumnStore
MariaDB ColumnStore
MariaDB plc
 
Big data should be simple
Big data should be simpleBig data should be simple
Big data should be simple
Dori Waldman
 
How to make data available for analytics ASAP
How to make data available for analytics ASAPHow to make data available for analytics ASAP
How to make data available for analytics ASAP
MariaDB plc
 
Ad

More from MariaDB plc (20)

MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB Berlin Roadshow Slides - 8 April 2025MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB plc
 
MariaDB München Roadshow - 24 September, 2024
MariaDB München Roadshow - 24 September, 2024MariaDB München Roadshow - 24 September, 2024
MariaDB München Roadshow - 24 September, 2024
MariaDB plc
 
MariaDB Paris Roadshow - 19 September 2024
MariaDB Paris Roadshow - 19 September 2024MariaDB Paris Roadshow - 19 September 2024
MariaDB Paris Roadshow - 19 September 2024
MariaDB plc
 
MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB Amsterdam Roadshow: 19 September, 2024MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB Amsterdam Roadshow: 19 September, 2024
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.x
MariaDB plc
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - Newpharma
MariaDB plc
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - Cloud
MariaDB plc
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB 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 presentation
MariaDB plc
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB 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-Backup
MariaDB 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 2023
MariaDB plc
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
MariaDB plc
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerDie Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise Server
MariaDB 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 analysis
MariaDB plc
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoringUnder the hood: SkySQL monitoring
Under the hood: SkySQL monitoring
MariaDB plc
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connector
MariaDB plc
 
MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB Berlin Roadshow Slides - 8 April 2025MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB plc
 
MariaDB München Roadshow - 24 September, 2024
MariaDB München Roadshow - 24 September, 2024MariaDB München Roadshow - 24 September, 2024
MariaDB München Roadshow - 24 September, 2024
MariaDB plc
 
MariaDB Paris Roadshow - 19 September 2024
MariaDB Paris Roadshow - 19 September 2024MariaDB Paris Roadshow - 19 September 2024
MariaDB Paris Roadshow - 19 September 2024
MariaDB plc
 
MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB Amsterdam Roadshow: 19 September, 2024MariaDB Amsterdam Roadshow: 19 September, 2024
MariaDB Amsterdam Roadshow: 19 September, 2024
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.x
MariaDB plc
 
MariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - NewpharmaMariaDB Paris Workshop 2023 - Newpharma
MariaDB Paris Workshop 2023 - Newpharma
MariaDB plc
 
MariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - CloudMariaDB Paris Workshop 2023 - Cloud
MariaDB Paris Workshop 2023 - Cloud
MariaDB plc
 
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB EnterpriseMariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB Paris Workshop 2023 - MariaDB Enterprise
MariaDB 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 presentation
MariaDB plc
 
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentationMariaDB Paris Workshop 2023 - DARVA presentation
MariaDB Paris Workshop 2023 - DARVA presentation
MariaDB 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-Backup
MariaDB 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 2023
MariaDB plc
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
MariaDB plc
 
Die Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise ServerDie Neuheiten in MariaDB Enterprise Server
Die Neuheiten in MariaDB Enterprise Server
MariaDB 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 analysis
MariaDB plc
 
Under the hood: SkySQL monitoring
Under the hood: SkySQL monitoringUnder the hood: SkySQL monitoring
Under the hood: SkySQL monitoring
MariaDB plc
 
Introducing the R2DBC async Java connector
Introducing the R2DBC async Java connectorIntroducing the R2DBC async Java connector
Introducing the R2DBC async Java connector
MariaDB plc
 
Ad

Recently uploaded (20)

Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 

Transparent sharding with Spider: what's new and getting started

  • 1. Transparent Sharding with Spider Kentoku Shiba Principal Software Engineer MariaDB Corporation Ralf Gebhardt Product Manager MariaDB Corporation
  • 2. Agenda ● MariaDB Platform X3 ● Scalability, the big picture including Spider ● Spider - The Storage Engine ○ Sharding ○ High Availability ○ Use Case ○ Getting started ○ What’s new
  • 4. Applications Containers MariaDB Platform X3 MariaDB MaxScale 2.3 CDC MariaDB Server 10.3 InnoDB/Spider/... MariaDB Server 10.3 ColumnStore 1.3 Transactional Analytical Kubernetes (Helm) Docker (Compose) C JDBC ODBC Node.js Ingest streaming data Kafka connector Administration SQL Diagnostic Manager SQLyog MariaDB Backup MariaDB Flashback Import bulk data Spark connector C/Java/Python API
  • 6. Application Connection 1 MariaDB Server Row storage MariaDB Server Columnar storage MariaDB MaxScale Transactional Analytical
  • 7. MariaDB Server (Spider) Application Connection 1 MariaDB Server (ColumnStore) Node 1 Columnar storage Node 2 Columnar storage Node n Columnar storage Distributed storage MariaDB MaxScale Transactional Analytical MariaDB Server Row storage
  • 8. MariaDB Server (Spider) Application Connection 1 MariaDB Server 1 Row storage MariaDB Server 2 Row storage MariaDB Server n Row storage MariaDB Server (ColumnStore) Sharding MariaDB MaxScale Transactional Analytical MariaDB Server Columnar storage
  • 9. MariaDB Server (Spider) Application Connection 1 MariaDB Server 1 Row storage MariaDB Server 2 Row storage MariaDB Server n Row storage MariaDB Server (ColumnStore) CS node 1 Columnar storage CS node 2 Columnar storage CS node n Columnar storage Sharding Distributed storage MariaDB MaxScale Transactional Analytical
  • 11. When and Why Should I Use Spider? ● A need to scale for OLTP ○ Data set is growing ○ Lots of concurrent operations on the data ● Sharding with Spider is simple ○ Transparent to the Application ○ Same optimisation rules apply as for using SQL partitioning ● No expensive hardware needed
  • 12. What is Spider? ● A storage engine plugin ○ Spider doesn’t itself store data ● Manage storage and retrieval of data stored using other storage engines ● Sharding solution that stores data remotely on other servers ○ Distribute I/O-Load ● Partition tables using the Partition Engine ● View the data as if it is local MariaDB Server MariaDB Server 1 Sharding Application Engine=InnoDB MariaDB Server 2 Engine=InnoDB MariaDB Server 3 Engine=InnoDB Engine=Spider
  • 13. What is Spider? 1. Receive a request 2. Execute the request a. Distribute SQL to data nodes b. Receive and consolidate results from data nodes 3. Send reply MariaDB Server MariaDB Server 1 Sharding Application Engine=InnoDB MariaDB Server 2 Engine=InnoDB MariaDB Server 3 Engine=InnoDB Engine=Spider2a 2b 31
  • 15. Sharding using Partitions ● Usual rules to partitioning apply ● Goal - Reduce the data set for queries ● Partitioning rules ○ Range ○ Key ○ Hash ○ List Partition Engine Data Node Spider Data Node T1 P1 P2 P3 T1 T1 Data Node T1 XA 2 PC P1 P2 P3
  • 16. Sharding using Partitions ● Engine condition pushdown ● Index hints ● Join ● Aggregation ● Direct update/delete Spider pushdown Data Node Spider Data Node T1 P1 P2 P3 T1 T1 Data Node T1 XA 2 PC P1 P2 P3
  • 18. ● Full copy of the table on each data node ● For SELECTs, Spider performs load balancing ● INSERTs, UPDATEs and DELETEs are parallelized High Availability Data Node Spider T1 T1 Data Node T1
  • 19. ● Full copy of a partition on a second data node ● For SELECTs, Spider performs load balancing ● INSERTs, UPDATEs and DELETEs are parallelized High Availability for Shards Spider T1 P1 P2 Data Node T1 P1 Data Node T1 P2 Data Node T1 P1 Data Node T1 P2
  • 20. ● Multiple Spider Nodes can access the same Data Nodes ● Access Spider Node via ○ MariaDB MaxScale ○ MariaDB Connector/J Multi-Connection ○ Virtual IP setup High Availability for Spider Spider T1 P1 P2 Data Node T1 P2 Data Node T1 P1 Data Node T1 P2 Spider T1 P1 P2 Data Node P1 T1 P1 MaxScale / Connector/J / VIP
  • 22. Backup and Reporting Data Node Spider Data Node T1 P1 P2 P3 T1 T1 Data Node T1 P1 P2 P3 Slave T1 P1 P2 P3 Statement based Replication Application Backup / Report
  • 23. Local Access to Data Nodes Prod1 T1 Machine 1 Production Monitoring Spider P 1 P 2 C Machine 2 Prod2 T2 ● Data Nodes for storing data of interest ○ Manufacturing ○ Per Location ○ Per Supplier ● Spider Node to ○ Monitor overall production status ○ Consolidated view of all locations ○ Supplier Chain, Dependencies, ...
  • 25. Prepare Data Nodes $ mysql –u root … MariaDB> CREATE DATABASE dbsharded; MariaDB> CREATE USER 'spider'@'192.168.56.20' IDENTIFIED BY 'spider'; MariaDB> GRANT ALL ON dbsharded.* TO 'spider'@' 192.168.56.20'; ● Create database ● Create User for Spider Node ● Grant access to the shared database Maria DB Serve r
  • 26. Prepare Spider Node $ mysql -u root -p < /usr/share/mysql/install_spider.sql ● Install the Spider storage engine $ mysql -u root -p MariaDB> SELECT engine, support, transactions, xa FROM information_schema.engines; +--------------------+---------+--------------+------+ | engine | support | transactions | xa | +--------------------+---------+--------------+------+ | SPIDER | YES | YES | YES | | CSV | YES | NO | NO | Maria DB Serve r
  • 27. Prepare Spider Node ● Create the server definitions for the data nodes $ mysql -u root -p MariaDB> CREATE SERVER data1 FOREIGN DATA WRAPPER mysql OPTIONS (HOST '192.168.56.21', DATABASE 'dbsharded', USER 'spider', PASSWORD 'pw_spider'); MariaDB> CREATE SERVER data2 FOREIGN DATA WRAPPER mysql OPTIONS (HOST '192.168.56.22', DATABASE 'dbsharded', USER 'spider', PASSWORD 'pw_spider'); MariaDB> CREATE SERVER data3 FOREIGN DATA WRAPPER mysql OPTIONS (HOST '192.168.56.23', DATABASE 'dbsharded', USER 'spider', PASSWORD 'pw_spider'); Maria DB Serve r
  • 28. Create Tables on Data Node ● Create tables on all data nodes or use existing ones ○ These tables will hold the data ● The Spider node needs to have access to the tables MariaDB> CREATE TABLE dbsharded.mytable( id INT NOT NULL, code VARCHAR(10), PRIMARY KEY(id) )ENGINE=INNODB; Maria DB Serve r
  • 29. Create Table on Spider Node ● Create the table with the same structure on the Spider node ○ The table will not hold any data MariaDB> CREATE TABLE mytable(id INT NOT NULL, code VARCHAR(10), PRIMARY KEY(id)) ENGINE=SPIDER COMMENT='user "backend", table "mytable"' PARTITION BY RANGE(id) ( PARTITION p1 VALUES LESS THAN (100000) COMMENT='server "data1"', PARTITION p2 VALUES LESS THAN (200000) COMMENT='server "data2"', PARTITION p3 VALUES LESS THAN MAXVALUE COMMENT='server "data3"'); Maria DB Serve r Maria DB Serve r
  • 30. Spider Management ● When installing Spider, new tables will be added to the system tables MariaDB> show tables like 'spider%'; +---------------------------+ | Tables_in_mysql (spider%) | +---------------------------+ | spider_link_failed_log | | spider_link_mon_servers | | spider_tables | | spider_xa | | spider_xa_failed_log | | spider_xa_member | +---------------------------+ Maria DB Serve r Maria DB Serve r
  • 31. Spider Management ● When installing Spider, it will add ○ new tables to the system tables ○ New system variables ○ New status values ○ Spider UDFs MariaDB> show tables like 'spider%'; ... MariaDB> show global variables like 'spider%’; ... MariaDB> show global status like 'spider%’; Maria DB Serve r Maria DB Serve r
  • 32. Good to know ● Check your usual queries for how they use partitions ● Define the partition of interest MariaDB> EXPLAIN PARTITIONS SELECT * FROM orders WHERE id < 150000; +------+-------------+--------+------------+ -------+---------------+---------+---------+------+------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+--------+------------+ -------+---------------+---------+---------+------+------+-------------+ | 1 | SIMPLE | orders | p2 | range | PRIMARY | PRIMARY | 4 | NULL | 2 | Using where | +------+-------------+--------+------------+ -------+---------------+---------+---------+------+------+-------------+ MariaDB> SELECT * FROM orders PARTITION (p3) WHERE code = "JFK"; Maria DB Serve r Maria DB Serve r
  • 34. What’s New in Spider? ● DDL Pushdown ○ Create table pushdown ● Support more aggregate functions for direct join feature ○ count(distinct) ○ sum(distinct) ○ avg() and avg(distinct) ● Support left and right join for direct join feature ● Options to replication ○ Slave trx isolation ● Options to quick mode ○ Use disk by size of result set from data nodes ● Contributions from Tencent
  • 35. What’s New in Spider? DDL Pushdown ● Pushdown CREATE TABLE statement to data nodes. Data Node Spider Node Data Node Create table t1( Id int not null, … ) engine=InnoDB; Create table t1( Id int not null, … ) engine=InnoDB; Create table t1( Id int not null, … ) engine=Spider Partition by … ( Partition … Partition … ); 1 2 2 3
  • 36. What’s New in Spider? Support more aggregate functions for direct join feature ● count(distinct) ● sum(distinct) ● avg() and avg(distinct) Data Node Spider Node Data Node Select count(distinct c2) from t1 where c1 = 1; 1 2Select count(distinct c2) from t1 where c1 = 1;
  • 37. What’s New in Spider? Support left and right join for direct join feature Data Node Spider Node Data Node 1 2 Select … from t1 left join t2 on … where t1.c2 = t2.c1; Select … from t1 left join t2 on … where t1.c2 = t2.c1;
  • 38. What’s New in Spider? Options to replication ● Slave trx isolation Data Node Slave (Spider Node) Data Node replication Master Repeatable read Repeatable read normally Read committed only for replication (spider_slave_trx_isolation = 1)
  • 39. What’s New in Spider? Options to quick mode ● Use disk by size of result set from data nodes Data NodeData Node Spider Node Use a disk temporary table if a resultset from a data node is too big.
  • 40. What’s New in Spider? Contributions from Tencent: ● Bug fixes
  • 42. What’s Ahead for Spider? ● Vertical Partition (VP) Engine ○ Multi-dimensional sharding ○ VP merges multiple child tables into a single view ○ VP efficiently chooses child tables for each query ● DDL pushdown ○ Support synchronization between Spider nodes ○ Support other DDLs like alter table