Quantcast
Channel: MySQL Cluster – James' World
Viewing all articles
Browse latest Browse all 16

MySQL Cluster – Part 3: History and Architecture

$
0
0

MySQL LogoMySQL Cluster History

Network Database (NDB) Cluster was originally developed at a startup of Ericsson called Alzato.

After the project funding was cut in 2004, MySQL AB bought it and renamed it “MySQL Cluster.” In subsequent releases, Cluster has been made to appear more MySQL-like.

MySQL Cluster Architecture

MySQL Cluster is a transactional, autosharding, in-memory database with 2-phase commit that checkpoints to disk.

A minimal cluster starts with 1 admin SQL node, 1 mgmt process, and 2 data nodes. (A single server can be used for a test sandbox.) Up to 48 data nodes are possible, with 255 total nodes.

Who Needs MySQL Cluster?

If you strongly need autosharding, no-lag multi-master replication, or built-in failover, then MySQL Cluster could be a valid choice. The NoSQL NDB API can also be useful in some applications.

Most people do fine with Innodb and async or semi-sync replication though, especially with online schema changes in MySQL 5.6. Galera/Percona Cluster is also an alternative clustering method.

The primary disadvantages of MySQL Cluster are:

  1. total database size is limited to about (70% of RAM * nodes / 2), with 32 GB RAM being the minimum for production
  2. relatively few installations, experienced MySQL Cluster DBAs are rare
  3. lack of an Open Source community – no readily-available utilities like monitoring plugins, for example
  4. Innodb is a remarkably good storage engine, and after more testing of online schema changes will surpass NDB in most respects in 2014.
  5. no dynamic tunable parameters – rolling restart always required.

MySQL Whitepapers
wikipedia: MySQL Cluster


Viewing all articles
Browse latest Browse all 16

Trending Articles