Multidimensional disk clustering scheme for query processing and maintenance in relational databases
AssigneeInternational Business Machines Corporation
InventorsRamesh C. Agarwal, Bishwaranjan Bhattacharjee, Leslie A. Cranston, Matthew A. Huras, Tony Wen Hsun Lai, Timothy R. Malkemus, Sriram K. Padmanabhan
Multidimensional clustered tables are provided for efficient processing and management in a relational database management system. A multidimensional clustered table is one whose data is simultaneously clustered along one or more independent dimensions, or clustering keys, and physically organized into blocks or pages on disk. When such a table is created, one can specify one or more keys as dimensions along which to cluster the table's data. Each of the dimensions can consist of one or more columns. Further provided are efficient query processing and maintenance techniques for use in conjunction with multidimensional clustered tables.
Drawings
Claims50
A method for efficiently maintaining clustered data in a relational database, comprising the steps of:
identifying at least one dimension of a table of the relational database using at least one table definition parameter;
clustering data for each of the at least one dimension using at least one block;
and
creating at least one block index, each of the at least one block index being associated with one of the at least one dimension.
1 more element
A program storage device readable by a machine, tangibly embodying a program of instructions executable on the machine to perform method steps for efficiently maintaining clustered data in a relational database, the method steps comprising:
identifying at least one dimension of a table of the relational database using at least one table definition parameter;
clustering data for each of the at least one dimension using at least one block;
and
creating at least one block index, each of the at least one block index being associated with one of the at least one dimension.
Assigned to International Business Machines Corporationassignment of assignor's interest
Published
Description6,983 words
Summary1,075 words
#The present invention relates generally to database systems and, more particularly, to techniques for providing multidimensional disk clustering in relational databases and for efficient access and maintenance of information stored in relational databases using multidimensional disk clustering.
#Almost all businesses are interested in deploying data warehouses to obtain business intelligence in order to improve profitability. It is widely recognized in the technical world that most data warehouses are organized in multidimensional fashion. The text by Ralph Kimball, et al., The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data Warehouses, John Wiley & Sons, ISBN: 0471153370, 1996, describes the use of multidimensional schema to model data warehouses.
#A multidimensional array layout has been used by many online analytical processing (OLAP) systems for organizing relatively small data warehouses. However, this multidimensional array structure does not scale well for large data warehouses such as those that require more than 100 gigabytes of storage. Such large data warehouses are still implemented using the relational database model. While conventional relational databases provide some clustering and data partitioning, these techniques are not adequate for supporting multidimensional data.
Brief description of the drawings9 figures
#FIG. 1 is a block diagram of an exemplary environment for use with the methodologies of the invention;
#FIG. 2 is a graphical illustration of the exemplary relational database management system of FIG. 1 in accordance with an embodiment of the present invention;
#FIG. 3. is a graphical illustration of an exemplary multidimensional table clustered along two dimensions in accordance with an embodiment of the present invention;
Detailed description5,702 words
#First, an environment for multidimensional disk clustering using a relational database management system (RDBMS) in accordance with the invention is described in the context of FIG. 1. The system 100 includes a processor 102 coupled to a memory 101, one or more input/output (I/O) devices 104, and an RDBMS 103. It is to be appreciated that the processor 102 can implement the methods of the present invention. Alternatively, the RDBMS 103 may have its own processor, memory, and I/O device configuration (not shown) to implement the methods of the present invention. In this arrangement, the RDBMS 103 can be hosted on a server platform, for example, and the processor 102, the memory 101, and the I/O devices 104 can be associated with the processor 102 in a client system. Of course, one skilled in the art would readily appreciate that there are many other configurations that may be adopted to process queries using the RDBMS 103 without departing from the spirit and scope of the present invention.
#The memory 101 may be used by the processor 102 in performing, for example, storage of information used by the processor 102. The I/O devices 104 may include a keyboard, a mouse, and/or any other data input device which permits a user to enter queries and/or other data to the system 100. The I/O devices 104 may also include a display, a printer, and/or any other data output device which permits a user to observe results associated with queries and/or other processor operations. The RDBMS 103 may contain system software (such as depicted in FIG. 2) to process structured query language (SQL) commands (or other types of queries), including optimizing the SQL commands (or other types of queries) and executing them to obtain information passed back to the processor 102. It is to be understood that the structured data associated with the RDBMS 103 is organized in individual tables, where each table may have a multitude of rows and columns. In a common configuration, an end user using an I/O device 104, such as a standard computer keyboard and/or pointing device, may enter a particular SQL command (or cause the command to be generated). The processor 102 may then receive this command from the I/O device 104, and send it to the RDBMS 103. The RDBMS 103 may then parse the SQL command, optimize the parsed result, and execute it against information associated with the RDBMS. The RDBMS 103 may send a result table back to the processor 102, and the processor 102 may then cause the result table to be displayed to the end user associated with the I/O device 104. It should be appreciated, however, that there are many other ways of interacting with the RDBMS 103. For instance, a computer program running in batch mode may interact with the RDBMS 103 without direct user interaction.
#It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit). The term “memory” as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), etc. In addition, the term “input/output devices” or “I/O devices” as used herein is intended to include, for example, one or more input devices, e.g., a keyboard, for making queries and/or inputting data to the processing unit, and/or one or more output devices, e.g., CRT display and/or printer, for presenting query results and/or other results associated with the processing unit. It is also to be understood that various elements associated with a processor may be shared by other processors. Accordingly, software components including instructions or code for performing the methodologies of the invention, as described herein, may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.