SlideShare a Scribd company logo
Flexible transactional scale for the connected world.
ClustrixDB Technical Overview
o What is ClustrixDB?
o Why is ClustrixDB used?
o Deployment Patterns
o ClustrixDB Architecture
– Core Components
– Data Distribution
– Query Execution Concept
– Online Schema Change
o Performance Benchmarks
o Backup, Replication & Administration
o ClustrixDB 8.0 New Features
Agenda – ClustrixDB Technical Overview
PROPRIETARY & CONFIDENTIAL
What is ClustrixDB?
What does ClustrixDB do?
PROPRIETARY & CONFIDENTIAL
ApplicationsApplications
When MySQL Applications
(or just SQL) have out-grown MySQL
And you don’t want to
modify the application
to use sharding or replication
ClustrixDB combines multiple servers
into a single, powerful database server
That applications continue to see
as a single MySQL server
No sharding or replication necessary
Too many TPS
Too many connections
Too much CPU
ClustrixDB
What does ClustrixDB do?
PROPRIETARY & CONFIDENTIAL
Scale Beyond MySQL without Replication or Sharding
Applications
 More Transactions
 More Connections
 More Reads
 More Writes
ClustrixDB: Scale-Out, Fault-tolerant, MySQL-Compatible
PROPRIETARY & CONFIDENTIAL
ClustrixDB
ACID Compliant
Transactions & Joins
Optimized for OLTP
Built-In Fault Tolerance
Flex-Up and Flex-Down
Minimal DB Admin
Also runs great in
the Data Center
Built to run
in the Cloud
Why ClustrixDB?
Common Approaches to Scaling MySQL
PROPRIETARY & CONFIDENTIAL
Bigger Server
 Easy to do
 No app changes
X Very limited gains
X No HA
Reader Slaves
Writes
Reads
Reads
 Scales reads
 Fairly easy to setup
X No write scaling
X Adds slave lag
app needs to be aware
X App changes
needs to split reads & writes
X No HA
adds DR but needs failover
X Fragile
High burden to maintain
Synchronous Replication Clusters
Galera | Percona XtraDB Cluster | MariaDB Galera Cluster
 Adds HA
 Scales reads
X No write scaling
Writes are multiplied
X Slows down writes
sync rep adds write latency
X No storage scaling
data fully replicated on each node
Database Sharding
 Scales reads
 Scales writes
 Scales storage
X Significant app changes
or entire redesign
X Does not add HA
multiplies the failure points
X DB management overhead
i.e. consistent backup of data set
Common Approaches to Scaling MySQL
PROPRIETARY & CONFIDENTIAL
Bigger Server
 Easy to do
 No app changes
X Very limited gains
X No HA
Reader Slaves
Writes
Reads
Reads
 Scales reads
 Fairly easy to setup
X No write scaling
X Adds slave lag
app needs to be aware
X App changes
needs to split reads & writes
X No HA
adds DR but needs failover
X Fragile
High burden to maintain
Synchronous Replication Clusters
Galera | Percona XtraDB Cluster | MariaDB Galera Cluster
 Adds HA
 Scales reads
X No write scaling
Writes are multiplied
X Slows down writes
sync rep adds write latency
X No storage scaling
data fully replicated on each node
Database Sharding
 Scales reads
 Scales writes
 Scales storage
X Significant app changes
or entire redesign
X Does not add HA
multiplies the failure points
X DB management overhead
i.e. consistent backup of data set
Scaling with ClustrixDB
PROPRIETARY & CONFIDENTIAL
Scale Beyond MySQL without Replication or Sharding
Load Balancer
Scales reads
Scales writes
Scales storage
No App Re-design
Adds HA
Easy to deploy
ClustrixDB
Flex Licensing = Business Agility
PROPRIETARY & CONFIDENTIAL
o ClustrixDB has:
 Technical capability to grow & shrink cluster while online
 Licensing model that aligns with a seasonal business
