Font Size: a A A

Application And Optimization Of In-Memory Database In Cloud Computing Environment

Posted on:2019-05-22Degree:MasterType:Thesis
Country:ChinaCandidate:D ChenFull Text:PDF
GTID:2348330563953944Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the wide penetration of cloud computing technologies in various professional fields,we have put forward higher requirements for dealing with massive data.The traditional relational database guarantees the permanent storage of data,but due to the rigor of the transaction operation and the speed of storage device's reading and writing,the relational database is not efficient enough to handle the massive digital requests.People consider the reading and writing speed of computer memory cache is several times that of the underlying devices such as disks,so they begin to research the in-memory database,and gradually apply the in-memory database to the system's cache technology for helping improve the overall data service performance.This thesis optimizes the in-memory database: Memcached,and proposes a scheme for designing the memory cache system LMCached which can be employed in the cloud environment.First of all,this thesis analyzes the data characteristics and related technologies in the cloud computing environment,including distributed computing,memory cache,etc.Then it analyzes the Memcached database.The traditional Memcached does not realize the communication mechanism on the storage server,which makes the system might have a single point of failure.At the same time,because of Memcached's own lock mechanism on the hash table management,each access will lock the entire table and it will reduce the capacity of concurrency when we meet a large amount of request access.In order to apply the in-memory database in the cloud computing environment better,we proposed the designed requirements of the LMCached memory-cache system based on the goals of high reliability and concurrency.Then we give a detailed description of the design and implementation of the layers and various modules in LMCached,including load balancing layer,system controlling layer,data processing layer and common service layer.The load balancing layer uses Keepalived+LVS technology to load incoming users' requests to ensure high concurrency and reliability of the system.The read-write agent module of the system controlling layer uses proxy models to logically classify user requests and implement the automatic election of agent clustering.The autonomous election avoided the single issue of writing agents.Through the routing information module,we record and maintain the access routes of key-value.In the system configuration management module,we use the abstract class which provides interface to implement the standardized management of the configuration file;in the data processing layer,we are responsible for data's storage and disaster recovery.We implement the system's multi-level caching architecture.When the data is coming,they will be stored in proxy's local cache.At the same time,we optimize the management of the hash table in the distributed cache by changing the strategy of lock-separation.The data disaster recovery module apply synchronous backup of the Master-slave clusters.By using version controlling ensures data's consistency and solves the single-point failure problem of traditional Memcached.The log module and monitoring module in the common service layer mainly provide technical support for the system's maintained persons.Finally,we deploy test environment for functional tests and performance tests of the LMCached memory cache system.Through comparative analysis with Memcached's operating result,we find that the LMCached system can guarantee high-availability and concurrency under massive access and have certain capabilities of disaster tolerance.
Keywords/Search Tags:cloud computing, in-memory database, read-write proxy, multi-level cache
PDF Full Text Request
Related items