Main memory database systems achieve high performance by storing the database in main memory rather than in disk.
In this thesis, we design and implement a single user main memory storage system, the system is divided into four parts: (1) a memory manager that manages the memory, (2) an object manager that manages the objects in the file, (3) and a T-tree manager that manages T-tree index for fast object accesses, (4) and a scan manager that provides useful scan interfaces for higher-level components.
The major characteristics of our system are as follows: (1) it supports variable length objects and keys efficiently by using variable length fields, (2) it allows multiple attribute keys and duplicated keys in T-tree indexes, (3) and its memory manager provides high storage utilization and has an efficient mechanism to manage variable length data.