Actually there is an option to get high performance networking between cluster instances on the cloud. Some providers let you order special "cluster instances" which are connected using fast network technology (Infiniband or something similar). This makes the cloud option equivalent in terms of performance to a cluster in your data center - of course you will need to consider the costs, because the cluster instances are much more expensive than regular instances.
Here is a link to documentation of the cluster instance option on Amazon EC2. They describe it as follows:
Amazon EC2 offers two cluster instance types: cluster compute instances and cluster graphics processing unit (GPU) instances. These instance types provide a very large amount of computational power coupled with increased network performance. They are well suited for High Performance Compute (HPC) applications and other demanding network-bound applications, such as many science and engineering applications, financial modeling applications, and business analytics applications. You can logically group cluster instances into clusters (known as cluster placement groups). This allows applications to get the full-bisection bandwidth and low-latency network performance required for tightly coupled, node-to-node communication typical of many HPC applications.
Yet another option for DB clustering on the cloud is services like Xeround's cloud database, RackSpace MySQL, etc. However I'm not sure how the performance of these services measure up to an infiniband cluster.