Font Size: a A A

Research And Implementation Of Exchange Technology Of Redis Database In Non-Volatile Memory

Posted on:2019-09-18Degree:MasterType:Thesis
Country:ChinaCandidate:J J QinFull Text:PDF
GTID:2428330566476629Subject:Engineering
Abstract/Summary:PDF Full Text Request
All the data operations of in-memory database are all performed in memory.Therefore accessing data in memory can greatly improve the performance of applications compared to accessing data on disk.The disadvantage of the in-memory database is that once the power is lost,all the data in the memory will be lost.In order to ensure that the data would remain after power failure,the in-memory database backs up the data to disk through different strategies,the disk is used as a log or back up snapshot.The performance of the entire memory database is greatly degraded if the disk is used both for backup purpose and conventional I/O operations.In recent years,non-volatile memory(NVM)has emerged,which not only has the similar read and write performance as DRAM,but also has the characteristics of byte addressability and persistence.The volatile memory technology provides the opportunity to increase the performance of Key-value memory database(KVDB)by deploying on NVM.However,the existing Key-value memory database does not make good use of NVM features.They generally process the data in memory and then save the data image through the underlying file system.The performance of the database operation is reduced by the backup mechanism and IO operations.Therefore,this paper uses a new type of non-volatile memory to study and optimize the key components of the in-memory database.For this reason,the following technical researches are mainly carried out in this paper.(1)The management of the physical space of non-volatile memory.Space management adopts linked-list in operating system kernel.In order to reduce the performance loss caused by the system call,the system starts space pre-allocation operation in the user address space.The small-granular allocation is allocated and managed by the pre-allocated space.Large-grained space is allocated directly from the kernel through system cal s.(2)Data hits.For existing in-memory databases(such as redis,etc.),the data persistence strategy is nothing more than backup,but the backup operation does have a great performance impact,data does not exist when access the deleted data again.This paper takes advantage of the large capacity of NVM to run the database directly on NVM,which not only guarantees the persistence of the database,but also breaks through the limitations of physical memory,making the data achieve a 100% data hit rate.(3)Data exchange algorithm.Although NVM can guarantee full data hits,NVM read and write performance is lower than DRAM.In order to maintain the original database performance,this paper uses NVM as a persistent medium for the database,DRAM as a data cache,and hot data is moved to the data through the exchange algorithm.In DRAM,the read and write performance of the database is not affected by NVM.Aims at the above-mentioned technology,this paper uses open-source memory database redis to achieve a non-volatile memory-based Key-value memory database UDONN(Unified Database on Raw NVM).FHRedis migrates the database to NVM and add NVM space management,data exchange strategy between NVM and DRAM.Performance tests were conducted using Redis-benchmark and self-encoded test tools.Compared with disk-based redis and EXT4_DAX-based redis,there is a significant increase in database startup and shutdown performance by using this approach.In addition,the database hit rate achieves full hit effect.
Keywords/Search Tags:in-memory database, non-volatile memory, space management, data exchange algorithm
PDF Full Text Request
Related items