- I am thinking about using MySQL cluster, but I am curious if it supports big databases - around 50-60GB or what is the limit (mainly Radius telco accounting are stored).
- What would be architecture then (RAM and servers count) ?
It used to be that your database had to fit in memory to use MySQL cluster. I believe it is now the case that your indexes have to fit in memory, but data can be disk bound. If you have enough memory in your servers (64gb is quite possible), then you're set.
MySQL cluster is a bit of a niche case, and I think in most instances, better solutions exist to problems. If you give me more detail, I'll reply in-kind.
reply to first comment The cluster is a niche thing because of those memory limitations. Often in cases where redundancy is needed for something large, speed isn't. The cluster hardware requirements are vastly overkill for handling 5,500 RADIUS row insertions per day. I would suggest that you use shard your setup. Use the cluster for current entries, and then copy them to a regular server that has normal backup and offline / service times for handling historical data. That will provide you the stability of the cluster, strongly assuring that you won't lose any data or suffer downtime.
A single mysql server can handle 50-60GB of data. It really depends on your database setup and how complex your queries might be.
I mean you can make mysql fly by writing a app that does no joins.. or you can make it crawl by doing very complex queries.
I'd go with a cluster if you want easy redundancy first of all.
Edit for cluster ram math
Use the following formula to work out the amount of RAM that you need on each storage node:
NumberofReplicas is set to two by default. You can change it in config.ini if you want. So for example to run a 4GB database over two servers with NumbeOfReplicas set to two you need 4.4 GB of RAM on each storage node. For the SQL nodes and managment nodes you dont need much RAM at all. To run a 4GB database over 4 servers with NumberOfReplicas set to two you would need 2.2GB per node.