I'm having a MySQL dual-master Replication of MySQL, each one of the servers have 21 GB memory, I'm now searching for a clustering solution for this project, It's possible to have 6 server: two of them with 20 GB of RAM and others with 10 GB of RAM. in the MySQL Cluster documentation it has written below formula for total memory and each node RAM, It seems that I need much more RAM of my existing Replication, and It's hard to make my company agree with this kind of RAM requirement, besides the purpose of clustering is to instead of making a big server use smaller (in resources) servers attached to each other but with this formula each node of clustering is much bigger than my existing servers.
If designing a completely new database, the following calculations can be used to help determine the approximate memory sizing requirements for the data nodes:
• (in memory) Data Size * Replicas * 1.25 = Total Database Memory Requirements Example: 50 GB * 2 * 1.25 = 125 GB
• (Data Size * Replicas * 1.25)/Nodes = RAM Per Node Example: (2 GB * 2 * 1.25)/4 = 31.25 GB
In this situation I have some questions :
- Is it necessary to obey from these formulas? can I use less RAM for nodes?