Performance optimization in a heterogeneous, distributed database environment
First Claim
1. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for optimizing performance of a database system wherein data associated with a client is distributed among a plurality of heterogeneous database management systems (DBMSs), said method steps comprising:
- (1) transparently fetching a data block of records and record identification information that uniquely identifies each of said records of said data block from a target database management system (DBMS) in response to a record request of said client, thereby reducing accesses to said target DBMS and thus optimizing performance of said database system, wherein said target DBMS is one of said heterogeneous DBMSs and wherein a single copy of said data block is maintained in said database system by said target DBMS; and
(2) processing, in real-time, a positioned update instruction issued by said client and said record identification information, wherein said position update instruction has an associated position cursor, said positioned update instruction when executed by said target DBMS enabling said target DBMS to modify a record contained in said data block and addressed by said associated position cursor.
0 Assignments
0 Petitions
Accused Products
Abstract
The performance of a heterogeneous, distributed database system is optimized by supporting both block fetch operations and positioned update operations. Specifically, a data block is fetched from a target database management system (DBMS), and a positioned update instruction issued by a client is processed. The positioned update instruction, when executed by the target DBMS, enables the target DBMS to modify a row contained in the data block and addressed by a cursor as the cursor is perceived by the client. Also, performance of the database system is optimized by identifying database statements that reference invariant host variables, and modifying such database statements by replacing in the database statements the host variables with literal values equivalent to the host variables.
-
Citations
8 Claims
-
1. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for optimizing performance of a database system wherein data associated with a client is distributed among a plurality of heterogeneous database management systems (DBMSs), said method steps comprising:
-
(1) transparently fetching a data block of records and record identification information that uniquely identifies each of said records of said data block from a target database management system (DBMS) in response to a record request of said client, thereby reducing accesses to said target DBMS and thus optimizing performance of said database system, wherein said target DBMS is one of said heterogeneous DBMSs and wherein a single copy of said data block is maintained in said database system by said target DBMS; and (2) processing, in real-time, a positioned update instruction issued by said client and said record identification information, wherein said position update instruction has an associated position cursor, said positioned update instruction when executed by said target DBMS enabling said target DBMS to modify a record contained in said data block and addressed by said associated position cursor. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for use with a distributed database system comprising a plurality of heterogeneous database management systems, wherein data associated with a client is distributed among said heterogeneous database management systems, said computer program product comprising:
-
a computer usable medium having a computer readable program code means embodied in said medium for optimizing performance of a heterogeneous, distributed database management systems (DBMSs), said computer readable program code means comprising; computer readable first program code means for causing a computer to transparently fetch a data block of records and record identification information that uniquely identifies each of said records of said data block from a target database management system (DBMS) in response to a record request of said client, thereby reducing accesses to said target DBMS and thus optimizing performance of said database system, wherein said target DBMS being one of said heterogeneous DBMSs and wherein a single copy of said data block is maintained in said database system by said target DBMS; computer readable second program code means for causing said computer to process in real-time a positioned update instruction issued by said client and said record identification information, wherein said position update instruction has an associated position cursor, said positioned update instruction when executed by said target DBMS enabling said target DBMS to modify a record contained in said data block and addressed by said position cursor; computer readable third program code means for causing said computer to modify a database statement issued by said client and referencing a host variable by replacing in said database statement said host variable with a literal value equivalent to said host variable if said host variable is invariant, wherein said host variable is repetitively replaced with a literal value during each loop iteration, if said host variable is invariant within a loop iteration; and computer readable fourth program code means for causing said computer to process said modified database statement. - View Dependent Claims (7, 8)
-
Specification