or temporary workloads
o Flex Licensing
– Annual license covers base cluster size
• e.g. 3-nodes year round
– Monthly Flex license covers seasonal demand
• e.g. 2 extra nodes for Nov & Dec
• And drop to 1 extra node in Jan
ClustrixDB
Deployment Patterns
Typical Cloud Deployment
PROPRIETARY & CONFIDENTIAL
8/16
cores
8/16
cores
8/16
cores
8/16
cores
…
3 nodes
minimum
+N nodes
App Servers
Load
Balancer
ELB or Linux or
Traffic Manager
or HAProxy
• AMI Available
• C3 (General) or I2 (High IO)
• SSD w/ Enhanced Net
• 2xlarge (8-core)
• 4xlarge (16-core)
• LB: Elastic Load Balancing
• Standard w/ SSD
• D13: 8 cores
• D14: 16 cores
• High Performance w/ SSD
• G3: 8 cores
• G4 16 cores
• LB: Azure Traffic Manager
• Standard w/ SSD
• IO1-30: 8 cores
• IO1-60: 16 cores
• LB: Cloud Load Balancer
ClustrixDB
• n1-standard-8: 8 cores
• n1-standard-16: 16 cores
• LB: GCE Load Balancing
Typical On-Premises Deployment
PROPRIETARY & CONFIDENTIAL
3 nodes minimum
App Servers
Hardware or SW
e.g. Linux w/ HAProxy
ClustrixDB
PrivateNetwork
+N nodes
Load
Balancer
…
ClustrixDB Server Specs
• Cores:
• 8 to 16 physical cores
• Disable HT (recommended)
• RAM:
• 64 GB+
• Disks:
• SSD 300 GB+ (6 or more)
• RAID-0 (HW recommended)
• Optionally 1+ HDD for OS &
scratch
• Network:
• Public: 1 GbE (or 10 GbE)
• Private: 10 GbE
(highly recommended)
PublicNetwork
Typical Full Lifecycle Environment
PROPRIETARY & CONFIDENTIAL
Production Standby
DR + Big Query Reporting
Real-time Replication
Staging
Scripted
Refresh
Upgrades, Perf Tuning,
Pre-Prod Validation
Dev
Patches, New Code
Dev/QA, Shared
ClustrixDB Core Components
How It Works
PROPRIETARY & CONFIDENTIAL
ClustrixDB Overview
Fully Distributed & Consistent Cluster
o Fully Consistent, and ACID-compliant database
– Supports transactions
– Support joins
– Optimized for OLTP
– But also supports reporting SQL
o All nodes are equal (no “special” node)
o All servers are read/write
o All servers accept client connections
o Tables & Indexes distributed across all nodes
– Fully automatic distribution, re-balancing
& re-protection
PrivateNetwork
ClustrixDB on commodity/cloud servers
HW or SW Load
Balancer
SQL-based
Applications
High Concurrency
Custom:
PHP, Java, Ruby, etc
Packaged:
Magento, etc
ClustrixDB Design
PROPRIETARY & CONFIDENTIAL
Shared Nothing Architecture
Each Node Contains:
o Query Compiler: distribute compiled partial
query fragments to the node containing the
ranking replica
o Data Map: all nodes know where all replicas
are, and current ranking replicas
o Database Engine: all nodes can perform all
database operations (no leader, aggregator,
leaf, data-only, etc nodes)
o Data: Table Slices: All table slices (default:
replicas=2) auto-redistributed by the
Rebalancer
ClustrixDB
Compiler Map
Engine Data
Compiler Map
Engine Data
Compiler Map
Engine Data
Data Distribution
PROPRIETARY & CONFIDENTIAL
Intelligent Data Distribution
PROPRIETARY & CONFIDENTIAL
S
1
S
2
S
2 S
3
S
3 S
4
S
4 S
5
S
5
o Tables auto-split into slices
o Every slice has a replica on another node
– Slices are auto distributed, auto-protected
S
1
ClustrixDB
BillionsofRows
Database
Tables
Adding Nodes – Flex Up
PROPRIETARY & CONFIDENTIAL
S
1
S
2
S
3
S
3
S
4
S
4
S
5
o Easy and simple Flex Up & Flex Down
– Single minimal interruption of service
o Data is automatically rebalanced across
the cluster
– Tables are online for reads & writes
o All servers handle writes + reads
– Workload is spread across more servers
after Flex Up
S
1
ClustrixDB
S
2
S
5
Loss of a Node – Automatic Fault Tolerance
PROPRIETARY & CONFIDENTIAL
S
2
S
5
S
1
S
2
S
3
S
3
S
4
S
4
S
5
o ClustrixDB detects the loss of a node
– System automatically re-protects
– Data is automatically redistributed
o Slices lost on the failed node are
rapidly re-protected
– Re-protection occurs while tables are
available for reads & writes
o Automated self-healing
– After re-protect the cluster is fully
protected and operational S
1
ClustrixDB
S
2
S
5
S
2
S
5
ClustrixDB Rebalancer: Making the Complex, Simple
PROPRIETARY & CONFIDENTIAL
Q: How do you ensure data stays well distributed in a clustered environment?
A: You let the Rebalancer handle it!
The Rebalancer automatically:
• Initial Data: Distributes the data into even slices across nodes
• Data Growth: Splits large slices into smaller slices
• Flex-Up/Flex-Down: Moves slices to leverage new nodes and/or evacuate nodes
• Failed Nodes: Re-protects slices to ensure proper replicas exist
• Skewed Data: Re-distributes the data to even out across nodes
• Hot Slice Balancing: Finds hot slices and balances then across nodes
…while the DB stays open for reads & writes
Patent 8,543,538
Patent 8,554,726
Patent 9,348,883
Query Execution Concept
Query Processing Model
PROPRIETARY & CONFIDENTIAL
 Parse
 Plan
 Compile
Session
SQL-based
Applications
UPDATE users
SET online = 1
WHERE id = 8797;
HW or SW Load
Balancer
ID: 8797 | … | ONLINE:0
Fragment
o Load balancer spreads DB connections
across all nodes
o A session is established on any node
o Session controls query(s) execution
– Parse SQL
– Generate the execution plan
– Compile into binary fragments
– Lookup record(s) location
– Send fragments
– Complete the transaction
Query Processing Model
PROPRIETARY & CONFIDENTIAL
ID: 8797 | … | ONLINE:0
Session
SQL-based
Applications
UPDATE users
SET online = 1
WHERE id = 8797;
HW or SW Load
Balancer
ID: 8797 | … | ONLINE:1
Ack
o Load balancer spreads DB connections
across all nodes
o A session is established on any node
o Session controls query(s) execution
– Parse SQL
– Generate the execution plan
– Compile into binary fragments
– Lookup record(s) location
– Send fragments
– Complete the transaction
Ack
Online Schema Change
PROPRIETARY & CONFIDENTIAL
Online Schema Change
PROPRIETARY & CONFIDENTIAL
Table
o Allows reads & writes during
ALTER TABLE operations
– Add or remove column
– Rename column
– Change data type
– CREATE INDEX
o Process:
– Queue created to track changes
– Copy of table created
– Queues replayed until synchronized
– Atomic flip of table between transactions
Table
QueueQueueQueue
MYTABLE __building_MYTABLE
Atomic Flip
Reads & Writes
ALTER TABLE mytable ADD (foo int);
Online Schema Change
PROPRIETARY & CONFIDENTIAL
Table
o Allows reads & writes during ALTER
TABLE operations
– Add or remove column
– Rename column
– Change data type
– CREATE INDEX
o Process:
– Queue created to track changes
– Copy of table created
– Queues replayed until synchronized
– Atomic flip of table between transactions
Table
MYTABLE__building_MYTABLE
Atomic Flip
Reads & Writes
ALTER TABLE mytable ADD (foo int);

