Developing and optimalizing main memory database in managed code

OData support
Albert István
Department of Automation and Applied Informatics

Today’s database management systems such as Microsoft SQL Server, Oracle Database or MySQL Server primarily store data on hard drive, that is accessable and modifiable efficiently by advanced storage management and cache algorithms.

Despite, the hard drive limits the performance compared to operative memory. A memory access is is fifty times faster than a hard drive access, roughly. Therefore, it is a good thought, that a pure in-memory database engine can be faster than conventional systems. At the faculty, such a database system is under development in .NET Framework, called MMDB.

MMDB’s queries are executed by only one logical unit, although it is well parallelizable operation. In this paper I analyze speed up the query execution with parallelization.

I use Parallel LinQ (that based on TPL) the new technologies of .NET Framework 4 to implement parallel execution in MMDB. In my paper I describe TPL and PLINQ in general.

I describe my method wich allows the MMDB to use any number of logical processing unit.

Finally, I prove with mesaurement results that applying my method decreases the query execution time significantly.


Please sign in to download the files of this thesis.