> Have you any way to improve performances of
> NDBCLUSTER (we hope at least the same as INNODB)
Quote from
http://lists.mysql.com/cluster/1499:
> There are several ways to improve the load speed for MySQL Cluster.
> If you are are doing inserts as individual insert statements for
> each row and autocommit, this is the least optimal for the cluster.
> Each insert will create one roundtrip over the network plus commit
> for just one small transaction.
> If you run several inserts per transaction you get some improvement,
> up to a certain limit (NDB Cluster was not originally designed for
> handling very large transactions efficiently).
>
> The way MySQL Cluster achieves speed is by parallelizing operations
> and maximally utilize the network through message piggybacking. This
> is achieved for inserts by batching many inserts in one insert statement.
> The most optimal is to bulk load using the LOAD DATA INFILE statement,
> MySQL CLuster will then parallelize the load as much as possible.
>
> Sidenote: Inserting one row at a time will also just involve storing
> data in one node group, i.e. two storage nodes if you have two
> replicas, any other nodes in the cluster will not be involved except
> for maybe one other acting as transaction coordinator. In your case
> you only have two nodes, but increasing the size of the cluster and
> batching through inserts with many rows or bulk loading will scale well
> as the size of the cluster increases (up to a point when your network
> might becomes a bottleneck and you might need to scale up that).
Hope you find this helpful. Basically you want to batch your inserts!
> Cluster is single-node :
> NoOfReplicas= 1
Are you planning on going live with only 1 replica? The main aim of cluster is High Availibility - which you won't get with 1 replica.
Alex
Alex Davies
http://www.davz.net |
alex@davz.net