Title :
O2-Tree: A Fast Memory Resident Index for NoSQL Data-Store
Author :
Ohene-Kwofie, Daniel ; Otoo, E.J. ; Nimako, Gideon
Author_Institution :
Sch. of Comput. Sci., Univ. of the Witwatersrand, Johannesburg, South Africa
Abstract :
Modern computer architecture with 64-bit addressing has now become commonplace. The consequence is that sufficiently large databases can be maintained, during a usage session as main memory resident database. Such in memory resident databases still require the use of an index for fast access to the data items. A more common architecture is to maintain an in-memory index to data records that are grouped into data blocks. The data items are then accessed through a large in-memory cache pool. The T-Tree and its variants were developed as the appropriate in-memory index structure but recently a number of such index-driven databases have emerged under the banner of NoSQL databases. We propose the O2-Tree as an alternative to the T-Tree that is usable as an index for in-memory database that out-performs a number of NoSQL databases. The O2-Tree is essentially a Red-Black Binary-Search tree in which the leaf nodes are index blocks that store multiple records of key-value and record-pointer pairs. The internal nodes contain copies of the keys that split blocks of the leaf nodes in a manner similar to the B+-Tree. The new internal nodes are formed into a Red-Black-Tree structure. It has the advantage that it can be easily reconstructed by reading only the lowest key values of each leaf node block. The main contributions are in the development and implementation of the O2-Tree; its performance comparison with the T-Tree, AVL-Tree, B+-Tree, Top-Down implementation of the Red-Black Binary-Search tree; and also with NoSQL databases such as Kyoto Cabinet, LevelDB and in-memory BerkeleyDB.
Keywords :
SQL; database indexing; trees (mathematics); 64-bit addressing; AVL-tree; B+-tree; Kyoto cabinet; LevelDB; NoSQL data-store; O2-tree; T-Tree; Top-Down implementation; database indexing; fast memory resident index; in-memory BerkeleyDB; key-value pairs; large databases; large in-memory cache pool; leaf node block; memory resident databases; modern computer architecture; record-pointer pairs; red-black binary-search tree; Data structures; Indexing; Memory management; Vegetation; Data-Store; Database Indexing; NoSQL;
Conference_Titel :
Computational Science and Engineering (CSE), 2012 IEEE 15th International Conference on
Conference_Location :
Nicosia
Print_ISBN :
978-1-4673-5165-2
Electronic_ISBN :
978-0-7695-4914-9
DOI :
10.1109/ICCSE.2012.17