Domain based partitioning and reclustering of relations in object-oriented relational database management systems
First Claim
1. A relational database management system for storing and manipulating data objects having object identities for use as arguments to database functions, comprising:
- means for defining and manipulating tuples of data representing domain based relationships of said data objects;
a relational database having storage tables therein for storing said tuples; and
storage management means for partitioning said storage tables, in accordance with domain based relationships of said data objects, into a plurality of local tables and for clustering said local tables into domains comprising collections of said local tables, each of said domains comprising a collection of local tables for storing a collection of data objects and the domain based relationships of said collection of data objects to other data objects in said relational database.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method of logically and physically clustering data (tuples) in a database. The database management system of the invention partitions (declusters) a set of relations into smaller so-called local relations and reclusters the local relations into constructs called domains. The domains are self-contained in that a domain contains the information for properly accessing and otherwise manipulating the data it contains. In other words, the data objects stored in the domains may be stored in a particular domain based upon a locality-of-reference algorithm in which a tuple of data is placed in a domain if and only if all objects referenced by the tuple are contained in the domain. On the other hand, the data objects stored in a domain may be clustered so that a tuple of data is placed in a domain based on the domain of the object referenced by a particular element of the tuple. By clustering the related object data in this manner, the database management system may more efficiently cache data to a user application program requesting data related to a particular data object. The system may also more efficiently lock and check-in and check-out data from the database so as to improve concurrency. Moreover, versioning may be more readily supported by copying tuples of a particular domain into a new domain which can then be updated as desired.
215 Citations
24 Claims
-
1. A relational database management system for storing and manipulating data objects having object identities for use as arguments to database functions, comprising:
-
means for defining and manipulating tuples of data representing domain based relationships of said data objects; a relational database having storage tables therein for storing said tuples; and storage management means for partitioning said storage tables, in accordance with domain based relationships of said data objects, into a plurality of local tables and for clustering said local tables into domains comprising collections of said local tables, each of said domains comprising a collection of local tables for storing a collection of data objects and the domain based relationships of said collection of data objects to other data objects in said relational database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of partitioning data stored in a relational database in accordance with domain based relationships between data objects having object identities for use as arguments to database functions and of clustering the partitioned data into domains comprising collections of storage tables which allow tuples of application defined data stored therein to be manipulated by an application program, said method comprising the steps of:
-
storing tuples of data representing domain based relationships of said data objects in at least one storage table of said relational database; partitioning said at least one storage table into a plurality of local tables in accordance with the domain based relationships of said data objects, each local table being associated with a domain comprising a collection of local tables for storing a collection of data objects and the domain based relationships of said collection of data objects to other data objects in said relational database; and clustering said local tables within said relational database into respective domains. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of manipulating data which is part of and represents related data objects stored in a relational database, comprising the steps of:
-
storing tuples of data representing domain based relationships of said data objects in at least one storage table of said relational database; partitioning said at least one storage table into a plurality of local tables in accordance with the domain based relationships of said data objects, each table being associated with a domain comprising a collection of local tables for storing a collection of data objects and the domain based relationships of said collection of data objects to other data objects in said relational database; clustering said local tables within said relational database into respective domains; retrieving tuples from selected ones of said respective domains; and manipulating said retrieved tuples by applying object management operations to data objects within said selected domains. - View Dependent Claims (21, 22, 23, 24)
-
Specification