Performance Benchmarks
Sysbench OLTP 90:10 Mix
PROPRIETARY AND CONFIDENTIAL
o 90% Reads + 10% Writes
– Very typical workload mix
o 1 TPS = 10 SQL
– 9 SELECT + 1 UDATE
– a.k.a 10 operations/sec
o Shows scaling TPS by
adding servers:
– Oak4 = 4 (8-core) servers
– Oak16 = 16 (8-core) servers
– Oak28 = 28 (8-core) servers
To scale TPS while maintaining
Performance (i.e. 20 ms response)
just add servers to ClustrixDB
800,000 SQL/sec
@ 20 ms
Sysbench OLTP 100% Reads
PROPRIETARY AND CONFIDENTIAL
o 100% Reads
– Max throughput test
o 1 TPS = 10 SQL
– 10 SELECT
– a.k.a 10 operations/sec
o Shows scaling TPS by
adding servers:
– Oak6 = 6 (8-core) servers
– Oak18 = 18 (8-core) servers
– Oak30 = 30 (8-core) servers
To scale TPS while maintaining
Performance (i.e. 10 ms response)
just add servers to ClustrixDB
>1 Million SQL/sec
@ 20 ms
Yahoo! Cloud Service Benchmark (YCSB) 95:05 Mix
PROPRIETARY AND CONFIDENTIAL
o 95% Reads + 5% Writes
– 1 Ops/sec = 1 SQL
o Designed to compare NoSQL
engines
– ClustrixDB runs equally fast
o Shows scaling TPS by
adding servers:
– 4 nodes = 4 (8-core) servers
– 16 nodes = 16 (8-core) servers
– 24 nodes = 24 (8-core) servers
To scale TPS while maintaining
Performance (i.e. 3 ms response)
just add servers to ClustrixDB
> 500,000 SQL/sec
@ 3 ms
Yahoo! Cloud Service Benchmark (YCSB) 95:05 Mix
PROPRIETARY AND CONFIDENTIAL
o 95% Reads + 5% Writes
– 1 Ops/sec = 1 SQL
o Over 1 Million SQL/sec
– With <3 ms query response
– And mixed (95:05) workload
– Using 30 ClustrixDB servers
• 16-core AWS instances
Over 1 Million SQL/sec @ 3 ms
on a mixed (95:05) workload
> 1,000,000 SQL/sec
@ 3 ms
MySQL
(largest)
Aurora
(largest)
ClustrixDB
ClustrixDB vs. Aurora vs. MySQL RDS
PROPRIETARY AND CONFIDENTIAL
o 90% Reads + 10% Writes
– Very typical workload mix
o 1 TPS = 10 SQL
– 9 SELECT + 1 UDATE
– a.k.a 10 operations/sec
o ClustrixDB shows scaling TPS
by adding servers:
– Aws4 = 4 (8-core) servers
– Aws16 = 16 (8-core) servers
– Aws20 = 20 (8-core) servers
ClustrixDB scales TPS past Aurora’s
largest instance (db.r3.8xlarge)
Backup, Replication & Administration
Backup, Replication & Disaster Recovery
PROPRIETARY & CONFIDENTIAL
Asynchronous multi-point Replication
ClustrixDB
Parallel Backup
(up to 10x faster)
Replicate to any cloud, any datacenter, anywhere
ClustrixGUI: Performance Monitoring, Diagnostics & Flex
PROPRIETARY AND CONFIDENTIAL
Cluster Health Dashboard
Visually Compare Workloads
ClustrixGUI:
PROPRIETARY AND CONFIDENTIAL
CPU: Dashboard
1.27 Million TPS
On 32 nodes
ClustrixGUI: Rich Monitoring Metrics
PROPRIETARY AND CONFIDENTIAL
Historical Graphs
of various ClustrixDB
performance metrics
Groups:
 Performance
 Diagnostic
 Queries and Rows
 Sessions and Transactions
 Replication
 Disk
ClustrixDB 8.0 New Features
o ClustrixDB 8.0 builds upon the significant performance
improvements in ClustrixDB 7.5
– More reliable
– Easier to use
– Many enhancements requested by our customers
o Additionally, ClustrixDB 8.0 adds these 3 main new features:
– In-Memory Tables
– On-Disk Encryption
– Simplified Cluster Provisioning
ClustrixDB 8.0 – New Features
PROPRIETARY AND CONFIDENTIAL
o Special table container designed for high concurrency writes
– Supports same data types as regular tables
– Supports joins with regular tables
– Read consistent (i.e. MVCC)
– Survives node failure without data loss
o Ideal for scenarios that have:
– High concurrency, write-intensive transactions
– …which are then filtered or aggregated
– …and finally persisted into regular tables
– Examples:
• Sensor data collection
• Log collection
• Write-intensive batch processing
ClustrixDB 8.0 – In-Memory Tables
PROPRIETARY AND CONFIDENTIAL
o Adds encryption for “Data-at-Rest”
o Transparent to applications
– Applications are unaware that the tables are encrypted
– ClustrixDB handles encryption/decryption and the keys
o Uses AES 256-bit encryption
o All tables and all databases are stored as encrypted
ClustrixDB 8.0 – On-Disk Encryption
PROPRIETARY AND CONFIDENTIAL
o Web GUI-driven
o Container-based
o Use for simplified cluster install, and Flex-up/Flex-down
o Designed for:
– AWS environments
– On-premises environments (i.e. bare metal)
ClustrixDB 8.0 – Simplified Cluster Provisioning
PROPRIETARY AND CONFIDENTIAL
Questions & Answers Time
PROPRIETARY AND CONFIDENTIAL
ClustrixDBFlexible Transactional Scale for the Connected World

