Main Memory Database(MMDB) is a database technology of nowadays, it could not be compared to Disk Resident Database(DRDB) in size. But it is more and more important in certain fields with real-time requirements, such as: electricity and telecommunication networks management, finance, integrated office systems and so on. Due to the continuous price reducing and capacity increasing of main memory, as well as inventing of X64 operating system, it going to be developed and enhanced in size and technique.This paper analyzes and designs a MMDB system in the embedded operating system-Windows CE, according to the research and technology by other people.Firstly, we discuss the main memory management of Windows CE and optimize memory allocation and management of our base system. Then the structure is designed and the working principle comes out. We analyze and realize the data records' store and management next. As for the query processing on the database, we discuss the Extending Hash Index and T-Tree index, some improvement to adapt to the Windows CE. And then we designed the Read Only Cursor on tables which will be necessary as a facility for access. We designed the Concurrence Access mechanism with the cornel object, including Semaphore and Mutex of Windows CE. And then a simple Log mechanism backed by no-volatility memory buffer is referred to.We developed all these approaches as MMDB manager system in Windows CE with Embedded Visual C++ 4.0, and all of the Application Program Interfaces (API) are centralized in a Dynamic Linker Library (.dll) file, one can use it to call the API, if he developed in Windows CE and the MMDB is required. And at the end we take test of the overall system functionality and performance. According to the result, it has been entitled the minimum function of the Main Memory Database System and better performance. And our approach is in favor of MMDB system developing and it is valuable for reference. |