MySQL Cluster

Download Report

Transcript MySQL Cluster

MySQL Cluster
High-Availability Distributed
Database
The Problem
A single MySQL daemon can only handle
approximately 6000 connections.
The AvantGo sync process currently
exceeds this limit during peak sync
times.
Possible Solutions




MySQL Cluster
MySQL Replication
MySQL Software Modifications
OS Kernel Modifications
What is MySQL Cluster?
MySQL Cluster is a distributed, replicated,
in-memory storage engine for the
MySQL database.
Pros

High Availability



High Performance



Data Redundancy
No Single Point of Failure
Load Distribution
No Disk Reads
Real-Time Replication

No Master/Slave Lag
Cons

Large Memory Requirements




All Records are Fixed Size
Creates Hidden Indexes
Slow Restarts
Inefficient for Some Queries


No Query Caching
No FULLTEXT Index Support
Memory Requirements
Table
Number of
Rows
Avg (Total) MyISAM
Record Size Data Size
Cluster
Data Size
MCPINSTANCE
55
100 (572)
5KB
256MB
MCPUSER
14M
10 (24)
140MB
363MB
26 (148)
370MB
2.4GB
MCPUSEREMAIL 14M
Reality Check




Difficult to Configure
Difficult to Debug
Limited Community Support
Still Under Development
Cluster vs. Replication



Cluster
Application
Transparent
Excessive Hardware
Requirements
Limited Industry
Test-Cases




Replication
Requires Application
Changes
Master/Slave Lag
Issues
Easy to Configure
Industry-Tested
Conclusion
MySQL Cluster is a promising solution,
but it does not appear to be ready for
production use at this time.