Database system with methods for appending data records by partitioning an object into multiple page chains
First Claim
1. In a database system storing information in a database table, said database table comprising rows of data records stored on data pages, a method for appending data records from a client to said database table comprising:
- linking said data pages together to form a single physical page chain in memory, said page chain having a first page and a last page;
receiving a request from said client for dividing said database table into a number of partitions;
in response to said request, dividing said page chain into a number of partitions, each partition comprising a physical page chain having a last page so that multiple last pages are available to the system for appending data records;
receiving a request for appending records to the end of said database table;
in response to said request, selecting one of said partitions for appending records to the end of said database table; and
appending said data records from said client to the last page of said selected partition, while at the same time other partitions remain available to other clients for appending records.
1 Assignment
0 Petitions
Accused Products
Abstract
A Client/Server Database System with improved methods for appending items to an object, such as appending data records to a database table, in the context of a multi-user environment is described. The system includes one or more Clients (e.g., Terminals or PCs) connected via a Network to a Server. The 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 insert or append operations, for appending records to a table. For enhancing the speed in which multiple appenders (i.e., Clients) can append records, the operation of the server is modified to store an object (e.g., table) as multiple (physical) page chains. From the logical viewpoint, a single (logical) page chain of data pages is presented to each client or user. From the perspective of inserting records, however, the system has multiple page chains to insert into, thereby removing contention among multiple appenders for the last page.
-
Citations
30 Claims
-
1. In a database system storing information in a database table, said database table comprising rows of data records stored on data pages, a method for appending data records from a client to said database table comprising:
-
linking said data pages together to form a single physical page chain in memory, said page chain having a first page and a last page; receiving a request from said client for dividing said database table into a number of partitions; in response to said request, dividing said page chain into a number of partitions, each partition comprising a physical page chain having a last page so that multiple last pages are available to the system for appending data records; receiving a request for appending records to the end of said database table; in response to said request, selecting one of said partitions for appending records to the end of said database table; and appending said data records from said client to the last page of said selected partition, while at the same time other partitions remain available to other clients for appending records. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. In a multi-user computer system where contention exists for appending items to one end of an object, said object storing items in a plurality of data pages, an improved method for appending items to the object comprising:
-
storing said object as a single logical page chain comprising multiple individual physical page chains, each individual physical page chain having a last page for insertion of items; receiving a first request from a first client for appending an item to said object; selecting a first one of said individual physical page chains; receiving a second request from a second client for appending an item to said object; selecting a second one of said individual physical page chains; and appending items from said first client to the last page of first selected page chain while concurrently appending items from said second client to the last page of second selected page chain. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A database management system for storing and processing a database table comprising:
-
a computer having a processor, a memory, and a plurality of storage devices; means for dividing said database table into a number of partitions, each partition comprising a physical page chain having a last page so that multiple last pages are available to the system for appending data records, each physical page chain being stored on a particular one of said plurality of storage devices; input means for inputting a request from a client for appending records to the end of said database table; means, responsive to said request, for selecting one of said partitions for appending records to the end of said database table; and means for appending said data records from said client to the last page of said selected partition, while at the same time other partitions remain available to other clients for appending records. - View Dependent Claims (29, 30)
-
Specification