Abstract
Can traditional DBMS's respond to queries and perform updates faster with the use of indexes in RAM? That is the question asked in this thesis. The idea is to take advantage of the large amount of main memory to store indexes, instead of storing indexes on disk. This means that all the data are still stored on disk, in a traditional DBMS, but attributes are indexed in main memory. Rindex, a plattform for storing indexes in RAM on top of an existing DBMS is used to test this hypothesis. Rindex was initially developed by Tomas Are Haavet and Kjell-Magne Øierud.
Before the work done on this thesis, Rindex stored indexes as a sorted list, and supported only queries, and not updates. The work done on this thesis consisted in giving Rindex support for updates. Two different approaches were tested, resulting in two new Rindex versions. The first is using the old index-structure, and the second is using CSB+-trees to store the indexes. CSB+-trees stands for Cache Sensitive B+-trees, and is a variant of B+-trees optimized for residing in memory. It allows for both quick searches and fast updates.
The two implementations are then tested against each other, and against a DBMS with internal indexes. Althoug Rindex is still at very early stage, the results seem to confirm the initial hypothesis. Particularly for updates, the use of Rindex with CSB+-trees to store indexes is much faster than the use of internal indexes on disk.
The thesis is written in Norwegian.