J + -Tree: A New Index Structure in Main Memory
As the memory capacity increases and the hardware becomes cheaper, main memory databases (MMDB) have come true and been used in more and more applications, because they can provide better response time and throughputs. The advent of MMDB requires a reconsideration of data structures and algorithms of traditional DBMS. The index structure is one of the most important aspects that need be redesigned since it can affect the overall system performance heavily. Even though the T-tree index, which was proposed for main memory databases, has been widely accepted as a promising index structure. B + -tree and its variants still have their advantages in memory and are also regarded as the potential main memory database index structures. In this paper, we propose a new indexing technique called J + -tree for MMDB, inspired by the Judy structure which is an associative array data structure. Our J + -tree index not only holds the advantages of Judy (such as good single value search characteristic) but also outperforms it in many ways. For example, J + -tree can obtain better performance for range queries that are very slow in Judy structure. We compare the J + -tree index with Judy, T-tree and B + -tree on time and space aspects, and the experimental results show that J + -tree can provide better overall performance in main memory.
KeywordsLeaf Node Index Structure Range Query Search Cost Tree Index
Unable to display preview. Download preview PDF.
- 1.Baskins, D.: Judy functions - C libraries for creating and accessing dynamic arrays, http://judy.sourceforge.net
- 2.Comer, D.: The Ubiquitous B-Tree. ACM Computing Surveys 11(2) (1979)Google Scholar
- 3.Chen, S., Gibbons, P.B., Mowry, T.C.: Improving Index Performance through Prefetching. In: Proceedings of the SIGMOD 2001 Conference, pp. 235–246 (2001)Google Scholar
- 4.Garcia-Molina, H., Salem, K.: Main Memory Database Systems: An Overview. IEEE Transactions on Knowledge and Data Engineering 4(6) (1992)Google Scholar
- 5.Jung, K., Lee, K.: Design and Implementation of Storage Manager in Main Memory Database System ALTIBASE.Google Scholar
- 6.Lehman, T.J., Carey, M.J.: A Study of Index Structures for Main Memory Database Management Systems. In: Proceedings of the 12th VLDB Conference, pp. 294–303 (1986)Google Scholar
- 8.Rao, J., Ross, K.A.: Cache Conscious Indexing for Decision-Support in Main Memory. In: Proceedings of the 25th VLDB Conference (1999)Google Scholar
- 9.Rao, J., Ross, K.A.: Making B + -Trees Cache Conscious in Main Memory. In: Proceedings of ACM SIGMOD Conference (2000)Google Scholar
- 10.Rastogi, R., Seshadri, S., Bohannon, P., Leinbaugh, D., Silberschatz, A., Sudarshan, S.: Logical and Physical Versioning in Main Memory Databases. In: Proceedings of the 23rd VLDB Conference, pp. 86–95 (1997)Google Scholar
- 11.The TimesTen Team: High Performance and Scalability through Application-Tier, In-Memory Data Management. In: Proceedings of the 26th VLDB Conference (2000)Google Scholar
- 12.Programming with Judy: C Language Judy Version 4.0, http://docs.hp.com/en/B6841-90001/index.html