Database system with methodology for storing a database table by vertically partitioning all columns of the table
DCFirst Claim
1. In a computer system having a database storing a database table, said database table presenting user information as rows of data records divided into columns of information, each column representing a particular category of information, a method for storing the database table by vertically partitioning each and every column of the database table without regard to storage devices available to the system, the method comprising:
- irrespective of storage devices available to the system, creating for each column of the database table at least one associated data page for storing data values for the column;
for each data record of the database table, storing the data value for each column of the data record in one of the at least one data page associated with the column, so that data values for each particular column of a database table are all stored together in at least one data page associated with said each particular column; and
for each column, linking together all of said at least one data page associated with the column to form a page chain for the column, so that each page chain stores together all of the data values for a particular column of the database table.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
A Client/Server Database System with improved methods for performing database queries, particularly DSS-type queries, is described. The system includes one or more Clients (e.g., Terminals or PCs) connected via a Network to a Server. In general operation, Clients store data in and retrieve data from one or more database tables resident on the Server by submitting SQL commands, some of which specify "queries"--criteria for selecting particular records of a table. The system implements methods for storing data vertically (i.e., by column), instead of horizontally (i.e., by row) as is traditionally done. Each column comprises a plurality of "cells" (i.e., column value for a record), which are arranged on a data page in a contiguous fashion. By storing data in a column-wise basis, the system can process a DSS query by bringing in only those columns of data which are of interest. Instead of retrieving row-based data pages consisting of information which is largely not of interest to a query, column-based pages can be retrieved consisting of information which is mostly, if not completely, of interest to the query. The retrieval itself can be done using more-efficient large block I/O transfers. The system includes data compression which is provided at the level of Cache or Buffer Managers, thus providing on-the-fly data compression in a manner which is transparent to each object. Since vertical storage of data leads to high repetition on a given data page, the system provides improved compression/decompression.
612 Citations
24 Claims
-
1. In a computer system having a database storing a database table, said database table presenting user information as rows of data records divided into columns of information, each column representing a particular category of information, a method for storing the database table by vertically partitioning each and every column of the database table without regard to storage devices available to the system, the method comprising:
-
irrespective of storage devices available to the system, creating for each column of the database table at least one associated data page for storing data values for the column; for each data record of the database table, storing the data value for each column of the data record in one of the at least one data page associated with the column, so that data values for each particular column of a database table are all stored together in at least one data page associated with said each particular column; and for each column, linking together all of said at least one data page associated with the column to form a page chain for the column, so that each page chain stores together all of the data values for a particular column of the database table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A database system comprising:
-
a computer having at least one processor and a memory; a storage device for storing a database table; a display device for presenting said database table to a user in row and column format; means for creating a vertical partition for each and every column of the database table, each vertical partition having data values for only a single column of the database table; and means for transferring each vertical partition to and from the storage device, so that at least some data values for a particular column are stored together at a contiguous location on the storage device wherein said means for creating a vertical partition for each column includes; forming a vertical page chain for each column, said vertical page chain storing only those data value of the records which correspond to the column for the page chain. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
Specification