Hi to all. First off, I'm new to MySQL Cluster. This is my pain: I've managed to setup a MySQL Cluster with two data nodes, two SQL nodes and one management server. Everything works pretty well, except the following: my data nodes are spread across an intranet link which incurs latency into communications between the data nodes. Apparently, due to MySQL Cluster's internal partitioning schemes, when my PHP application pulls data from the cluster via SELECT queries, parts of the data are pulled from both data nodes. This makes the page appear onscreen REALLY slowly. If I bring one data node offline, the data can only be pulled from that single remaining data node, and thus, the final result (HTML output) appears on the screen in a very timely fashion. So, my question is this: can the data nodes/cluster be told to pull data from partitions stored only on a particular data node?
A:
MySQL Cluster - in general - is not suited well for typical Web applications. In its current version it is optimized for primary key lookups. Especially joins are really bad. In a PHP Web application you're usually better served with replication and if you're write-heavy a solution like sharding.
johannes
2010-05-22 13:14:35
johannes, thanks for your input. I appreciate your insight. I gather I'm gonna be needing something other than MySQL Cluster to achieve my goal.
Boyan Georgiev
2010-05-30 22:03:10
So what is our goal? Having a high read load? - Replication might work well enough ...
johannes
2010-05-30 22:29:46