A Scalable Data Platform for Cloud Computing Systems
With cloud computing systems becoming popular, it has been a hotspot to design a scalable, highly available and cost-effective data platform. This paper proposed such a data platform using MySQL DBMS blocks. For scalability, a three-level (system, super-cluster, cluster) architecture is applied, making it scalable to thousands of applications. For availability, we use asynchronous replication across geographically dispersed super clusters to provide disaster recovery, synchronous replication within a cluster to perform failure recovery and hot standby or even process pair mechanism for controllers to enhance fault tolerance. For resource utility, we design a novel load balancing strategy by exploiting the key property that the throughput requirement of web applications is flucatuated in a time period. Experiments with NLPIR dataset indicate that the system can scale to a large number of web applications and make good use of resources provided.