DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) mysql-cluster-basics

Info Catalog (mysql.info) mysql-cluster-overview (mysql.info) ndbcluster (mysql.info) multi-computer
 
 15.2 Basic MySQL Cluster Concepts
 =================================
 

Menu

 
* mysql-cluster-nodes-groups   MySQL Cluster Nodes, Node Groups, Replicas, and Partitions
 
 *NDB* is an in-memory storage engine offering high-availability and
 data-persistence features.
 
 The NDB storage engine can be configured with a range of failover and
 load-balancing options, but it is easiest to start with the storage
 engine at the cluster level. MySQL Cluster's NDB storage engine
 contains a complete set of data, dependent only on other data within
 the cluster itself.
 
 We will now describe how to set up a MySQL Cluster consisting of an NDB
 storage engine and some MySQL servers.
 
 The cluster portion of MySQL Cluster is currently configured
 independently of the MySQL servers. In a MySQL Cluster, each part of
 the cluster is considered to be a *node*.
 
 * In many contexts, the term `node' is used to indicate a
 computer, but when discussing MySQL Cluster it means a _process_.
 There can be any number of nodes on a single computer, for which we use
 the term *cluster host*.
 
 There are three types of cluster nodes, and in a minimal MySQL Cluster
 configuration, there will be at least three nodes, one of each of these
 types:
 
    * The *management node* (MGM node): The role of this type of node is
      to manage the other nodes within the MySQL Cluster, such as
      providing configuration data, starting and stopping nodes, running
      backup, and so forth. Because this node type manages the
      configuration of the other nodes, a node of this type should be
      started first, before any other node. An MGM node is started with
      the command `ndb_mgmd'.
 
    * The *data node*: This is the type of node that stores the
      cluster's data. There are as many data nodes as there are
      replicas, times the number of fragments. For example, with two
      replicas, each having two fragments, you will need four data
      nodes. It is not necessary to have more than one replica. A data
      node is started with the command `ndbd'.
 
    * The *SQL node*: This is the node that accesses the cluster data.
      In the case of MySQL Cluster, a client node is a traditional MySQL
      server that uses the `NDB Cluster' storage engine. An SQL node is
      typically started with the command `mysqld --ndbcluster' or by
      using `mysqld' with the `ndbcluster' option added to `my.cnf'.
 
 For a brief introduction to the relationships between nodes, node
 groups, replicas, and partitions in MySQL Cluster, see 
 mysql-cluster-nodes-groups.
 
 Configuration of a cluster involves configuring each individual node in
 the cluster and setting up individual communication links between
 nodes. MySQL Cluster is currently designed with the intention that
 storage nodes are homogeneous in terms of processor power, memory
 space, and bandwidth. In addition, to provide a single point of
 configuration, all configuration data for the cluster as a whole is
 located in one configuration file.
 
 The management server (MGM node) manages the cluster configuration file
 and the cluster log. Each node in the cluster retrieves the
 configuration data from the management server, and so requires a way to
 determine where the management server resides. When interesting events
 occur in the data nodes, the nodes transfer information about these
 events to the management server, which then writes the information to
 the cluster log.
 
 In addition, there can be any number of cluster client processes or
 applications. These are of two types:
 
    * *Standard MySQL clients*: These are no different for MySQL Cluster
      than they are for standard (non-Cluster) MySQL. In other words,
      MySQL Cluster can be accessed from existing MySQL applications
      written in PHP, Perl, C, C++, Java, Python, Ruby, and so on.
 
    * *Management clients*: These clients connect to the management
      server and provide commands for starting and stopping nodes
      gracefully, starting and stopping message tracing (debug versions
      only), showing node versions and status, starting and stopping
      backups, and so on.
 
Info Catalog (mysql.info) mysql-cluster-overview (mysql.info) ndbcluster (mysql.info) multi-computer
automatically generated byinfo2html