More Related Content

What's hot (20)

PDF
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
Insight Technology, Inc.
 
PDF
MaxScale - the pluggable router
MariaDB Corporation
 
PDF
Plny12 galera-cluster-best-practices
Dimas Prasetyo
 
PDF
MySQL Group Replication
Manish Kumar
 
PDF
MaxScale for Effective MySQL Meetup NYC - 14.01.21
Ivan Zoratti
 
PDF
Maxscale_메뉴얼
NeoClova
 
PDF
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
Severalnines
 
PDF
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
Sveta Smirnova
 
PPTX
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Corporation
 
PPTX
MySQL Replication Overview -- PHPTek 2016
Dave Stokes
 
PDF
Using and Benchmarking Galera in different architectures (PLUK 2012)
Henrik Ingo
 
PDF
Percona XtraDB Cluster ( Ensure high Availability )
Mydbops
 
PDF
Amazon Aurora로 안전하게 migration 하기
Jesang Yoon
 
PDF
Reducing Risk When Upgrading MySQL
Kenny Gryp
 
PDF
Oss4b - pxc introduction
Frederic Descamps
 
PDF
Galera cluster for MySQL - Introduction Slides
Severalnines
 
PPT
Mysql high availability and scalability
yin gong
 
PDF
Introduction to Galera
Henrik Ingo
 
PDF
Webinar slides: 9 DevOps Tips for Going in Production with Galera Cluster for...
Severalnines
 
DOCX
Upgrading mysql version 5.5.30 to 5.6.10
Vasudeva Rao
 
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
Insight Technology, Inc.
 
MaxScale - the pluggable router
MariaDB Corporation
 
Plny12 galera-cluster-best-practices
Dimas Prasetyo
 
MySQL Group Replication
Manish Kumar
 
MaxScale for Effective MySQL Meetup NYC - 14.01.21
Ivan Zoratti
 
Maxscale_메뉴얼
NeoClova
 
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
Severalnines
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
Sveta Smirnova
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Corporation
 
MySQL Replication Overview -- PHPTek 2016
Dave Stokes
 
Using and Benchmarking Galera in different architectures (PLUK 2012)
Henrik Ingo
 
Percona XtraDB Cluster ( Ensure high Availability )
Mydbops
 
Amazon Aurora로 안전하게 migration 하기
Jesang Yoon
 
Reducing Risk When Upgrading MySQL
Kenny Gryp
 
Oss4b - pxc introduction
Frederic Descamps
 
Galera cluster for MySQL - Introduction Slides
Severalnines
 
Mysql high availability and scalability
yin gong
 
Introduction to Galera
Henrik Ingo
 
Webinar slides: 9 DevOps Tips for Going in Production with Galera Cluster for...
Severalnines
 
Upgrading mysql version 5.5.30 to 5.6.10
Vasudeva Rao
 

Similar to Introduction to ClustrixDB (20)

PPTX
Tech Talk Series, Part 2: Why is sharding not smart to do in MySQL?
Clustrix
 
PPTX
ClustrixDB: how distributed databases scale out
MariaDB plc
 
PPTX
Database Architecture & Scaling Strategies, in the Cloud & on the Rack
Clustrix
 
PDF
Scaling RDBMS on AWS- ClustrixDB @AWS Meetup 20160711
Dave Anselmi
 
PDF
Using ScyllaDB for Extreme Scale Workloads
MarisaDelao3
 
PPTX
NewSQL - Deliverance from BASE and back to SQL and ACID
Tony Rogerson
 
PDF
Azure Cosmos DB - Technical Deep Dive
Andre Essing
 
PPTX
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Jeff Chu
 
PDF
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
sabnees
 
PPT
NoSQL_Night
Clarence J M Tauro
 
PDF
Demystifying the Distributed Database Landscape (DevOps) (1).pdf
ScyllaDB
 
PPTX
BigData Developers MeetUp
Christian Johannsen
 
PPTX
Experience sql server on l inux and docker
Bob Ward
 
PPTX
Redshift overview
Amazon Web Services LATAM
 
PDF
What’s New in ScyllaDB Open Source 5.0
ScyllaDB
 
PPTX
Otimizações de Projetos de Big Data, Dw e AI no Microsoft Azure
Luan Moreno Medeiros Maciel
 
PPTX
Azure CosmosDB the new frontier of big data and nosql
Riccardo Cappello
 
PPTX
Beyond Aurora. Scale-out SQL databases for AWS
Clustrix
 
PPTX
Dragonflow Austin Summit Talk
Eran Gampel
 
PPTX
PostgreSQL as an Alternative to MSSQL
Alexei Krasner
 
Tech Talk Series, Part 2: Why is sharding not smart to do in MySQL?
Clustrix
 
ClustrixDB: how distributed databases scale out
MariaDB plc
 
Database Architecture & Scaling Strategies, in the Cloud & on the Rack
Clustrix
 
Scaling RDBMS on AWS- ClustrixDB @AWS Meetup 20160711
Dave Anselmi
 
Using ScyllaDB for Extreme Scale Workloads
MarisaDelao3
 
