| With the increasing needs for large-scale data processing and the development of storage mediums,the In-Memory Database(ab.IMDB)has attracted wide attention for its high performance.The IMDB stores its data and indexes into the volatile storage device,so that it can avoid page buffer management,along with the frequent I/O,lock,indirect addressing,etc.However the cost of high performance is that data would be volatile.No matter the database is stopped by a graceful shutdown or not,all data will disappear after the database startup.The recovery subsystem is indispensable to the IMDB for reloading the data from the non-volatile storage device after a restart.The recovery subsystem not only interferes with the transactions,but also is the only module that I/O with the secondary storage,making it critical to IMDB system performance.The research emphasis of this thesis is to design,implement and optimize the recovery subsystem of the IMDB.The main tasks are as follows:1)Investigate,research and compare the state-to-art IMDB recovery mechanisms,and analyze the features,advantages and disadvantages of key components and technologies.Then establish the requirement and goal for design.2)Comprehend the original recovery subsystem in Peloton and transplant it into MyPeloton,also design and complete the missing components.Then test the basic version of MyPeloton Recovery Subsystem with TPCC,according to results of which,find the direction of optimization.3)Rebuild the log,checkpoint and recovery module to achieve high concurrency read/write for the recovery system,and bring down the impact on the total performance of the whole database.4)Run experiments on the ultimate implementation,and compare the results with those before.The test results show significant performance improvement after optimization.In the case of enable both checkpointing and logging,after optimization the system performance has increased by about 31.9%,and the data recovery speed becomes at least 5 times faster. |