Hi, I'm considering ways to increase performance of our persistence layer. We want to achieve as many inserts per second as we can and we don't need any transactions at the moment. What I want to know is what MySQL engine faster: standard MyIsam or single-node NDB cluster which will be accessed via ClusterJPA/ClusterJ? P.S. This guy has got a benchmark which shows that ClusterJ access to NDB is ~10 times faster than jdbc driver access: http://www.clusterdb.com/mysql-cluster/using-clusterjpa-part-of-mysql-cluster-connector-for-java-%E2%80%93-a-tutorial/
A:
Since NDB is memory based it should perform faster. Also the data is written to the files in a back-end process whereas MyISAM does this on file at the same time.
The performance also depends on how many nodes you have i.e., do you have more than one NDB nodes or just one. As in the later case you don't get any parallelism.
Faisal Feroz
2010-10-26 14:46:18
Thank you for the response! Could you clarify what kind of parallelism we get by using multiple NDB nodes? Does it improve reads or writes performance(or both)?
Trader001
2010-10-27 10:49:29
Both - if you have more than one data node (with partitioning), you can have to rows inserted at the same time in two different nodes. Same is true for reads, you can have faster reads as you are reading in parallel from two nodes.
Faisal Feroz
2010-10-27 11:17:43