NewSQL - Deliverance from BASE and back to SQL and ACID
Tony Rogerson
 
Azure Cosmos DB - Technical Deep Dive
Andre Essing
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Jeff Chu
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
sabnees
 
NoSQL_Night
Clarence J M Tauro
 
Demystifying the Distributed Database Landscape (DevOps) (1).pdf
ScyllaDB
 
BigData Developers MeetUp
Christian Johannsen
 
Experience sql server on l inux and docker
Bob Ward
 
Redshift overview
Amazon Web Services LATAM
 
What’s New in ScyllaDB Open Source 5.0
ScyllaDB
 
Otimizações de Projetos de Big Data, Dw e AI no Microsoft Azure
Luan Moreno Medeiros Maciel
 
Azure CosmosDB the new frontier of big data and nosql
Riccardo Cappello
 
Beyond Aurora. Scale-out SQL databases for AWS
Clustrix
 
Dragonflow Austin Summit Talk
Eran Gampel
 
PostgreSQL as an Alternative to MSSQL
Alexei Krasner
 
Ad

More from I Goo Lee (20)

PDF
MySQL_Fabric_운영시유의사항
I Goo Lee
 
PDF
MySQL Deep dive with FusionIO
I Goo Lee
 
PDF
From MSSQL to MySQL
I Goo Lee
 
PDF
From MSSQL to MariaDB
I Goo Lee
 
PDF
AWS Aurora 100% 활용하기
I Goo Lee
 
PDF
Backup automation in KAKAO
I Goo Lee
 
PDF
텔레그램을 이용한 양방향 모니터링 시스템 구축
I Goo Lee
 
PDF
Federated Engine 실무적용사례
I Goo Lee
 
PDF
MySQL 상태 메시지 분석 및 활용
I Goo Lee
 
PDF
MySQL 5.7 NF – Optimizer Improvement
I Goo Lee
 
PDF
MySQL 5.7 NF – JSON Datatype 활용
I Goo Lee
 
PDF
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
I Goo Lee
 
PDF
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
I Goo Lee
 
PDF
AWS 환경에서 MySQL Infra 설계하기-2본론
I Goo Lee
 
PDF
AWS 환경에서 MySQL Infra 설계하기-1도입부분
I Goo Lee
 
PDF
AWS 환경에서 MySQL BMT
I Goo Lee
 
PDF
MySQL Slow Query log Monitoring using Beats & ELK
I Goo Lee
 
PDF
MySQL Audit using Percona audit plugin and ELK
I Goo Lee
 
PDF
PostgreSQL 이야기
I Goo Lee
 
PDF
Intro KaKao ADT (Almighty Data Transmitter)
I Goo Lee
 
MySQL_Fabric_운영시유의사항
I Goo Lee
 
MySQL Deep dive with FusionIO
I Goo Lee
 
From MSSQL to MySQL
I Goo Lee
 
From MSSQL to MariaDB
I Goo Lee
 
AWS Aurora 100% 활용하기
I Goo Lee
 
Backup automation in KAKAO
I Goo Lee
 
텔레그램을 이용한 양방향 모니터링 시스템 구축
I Goo Lee
 
Federated Engine 실무적용사례
I Goo Lee
 
MySQL 상태 메시지 분석 및 활용
I Goo Lee
 
MySQL 5.7 NF – Optimizer Improvement
I Goo Lee
 
MySQL 5.7 NF – JSON Datatype 활용
I Goo Lee
 
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
I Goo Lee
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
I Goo Lee
 
AWS 환경에서 MySQL Infra 설계하기-2본론
I Goo Lee
 
AWS 환경에서 MySQL Infra 설계하기-1도입부분
I Goo Lee
 
AWS 환경에서 MySQL BMT
I Goo Lee
 
MySQL Slow Query log Monitoring using Beats & ELK
I Goo Lee
 
MySQL Audit using Percona audit plugin and ELK
I Goo Lee
 
PostgreSQL 이야기
I Goo Lee
 
Intro KaKao ADT (Almighty Data Transmitter)
I Goo Lee
 
Ad

Recently uploaded (20)

PPTX
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
PDF
The-Hidden-Dangers-of-Skipping-Penetration-Testing.pdf.pdf
naksh4thra
 
PPTX
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
PPTX
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PDF
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PPTX
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
PPTX
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
PPTX
原版西班牙莱昂大学毕业证(León毕业证书)如何办理
Taqyea
 
PPTX
L1A Season 1 Guide made by A hegy Eng Grammar fixed
toszolder91
 
PPTX
英国假毕业证诺森比亚大学成绩单GPA修改UNN学生卡网上可查学历成绩单
Taqyea
 
PPTX
INTEGRATION OF ICT IN LEARNING AND INCORPORATIING TECHNOLOGY
kvshardwork1235
 
PPTX
一比一原版(SUNY-Albany毕业证)纽约州立大学奥尔巴尼分校毕业证如何办理
Taqyea
 
PPTX
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
PPTX
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
PPTX
Research Design - Report on seminar in thesis writing. PPTX
arvielobos1
 
PPT
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
PPTX
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
PDF
DevOps Design for different deployment options
henrymails
 
PPTX
本科硕士学历佛罗里达大学毕业证(UF毕业证书)24小时在线办理
Taqyea
 
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
The-Hidden-Dangers-of-Skipping-Penetration-Testing.pdf.pdf
naksh4thra
 
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
原版西班牙莱昂大学毕业证(León毕业证书)如何办理
Taqyea
 
L1A Season 1 Guide made by A hegy Eng Grammar fixed
toszolder91
 
英国假毕业证诺森比亚大学成绩单GPA修改UNN学生卡网上可查学历成绩单
Taqyea
 
