MySQL Forums
Forum List  »  NDB clusters

Re: Is mysql clustering really viable for production
Posted by: bocklin
Date: March 27, 2006 10:22PM

Hi Vincent and John,

certainly cluster has a bigger footprint in memory than MyISAM tables. This depends on your database design and I would like you to carefully read the sections on DataMemory and IndexMemory in the manual http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-db-definition.html. If the data memory is 5 to 6 times bigger than on disk you probably have many (and probably to long) varchars. How did you measure your memory consumption?

The "speed" of cluster depends on the queries, the schema design and the configuration of your cluster. But cluster is easily able to handle thousands of transactions with very low response times of about 5 to 10 ms.

Cluster has been designed to deliver a scalable and highly available database. It offers a shared nothing architecture with minimum fail over times. Data is automatically synchronously replicated and perfectly load balanced. In order to achieve this some measurements had to be taken in cluster internal design. Some of them result in memory overhead. To make use of MySQL Cluster's unbelievable performance and high availability some investments have to be made. You can't expect a car to run 180 miles per hour just because you have 250 horse power and the filled it up with 110 octane kerosene. It is accepted that you will have no luck without e.g. proper transmission.

Make for example sure to have fast node interconnections: you are accessing network not a local disk when retrieving data.

You might also notice that the simplest example set-up of a cluster like described in the manual (http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-config-example.html) already consists of at least three different servers. A single MySQL Server attached to two data nodes (three servers!) might only serve 200 to 1000 transactions per second (or even more or sometimes less depending on hardware, schema, transactions, etc.). But you can increase your throughput almost linearly while maintaining your low answering times with just adding more MySQL Server.

A cluster running only on two servers will definitely not deliver what you'd expect: performance and high availability. Have at least two data nodes installed on two different machines. MySQL Servers should run on additional separate hardware.

But there is probably much more potential to speed up your cluster installation. I almost weekly install cluster based solutions easily surviving node failures, lightning fast in most all cases and scaling out linearly by just adding another MySQL Server.


Cheers,

Bernhard


--
Bernhard Ocklin, Senior Consultant, www.mysql.com

Are you MySQL certified? www.mysql.com/certification

Options: Reply• Quote


Subject
Views
Written By
Posted
Re: Is mysql clustering really viable for production
1304
March 27, 2006 10:22PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.