Oracle8i Index-Organized Table and Its Application to New Domains

Primary B-tree, a variant of B-tree structure with row data in leaf blocks, is an ideal storage organization for queries involving exact match and/or range search on primary keys. Commercially, primary B-tree like structures have been supported in DBMSs like Compaq Non-Stop SQL, Sybase Adaptive Server, and Microsoft SQL Server. Oracle’s index-organized table is like a primary B-tree; however, it differs from its commercial counterparts in the following respects: 1) The storage organization does not require the entire row to be stored in the primary key index. Infrequently accessed columns can be selectively pushed into an overflow storage area to speed up access to columns that are frequently accessed. 2) Secondary indexes on index-organized tables support logical primary key-based row identifiers, and still provide performance comparable to secondary indexes with physical row identifiers by storing and making use of guess-DBA (Database Block Address). 3) Support for primary key compression leads to reduced storage requirements. This paper presents the index-organized table storage option in Oracle8i with emphasis on the novel aspects mentioned above. The applicability of index-organized tables to new domains such as the Internet, E-Commerce and Data Warehousing is discussed. A performance study is presented, that validates the clustering benefits of Oracle’s primary B-tree implementation, and characterizes the impact of overflow storage area, guess-DBA use in secondary B-tree indexes, and primary key compression.

[1]  Michael Stonebraker,et al.  The Asilomar report on database research , 1998, SGMD.

[2]  Michael Hammer,et al.  A heuristic approach to attribute partitioning , 1979, SIGMOD '79.

[3]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[4]  B. Niamir,et al.  ATTRIBUTE PARTITIONING IN A SELF-ADAPTIVE RELATIONAL DATA BASE SYSTEM , 1978 .

[5]  Andreas Reuter,et al.  Tandem Database Group - NonStop SQL: A Distributed, High-Performance, High-Availability Implementation of SQL , 1987, HPTS.

[6]  Laks V. S. Lakshmanan,et al.  Snakes and sandwiches: optimal clustering strategies for a data warehouse , 1999, SIGMOD '99.

[7]  Alistair Moffat,et al.  An Efficient Indexing Technique for Full Text Databases , 1992, Very Large Data Bases Conference.

[8]  Samuel DeFazio,et al.  Extensible indexing: a framework for integrating domain-specific indexing schemes into Oracle8i , 2000, Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073).

[9]  Jim Gray,et al.  Benchmark Handbook: For Database and Transaction Processing Systems , 1992 .

[10]  Curtis E. Dyreson,et al.  The Jungle database search engine , 1999, SIGMOD '99.

[11]  Patrick E. O'Neil,et al.  Improved query performance with variant indexes , 1997, SIGMOD '97.

[12]  Shamkant B. Navathe,et al.  Vertical partitioning algorithms for database design , 1984, TODS.

[13]  Betty Salzberg,et al.  Safely and Efficiently Updating References During On-line Reorganization , 1998, VLDB.

[14]  Philip Greenspun Philip and Alex's Guide to Web Publishing , 1999 .

[15]  Sherif Danish Building database-driven electronic catalogs , 1998, SGMD.

[16]  Balakrishna R. Iyer,et al.  A Survey on Online Reorganization in IBM Products and Research. , 1996 .

[17]  Arthur M. Keller,et al.  Smart Catalogs and Virtual Catalogs , 1995, USENIX Workshop on Electronic Commerce.

[18]  T. K. Rengarajan,et al.  Storage and Retrieval of Feature Data for a Very Large Online Image Collection. , 1996 .

[19]  Martin Bichler,et al.  Component-based e-commerce: assessment of current practices and future directions , 1998, SGMD.

[20]  Mohamed Ziauddin,et al.  Materialized Views in Oracle , 1998, VLDB.