- In-memory
- Complemented with logging to disk
- Shared nothing architecture
- No single point of failure
- Synchronous replication between nodes
- Fail-over capability in case of node failure
- Supports transactions
- READ COMMITTED is the only supported isolation level
- Row level locking (sure)
- On-line software upgrade (one node at the time)
- Shared storage engine for MySQL Server
MySQL comes from a telecom environment and was originally
developed by Ericsson. MySQL Cluster is nowadays part of
the central storage for telecom, gaming and other industries.
- Availability
- 99,999% (≥ 5min downtime / year)
- Performance
- Response time usually between 5 - 10 ms
- Throughput of 10000 transactions / sec
- Scalability
- Many concurrent applications
- Effective load balancing
The basic advantages with MySQL cluster are two-fold:
- High availability
Having replicas ensures that the crash of a data node won't stop the system.
The redundancy of the cluster architecture provides a system with no "single point of failure".
Data is fragmented and distributed to the seperate cluster data nodes. Each of the fragments
is synchronously replicated to a second node for data.
- Scalability
By fragmenting tables to different computers more operations can be done in parallel.
Load balancing between the data nodes is fully automatic.
Multiple MySQL Servers will access the Cluster as a MySQL storage engine
in parallel. Every single MySQL Server will thus allow a high throughput.
Another MySQL Server can be even added to Cluster without any downtime.
Cluster is based on a shared nothing architecture in order to avoid
single points of failure. Where as most database cluster technologies
depend on a shared storage solution MySQL Cluster rather uses its own
disks and uses redundant data storage in the main memory of multiple machines.
Usually two ore more MySQL Server access the MySQL Cluster
data nodes in parallel and have access to the very same data.
The data nodes are again redundant.