Font Size: a A A

The Research On Load Balancing Of MongoDB

Posted on:2015-12-18Degree:MasterType:Thesis
Country:ChinaCandidate:X L WangFull Text:PDF
GTID:2298330452964182Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Cloud storage is the foundation in the technical architecture of cloud computing.Currently, large amount of unstructured or semi-structured data are stored in cloud.These large amounts of data are with high concurrency and have weak link betweeneach other. Compared to relational database, NO-SQL has been widely used due to itshigh availability and applicability. However, due to the short time of development ofNO-SQL, the load balancing technology of it isn’t mature enough, to propose aneffective load balancing strategy of NO-SQL to improve the utilization of resource isfull of significance.At present, most of load balancing strategies are achieved based on the amount ofdata, this because the duty of database is defined as a data storage, it is generallybelieved that the monitor of load access should be implemented to the application layer.However, with the development of web2.0, the difference of access load between datais highlighted and it’s hard to figure out the distribution of access load. Overload willresult in degradation of performance of system and underload will lead to wastages ofresource. So the traditional load balancing based on the amount of data is hard to meetthe demand.This paper aims to study the load balancing strategy of NO-SQL and targeted tooptimize the load balancing architecture of MongoDB to improve the utilization ofresources and improve the performance of storage system.This paper completed the following study:Firstly, we analyzed the limitations of the existing load balancing architecture ofMongoDB and we found there are three aspects need to optimize. First, its loadbalancing is based on the amount of data which doesn’t match the reality that sameamount of data has different load. Second, it doesn’t take full advantage of replica setcombined with the characteristics of distributed system. In our opinion, replica set could be used to share load except for recovery. Third, the auto-sharding on MongoDBcould achieve the purpose of scale up, but it has no operation to achieve scale down.Besides, it balances the load mainly through data migration, but migrating random datawill lead to large consumption of resource.Then according to the current lack of MongoDB in load balancing, combined withthe characteristics of the distributed file system, we proposed an optimized loadbalancing architecture and algorithms of MongoDB. This architecture added a loadagent to the original one and changed the mechanism of load balancing and primarynode switching with much less resource.Finally, we designed and used experiment to verify our new architecture.In large-scale distributed systems, fast response and high reliability are twoimportant target pursuits by both end-user and application, which are largelydetermined by the resource management and the load status of each node. Becauseevenly distributed load can optimize resource utilization, maximize throughput andeliminate potential threats overload. Migration costs and the impact on the storagesystem are two important criteria of load balancing strategy. Out optimized loadbalancing strategy of MongoDB could balanced the load with less cost and less impact.In addition, the load balancing strategy designed in this paper can be widely used inother NO-SQL database and have great significance to optimize the resource utilizationin the cloud platform.
Keywords/Search Tags:cloud computing, MongoDB, load balancing, auto-sharding
PDF Full Text Request
Related items