INTEGRATION OF ICT IN LEARNING AND INCORPORATIING TECHNOLOGY
kvshardwork1235
 
一比一原版(SUNY-Albany毕业证)纽约州立大学奥尔巴尼分校毕业证如何办理
Taqyea
 
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
Research Design - Report on seminar in thesis writing. PPTX
arvielobos1
 
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
DevOps Design for different deployment options
henrymails
 
本科硕士学历佛罗里达大学毕业证(UF毕业证书)24小时在线办理
Taqyea
 

Introduction to ClustrixDB

  • 1. Flexible transactional scale for the connected world. ClustrixDB Technical Overview
  • 2. o What is ClustrixDB? o Why is ClustrixDB used? o Deployment Patterns o ClustrixDB Architecture – Core Components – Data Distribution – Query Execution Concept – Online Schema Change o Performance Benchmarks o Backup, Replication & Administration o ClustrixDB 8.0 New Features Agenda – ClustrixDB Technical Overview PROPRIETARY & CONFIDENTIAL
  • 4. What does ClustrixDB do? PROPRIETARY & CONFIDENTIAL ApplicationsApplications When MySQL Applications (or just SQL) have out-grown MySQL And you don’t want to modify the application to use sharding or replication ClustrixDB combines multiple servers into a single, powerful database server That applications continue to see as a single MySQL server No sharding or replication necessary Too many TPS Too many connections Too much CPU ClustrixDB
  • 5. What does ClustrixDB do? PROPRIETARY & CONFIDENTIAL Scale Beyond MySQL without Replication or Sharding Applications  More Transactions  More Connections  More Reads  More Writes
  • 6. ClustrixDB: Scale-Out, Fault-tolerant, MySQL-Compatible PROPRIETARY & CONFIDENTIAL ClustrixDB ACID Compliant Transactions & Joins Optimized for OLTP Built-In Fault Tolerance Flex-Up and Flex-Down Minimal DB Admin Also runs great in the Data Center Built to run in the Cloud
  • 8. Common Approaches to Scaling MySQL PROPRIETARY & CONFIDENTIAL Bigger Server  Easy to do  No app changes X Very limited gains X No HA Reader Slaves Writes Reads Reads  Scales reads  Fairly easy to setup X No write scaling X Adds slave lag app needs to be aware X App changes needs to split reads & writes X No HA adds DR but needs failover X Fragile High burden to maintain Synchronous Replication Clusters Galera | Percona XtraDB Cluster | MariaDB Galera Cluster  Adds HA  Scales reads X No write scaling Writes are multiplied X Slows down writes sync rep adds write latency X No storage scaling data fully replicated on each node Database Sharding  Scales reads  Scales writes  Scales storage X Significant app changes or entire redesign X Does not add HA multiplies the failure points X DB management overhead i.e. consistent backup of data set
  • 9. Common Approaches to Scaling MySQL PROPRIETARY & CONFIDENTIAL Bigger Server  Easy to do  No app changes X Very limited gains X No HA Reader Slaves Writes Reads Reads  Scales reads  Fairly easy to setup X No write scaling X Adds slave lag app needs to be aware X App changes needs to split reads & writes X No HA adds DR but needs failover X Fragile High burden to maintain Synchronous Replication Clusters Galera | Percona XtraDB Cluster | MariaDB Galera Cluster  Adds HA  Scales reads X No write scaling Writes are multiplied X Slows down writes sync rep adds write latency X No storage scaling data fully replicated on each node Database Sharding  Scales reads  Scales writes  Scales storage X Significant app changes or entire redesign X Does not add HA multiplies the failure points X DB management overhead i.e. consistent backup of data set
  • 10. Scaling with ClustrixDB PROPRIETARY & CONFIDENTIAL Scale Beyond MySQL without Replication or Sharding Load Balancer Scales reads Scales writes Scales storage No App Re-design Adds HA Easy to deploy ClustrixDB
  • 11. Flex Licensing = Business Agility PROPRIETARY & CONFIDENTIAL o ClustrixDB has:  Technical capability to grow & shrink cluster while online  Licensing model that aligns with a seasonal business or temporary workloads o Flex Licensing – Annual license covers base cluster size • e.g. 3-nodes year round – Monthly Flex license covers seasonal demand • e.g. 2 extra nodes for Nov & Dec • And drop to 1 extra node in Jan ClustrixDB
  • 13. Typical Cloud Deployment PROPRIETARY & CONFIDENTIAL 8/16 cores 8/16 cores 8/16 cores 8/16 cores … 3 nodes minimum +N nodes App Servers Load Balancer ELB or Linux or Traffic Manager or HAProxy • AMI Available • C3 (General) or I2 (High IO) • SSD w/ Enhanced Net • 2xlarge (8-core) • 4xlarge (16-core) • LB: Elastic Load Balancing • Standard w/ SSD • D13: 8 cores • D14: 16 cores • High Performance w/ SSD • G3: 8 cores • G4 16 cores • LB: Azure Traffic Manager • Standard w/ SSD • IO1-30: 8 cores • IO1-60: 16 cores • LB: Cloud Load Balancer ClustrixDB • n1-standard-8: 8 cores • n1-standard-16: 16 cores • LB: GCE Load Balancing
  • 14. Typical On-Premises Deployment PROPRIETARY & CONFIDENTIAL 3 nodes minimum App Servers Hardware or SW e.g. Linux w/ HAProxy ClustrixDB PrivateNetwork +N nodes Load Balancer … ClustrixDB Server Specs • Cores: • 8 to 16 physical cores • Disable HT (recommended) • RAM: • 64 GB+ • Disks: • SSD 300 GB+ (6 or more) • RAID-0 (HW recommended) • Optionally 1+ HDD for OS & scratch • Network: • Public: 1 GbE (or 10 GbE) • Private: 10 GbE (highly recommended) PublicNetwork
  • 15. Typical Full Lifecycle Environment PROPRIETARY & CONFIDENTIAL Production Standby DR + Big Query Reporting Real-time Replication Staging Scripted Refresh Upgrades, Perf Tuning, Pre-Prod Validation Dev Patches, New Code Dev/QA, Shared
  • 17. How It Works PROPRIETARY & CONFIDENTIAL
  • 18. ClustrixDB Overview Fully Distributed & Consistent Cluster o Fully Consistent, and ACID-compliant database – Supports transactions – Support joins – Optimized for OLTP – But also supports reporting SQL o All nodes are equal (no “special” node) o All servers are read/write o All servers accept client connections o Tables & Indexes distributed across all nodes – Fully automatic distribution, re-balancing & re-protection PrivateNetwork ClustrixDB on commodity/cloud servers HW or SW Load Balancer SQL-based Applications High Concurrency Custom: PHP, Java, Ruby, etc Packaged: Magento, etc
  • 19. ClustrixDB Design PROPRIETARY & CONFIDENTIAL Shared Nothing Architecture Each Node Contains: o Query Compiler: distribute compiled partial query fragments to the node containing the ranking replica o Data Map: all nodes know where all replicas are, and current ranking replicas o Database Engine: all nodes can perform all database operations (no leader, aggregator, leaf, data-only, etc nodes) o Data: Table Slices: All table slices (default: replicas=2) auto-redistributed by the Rebalancer ClustrixDB Compiler Map Engine Data Compiler Map Engine Data Compiler Map Engine Data
  • 21. Intelligent Data Distribution PROPRIETARY & CONFIDENTIAL S 1 S 2 S 2 S 3 S 3 S 4 S 4 S 5 S 5 o Tables auto-split into slices o Every slice has a replica on another node – Slices are auto distributed, auto-protected S 1 ClustrixDB BillionsofRows Database Tables
  • 22. Adding Nodes – Flex Up PROPRIETARY & CONFIDENTIAL S 1 S 2 S 3 S 3 S 4 S 4 S 5 o Easy and simple Flex Up & Flex Down – Single minimal interruption of service o Data is automatically rebalanced across the cluster – Tables are online for reads & writes o All servers handle writes + reads – Workload is spread across more servers after Flex Up S 1 ClustrixDB S 2 S 5
  • 23. Loss of a Node – Automatic Fault Tolerance PROPRIETARY & CONFIDENTIAL S 2 S 5 S 1 S 2 S 3 S 3 S 4 S 4 S 5 o ClustrixDB detects the loss of a node – System automatically re-protects – Data is automatically redistributed o Slices lost on the failed node are rapidly re-protected – Re-protection occurs while tables are available for reads & writes o Automated self-healing – After re-protect the cluster is fully protected and operational S 1 ClustrixDB S 2 S 5 S 2 S 5
  • 24. ClustrixDB Rebalancer: Making the Complex, Simple PROPRIETARY & CONFIDENTIAL Q: How do you ensure data stays well distributed in a clustered environment? A: You let the Rebalancer handle it! The Rebalancer automatically: • Initial Data: Distributes the data into even slices across nodes • Data Growth: Splits large slices into smaller slices • Flex-Up/Flex-Down: Moves slices to leverage new nodes and/or evacuate nodes • Failed Nodes: Re-protects slices to ensure proper replicas exist • Skewed Data: Re-distributes the data to even out across nodes • Hot Slice Balancing: Finds hot slices and balances then across nodes …while the DB stays open for reads & writes Patent 8,543,538 Patent 8,554,726 Patent 9,348,883
  • 26. Query Processing Model PROPRIETARY & CONFIDENTIAL  Parse  Plan  Compile Session SQL-based Applications UPDATE users SET online = 1 WHERE id = 8797; HW or SW Load Balancer ID: 8797 | … | ONLINE:0 Fragment o Load balancer spreads DB connections across all nodes o A session is established on any node o Session controls query(s) execution – Parse SQL – Generate the execution plan – Compile into binary fragments – Lookup record(s) location – Send fragments – Complete the transaction
  • 27. Query Processing Model PROPRIETARY & CONFIDENTIAL ID: 8797 | … | ONLINE:0 Session SQL-based Applications UPDATE users SET online = 1 WHERE id = 8797; HW or SW Load Balancer ID: 8797 | … | ONLINE:1 Ack o Load balancer spreads DB connections across all nodes o A session is established on any node o Session controls query(s) execution – Parse SQL – Generate the execution plan – Compile into binary fragments – Lookup record(s) location – Send fragments – Complete the transaction Ack
  • 29. Online Schema Change PROPRIETARY & CONFIDENTIAL Table o Allows reads & writes during ALTER TABLE operations – Add or remove column – Rename column – Change data type – CREATE INDEX o Process: – Queue created to track changes – Copy of table created – Queues replayed until synchronized – Atomic flip of table between transactions Table QueueQueueQueue MYTABLE __building_MYTABLE Atomic Flip Reads & Writes ALTER TABLE mytable ADD (foo int);
  • 30. Online Schema Change PROPRIETARY & CONFIDENTIAL Table o Allows reads & writes during ALTER TABLE operations – Add or remove column – Rename column – Change data type – CREATE INDEX o Process: – Queue created to track changes – Copy of table created – Queues replayed until synchronized – Atomic flip of table between transactions Table MYTABLE__building_MYTABLE Atomic Flip Reads & Writes ALTER TABLE mytable ADD (foo int); 
  • 32. Sysbench OLTP 90:10 Mix PROPRIETARY AND CONFIDENTIAL o 90% Reads + 10% Writes – Very typical workload mix o 1 TPS = 10 SQL – 9 SELECT + 1 UDATE – a.k.a 10 operations/sec o Shows scaling TPS by adding servers: – Oak4 = 4 (8-core) servers – Oak16 = 16 (8-core) servers – Oak28 = 28 (8-core) servers To scale TPS while maintaining Performance (i.e. 20 ms response) just add servers to ClustrixDB 800,000 SQL/sec @ 20 ms
  • 33. Sysbench OLTP 100% Reads PROPRIETARY AND CONFIDENTIAL o 100% Reads – Max throughput test o 1 TPS = 10 SQL – 10 SELECT – a.k.a 10 operations/sec o Shows scaling TPS by adding servers: – Oak6 = 6 (8-core) servers – Oak18 = 18 (8-core) servers – Oak30 = 30 (8-core) servers To scale TPS while maintaining Performance (i.e. 10 ms response) just add servers to ClustrixDB >1 Million SQL/sec @ 20 ms
  • 34. Yahoo! Cloud Service Benchmark (YCSB) 95:05 Mix PROPRIETARY AND CONFIDENTIAL o 95% Reads + 5% Writes – 1 Ops/sec = 1 SQL o Designed to compare NoSQL engines – ClustrixDB runs equally fast o Shows scaling TPS by adding servers: – 4 nodes = 4 (8-core) servers – 16 nodes = 16 (8-core) servers – 24 nodes = 24 (8-core) servers To scale TPS while maintaining Performance (i.e. 3 ms response) just add servers to ClustrixDB > 500,000 SQL/sec @ 3 ms
  • 35. Yahoo! Cloud Service Benchmark (YCSB) 95:05 Mix PROPRIETARY AND CONFIDENTIAL o 95% Reads + 5% Writes – 1 Ops/sec = 1 SQL o Over 1 Million SQL/sec – With <3 ms query response – And mixed (95:05) workload – Using 30 ClustrixDB servers • 16-core AWS instances Over 1 Million SQL/sec @ 3 ms on a mixed (95:05) workload > 1,000,000 SQL/sec @ 3 ms
  • 36. MySQL (largest) Aurora (largest) ClustrixDB ClustrixDB vs. Aurora vs. MySQL RDS PROPRIETARY AND CONFIDENTIAL o 90% Reads + 10% Writes – Very typical workload mix o 1 TPS = 10 SQL – 9 SELECT + 1 UDATE – a.k.a 10 operations/sec o ClustrixDB shows scaling TPS by adding servers: – Aws4 = 4 (8-core) servers – Aws16 = 16 (8-core) servers – Aws20 = 20 (8-core) servers ClustrixDB scales TPS past Aurora’s largest instance (db.r3.8xlarge)
  • 37. Backup, Replication & Administration
  • 38. Backup, Replication & Disaster Recovery PROPRIETARY & CONFIDENTIAL Asynchronous multi-point Replication ClustrixDB Parallel Backup (up to 10x faster) Replicate to any cloud, any datacenter, anywhere
  • 39. ClustrixGUI: Performance Monitoring, Diagnostics & Flex PROPRIETARY AND CONFIDENTIAL Cluster Health Dashboard Visually Compare Workloads
  • 40. ClustrixGUI: PROPRIETARY AND CONFIDENTIAL CPU: Dashboard 1.27 Million TPS On 32 nodes
  • 41. ClustrixGUI: Rich Monitoring Metrics PROPRIETARY AND CONFIDENTIAL Historical Graphs of various ClustrixDB performance metrics Groups:  Performance  Diagnostic  Queries and Rows  Sessions and Transactions  Replication  Disk
  • 42. ClustrixDB 8.0 New Features
  • 43. o ClustrixDB 8.0 builds upon the significant performance improvements in ClustrixDB 7.5 – More reliable – Easier to use – Many enhancements requested by our customers o Additionally, ClustrixDB 8.0 adds these 3 main new features: – In-Memory Tables – On-Disk Encryption – Simplified Cluster Provisioning ClustrixDB 8.0 – New Features PROPRIETARY AND CONFIDENTIAL
  • 44. o Special table container designed for high concurrency writes – Supports same data types as regular tables – Supports joins with regular tables – Read consistent (i.e. MVCC) – Survives node failure without data loss o Ideal for scenarios that have: – High concurrency, write-intensive transactions – …which are then filtered or aggregated – …and finally persisted into regular tables – Examples: • Sensor data collection • Log collection • Write-intensive batch processing ClustrixDB 8.0 – In-Memory Tables PROPRIETARY AND CONFIDENTIAL
  • 45. o Adds encryption for “Data-at-Rest” o Transparent to applications – Applications are unaware that the tables are encrypted – ClustrixDB handles encryption/decryption and the keys o Uses AES 256-bit encryption o All tables and all databases are stored as encrypted ClustrixDB 8.0 – On-Disk Encryption PROPRIETARY AND CONFIDENTIAL
  • 46. o Web GUI-driven o Container-based o Use for simplified cluster install, and Flex-up/Flex-down o Designed for: – AWS environments – On-premises environments (i.e. bare metal) ClustrixDB 8.0 – Simplified Cluster Provisioning PROPRIETARY AND CONFIDENTIAL
  • 47. Questions & Answers Time PROPRIETARY AND CONFIDENTIAL
  • 48. ClustrixDBFlexible Transactional Scale for the Connected World