| The rapid development of mobile Internet brought hundreds of thousands of users to the current application.The huge number of users will produce massive amounts of data.In order to ensure the user experience,it is necessary to greatly improve the access rate of massive data.Especially in the case of frequent failures,If can not guarantee the availability of the system to restore data in time to respond to users,the application will face the possibility of being eliminated.In order to improve system performance,many of today’s applications store hotspot data in memory-based key-value storage systems.While the memory power loss data is lost,the common solution at this stage is to ensure data availability through multiple replicas and encodings.For memory storage,the cost of adopting multiple replication schemes is high,and by error-correcting coding can significantly reduce memory storage costs.At present,there is few memory-oriented key-value storage system with code to achieve reliability of the system,the typical system is Cocytus.However,Cocytus is based on the granularity of 4KB size encoding,There is a certain amplification problem in the data writing and real-time recovery;In addition,Cocytus uses a non-central control architecture,The point-to-point communication overhead between servers is greater,further affecting the write performance of the data.A new In-memory key storage system,Memcache R,has been designed for the above problem.The system is RAID5 encoded in memory with a single Key Value-pair granularity,encoding operation is XOR operation,simple and efficient.At the same time,the encoding granularity is small,overcomes the influence of the excess size of Cocytus coding,When the system fails,the data can be recovered and returned to the user more quickly.The centralized management is designed and implemented in the system,through the central module to manage MemcacheR system,avoided a large amount of peer to peer communication between servers,improved the data write performance obviously.Test results show that,MemcacheR compared to the multiple replicas system can save storage costs 35% to 45%.Read delay compared with native Memcached basically unchanged.Write latency is about 10% lower than multiple replicas system,up to 25% lower than Cocytus;In real-time recovery of degraded read latency,up to 40% lower than Cocytus. |