number to act as leader. There is no user-facing mechanism for influencing this selection, which is completely automatic; the fact that it is  automatic is a key part of NDB Cluster’s internal architecture. 

When a node acts as the “leader”  for any of these mechanisms, it is usually the point of coordination for the activity, and the other nodes act as “followers” , carrying out their parts of the activity as directed by the leader. If the node acting as leader fails, then the remaining nodes elect a new leader. Tasks in progress that were being coordinated by the old leader may either fail or be continued by the new leader, depending on the actual mechanism involved. 

It is possible for some of these different mechanisms and protocols to have different leader nodes, but in general the same leader is chosen for all of them. The node indicated as the leader in the output of SHOW  in the management client is known internally as the DICT  manager, responsible for coordinating DDL and metadata activity. 

NDB Cluster is designed in such a way that the choice of leader has no discernible effect outside the cluster itself. For example, the current leader does not have significantly higher CPU or resource usage than the other data nodes, and failure of the leader should not have a significantly different impact on the cluster than the failure of any other data node. 

A.10.8. With which operating systems can I use NDB Cluster? 

NDB Cluster is supported on most Unix-like operating systems. NDB Cluster is also supported in production settings on Microsoft Windows operating systems. 

For more detailed information concerning the level of support which is offered for NDB Cluster on various operating system versions, operating system distributions, and hardware platforms, please refer to https://www.mysql.com/support/supportedplatforms/cluster.html. 

A.10.9. What are the hardware requirements for running NDB Cluster? 

NDB Cluster should run on any platform for which NDB -enabled binaries are available. For data nodes and API nodes, faster CPUs and more memory are likely to improve performance, and 64- bit CPUs are likely to be more effective than 32-bit processors. There must be sufficient memory on machines used for data nodes to hold each node’s share of the database (see How much RAM do I Need?  for more information). For a computer which is used only for running the NDB Cluster management server, the requirements are minimal; a common desktop PC (or the equivalent) is generally sufficient for this task. Nodes can communicate through the standard TCP/IP network and hardware. They can also use the high-speed SCI protocol; however, special networking hardware and software are required to use SCI (see Section 23.3.4, “Using High-Speed Interconnects with NDB Cluster” ). 

A.10.10. How much RAM do I need to use NDB Cluster? Is it possible to use disk memory at all? 

NDB Cluster was originally implemented as in-memory only, but all versions currently available also provide the ability to store NDB Cluster on disk. See Section 23.5.10, “NDB Cluster Disk Data Tables” , for more information. 

For in-memory NDB  tables, you can use the following formula for obtaining a rough estimate of how much RAM is needed for each data node in the cluster: 

(SizeofDatabase × NumberOfReplicas × 1.1 ) / NumberOfDataNodes 

To calculate the memory requirements more exactly requires determining, for each table in the cluster database, the storage space required per row (see Section 11.7, “Data Type Storage Requirements” , for details), and multiplying this by the number of rows. You must also remember to account for any column indexes as follows: 

