Indexing for Multidimensional Data An Introduction
Jaruloj Chongstitvatana Advanced Data Structures 2 Applications of Multidimensional Databases Normal databases with multiple key Spatial databases Geographic information system (GIS) Computer-aided design (CAD) Multimedia databases Medical applications
Jaruloj Chongstitvatana Advanced Data Structures 3 Characteristics of Good Index Structures (1) Dynamic Insert, delete, and update data in any order Handle necessary queries Point or exact queries Range quesries Spatial queries Boolean queries
Jaruloj Chongstitvatana Advanced Data Structures 4 Characteristics of Good Index Structures (2) Good performance (disk accesses, running time, etc.) for Query, insert, delete Good storage (memory or disk) utilization Low percentage of waste space Scalability Simple
Jaruloj Chongstitvatana Advanced Data Structures 5 Why hierarchical structures Allow the search to be focused on interesting subset of data Eliminate useless search Clean and simple implementation
Jaruloj Chongstitvatana Advanced Data Structures 6 Hierarchical index structures for single attribute B tree Binary tree Unbalanced Organize data Memory-based index Measuring the running time Practical mem. size B+ tree N-ary tree Height-balanced Organize data space Disk-based index Measuring the number of disk accesses Disk page size
Jaruloj Chongstitvatana Advanced Data Structures 7 B tree
Jaruloj Chongstitvatana Advanced Data Structures 8 B+ tree
Jaruloj Chongstitvatana Advanced Data Structures 9 Handling multiple attributes (1) Separate index structure for each attributes Update all index structures for each record update. Data are scattered in many disk pages. a1a2a3 disk a4
Jaruloj Chongstitvatana Advanced Data Structures 10 Handling multiple attributes (2) Bit interleaving Attribute interleaving
Jaruloj Chongstitvatana Advanced Data Structures 11 Multiple-attribute indexing Quad-tree k-d tree k-d-B tree Grid file hB-tree
Jaruloj Chongstitvatana Advanced Data Structures 12 Spatial Indexing R-tree R*-tree SKD-tree
Jaruloj Chongstitvatana Advanced Data Structures 13 High-dimensional indexing SS-tree TV-tree