Method and apparatus for synchronizing not-logged...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C715S252000, C707S793000, C707S793000

Reexamination Certificate

active

06735605

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to the management of tables in a relational database management system.
BACKGROUND OF THE INVENTION
Relational Database Management Systems (RDBMS's) have a well-defined concept of a ‘regular’ table, which contains data that is accessible to multiple applications that have the appropriate authority to access the table, whose data integrity is maintained by concurrency control enforced by table and row level locking; recoverability and the possibility to ‘undo work’ is ensured by logging.
Another type of table (application-temporary) has been introduced by a number of RDBMS products that has a more restricted scope. These ‘application-temporary’ tables are created for the use of the application that created them only and cease to exist once the application disconnects from the database. This type of table need not use locking to ensure concurrency control since there is only one application accessing the table at once. This table type allows application writers to create applications that utilize tables that are guaranteed to be inaccessible to all other users of the database as well as having the performance benefit of not having locking to slow them.
An additional performance benefit can be had by (optionally) eliminating the logging of changes to application-temporary tables. The absence of logging means that changes made to an application-temporary table cannot be undone (rolled back) as is done with logged tables. Nonetheless, since the table is under the sole control of the application that created it, then the need to roll back changes may not be as necessary as with other tables, so an application writer may determine that the performance benefits of having application-tables not logged are of sufficient benefit to not require the rollback capabilities of this table.
Also, in order to have temporary tables be used to maximum benefit in a multi-node RDBMS, it is advantageous to be able to partition application-temporary tables across multiple nodes. This allows for larger temporary tables as well as the possibility of ‘collocation’ of data in the temporary tables with that of ‘regular’ tables (i.e., the data in the temporary table is partitioned in the same manner as the regular table). The performance of queries issued against tables that are collocated with each other can be greatly optimized.
However in order to implement partitioned not-logged application-temporary tables, there are a number of hurdles that must be overcome that ensure that changes made to the table are properly synchronized at all nodes. Since logging is usually the mechanism that ensures that changes to regular table are properly synchronized at all nodes, a new mechanism is needed to manage these application-temporary tables.
The invention herein provides a method and apparatus, described below, to implement partitioned not-logged application temporary tables in a manner that minimizes network traffic needed to coordinate these tables.
SUMMARY OF THE INVENTION
One aspect of the invention provides a multi-node relational database management system for managing a database having declared temporary tables associated with respective applications, comprising:
a plurality of nodes, comprising:
a catalog node for maintaining a list of identifiers for declared temporary tables associated with any application;
a coordinator node for an application
at least one subordinate node for the application;
a declared temporary table manager for causing:
a) the coordinator node to maintain for the application:
a list of the declared temporary tables.
Another aspect of the invention herein provides a multi-node relational database management system for managing a database having declared temporary tables associated with respective applications, and logged tables, comprising:
a plurality of nodes, including:
a catalog node for maintaining a list of identifiers for declared temporary tables associated with any application;
a coordinator node for an application;
at least one subordinate node for the application, the subordinate node having at least one partition of the declared temporary tables of the application;
a declared temporary table manager for causing:
a) the coordinator node to maintain for the application:
a list of the declared temporary tables;
a list of the declared temporary tables being dropped;
a list of action entries indicating identification of tables on which actions are to be performed, and actions to be performed;
a transaction node list indicating identification of those nodes involved in a current transaction; and,
an application node list for indicating identification of all nodes that have participated in execution of the application; and,
b) the subordinate node for the application to maintain a list of the declared temporary tables that are partitioned at the subordinate node.
Some aspects of this invention also apply to a multi-node environment for which there is only one partition for the declared temporary table and that partition is on the coordinator node.
Yet another aspect of the invention herein provides a multi-node relational database management system for managing a database having declared temporary tables associated with an application, and logged tables, comprising:
a plurality of nodes, including:
a catalog node for maintaining a list of identifiers for declared temporary tables associated with any application, and a deferred drop list;
a coordinator node for an application;
at least one subordinate node for the application, the subordinate node having at least one partition of the declared temporary tables of the application;
a declared temporary table manager for managing the declared temporary tables for causing:
a) the coordinator node to maintain for the application:
a list of the declared temporary tables for tracking the temporary tables;
a list of the declared temporary tables being dropped containing information to be sent to the catalog node to inform it of declared temporary tables being dropped so the catalog node can release the identification of the declared temporary tables being dropped or add the identification to its deferred drop list to release the identification when execution of the application ends;
a list of action entries indicating identification of tables on which actions are to be performed, and any actions to be performed to be used to inform subordinate nodes to maintain their partitions of the declared temporary tables in synchronization;
a transaction node list indicating identification of those nodes involved in a current transaction to inform the subordinate nodes involved in the current transaction to appropriately end a transaction as required for rollback or commit; and,
an application node list for indicating identification of all nodes that have participated in execution of the application, to identify all subordinate nodes participating in the application so that they can perform node specific application termination processing including cleanup;
b) the subordinate node for the application to maintain a list of the declared temporary tables that are partitioned at the subordinate node for synchronization.
Optionally the coordinator node for an application is located at the catalog node; at least one subordinate node for an application can be at any node except that application's coordinator node.
Another aspect of the invention provides a program product comprising a computer readable storage medium for storing instructions to establish a multi-node relational database management system for managing a database having declared temporary tables associated with respective applications, comprising:
a plurality of nodes, including:
program instructions for establishing a catalog node for maintaining a list of identifiers for declared temporary tables associated with any application;
program instructions for establishing a coordinator node for an application;
program instructions for establishing at least one subordinate node for the application, the subordinate node having at leas

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for synchronizing not-logged... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for synchronizing not-logged..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for synchronizing not-logged... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3191286

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.