Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-02-25
2001-10-16
Homere, Jean R. (Department: 2177)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000
Reexamination Certificate
active
06304867
ABSTRACT:
TECHNICAL FIELD OF THE INVENTION
This invention relates generally to database access techniques and more particularly to a system and method for enhancing the performance of a relational database management system.
BACKGROUND OF THE INVENTION
A relational database management system (RDBMS) offers users of the system increased functionality and flexibility over traditional methods of organizing and accessing data. However, this increased functionality and flexibility comes at a cost of reduced application and transaction performance due to the increased processing overhead associated with these systems. Most applications do not require every feature that an RDBMS offers.
In a business environment, most applications use a large number of relational tables which define the valid set of values for a specific field on a transaction. These relational tables are accessed often as the computer system verifies that each field on a transaction is one of the valid values. This results in a large number of read requests to the RDBMS for table rows which degrades overall system performance. In addition, these relational tables must be available for updating through the RDBMS. However, updates to these relational tables seldom occur during the business day. In order to support the ability to change these tables at any time as well as maintain the constant availability of these tables, the RDBMS must retain the table within the RDBMS's input/output hierarchy. This degrades system performance even though the table maintenance functionality is rarely used.
Some applications use a subset or portion of a relational table. Moreover, some batch applications will process only a small portion of a complete relational table during any execution of that application. The application must have access to the complete table so that it can gain access to the subset of the table necessary for the execution of the application. Having the complete table available to the application when the application only requires a subset of the table causes additional processing overhead which could be avoided. This ultimately leads to degradation of application performance.
Batch applications typically share buffer pools with other batch applications running at the same time. Sharing of buffer pools results in a performance problem known as buffer stealing. The stealing of a buffer previously assigned to another application results in additional physical reads to the data in order to place the data in another buffer area. There is no way at the present time to prevent an application from using certain resources within the RDBMS's address space. In other words, users cannot systematically check out a complete relational table from the RDBMS and have it available in memory for the duration of the application.
Testing of applications using RDBMS technology is more complex than testing of applications which employ traditional methods of accessing and organizing data. Currently, there is no way to simulate updates to a relational table within an RDBMS without actually performing the update. Therefore, a test version of the database must be loaded by a database administrator before an application test can commence. In addition, if a test of an application must be rerun, the relational table must be reset, or reloaded, to the version which existed prior to the test execution of the application. This process usually requires the aid of a database administrator running a batch job to reload the database.
Applications developed using computer aided software engineering (CASE) technology traditionally do not perform as well as applications coded directly by a software engineer. One major performance issue with CASE developed applications centers around the inputting and outputting of data. Skilled CASE users can address these types of performance issues by employing certain performance improving techniques within the CASE tool. However, focusing on performance improvement during application development usually decreases the software engineer's productivity potential with the CASE tool. Currently, there are no products available which allow the software engineer to focus on development of an application program without paying attention to the overall performance needs of an application system.
SUMMARY OF THE INVENTION
From the foregoing, a need has arisen for an improved system and method for accessing data in a relational database. In accordance with the present invention, an improved system, which enhances the performance of a relational database management system (RDBMS), for accessing data in a relational database is provided which substantially reduces disadvantages or problems associated with conventional relational database access techniques.
According to one embodiment of the present invention, there is provided a system for enhancing the performance of a relational database management system that comprises a computer, a data storage device, a random access memory assigned for use by an application, a relational database management system running on the computer to organize and control access to data on the data storage device, and a pre-processor which enhances the performance of an RDBMS. The database manager pre-processor functions within application programs to reduce the number of data access requests to the relational database management system. The database manager pre-processor reduces the RDBMS requests by staging data into memory, creating memory-based alternate indexes, and deferring updates to the database until the application program terminates.
The present invention provides various technical and operational advantages over standard relational database access techniques. One important advantage of the present invention is that all or part of a relational database table can be checked out and loaded into random access memory thereby reducing the total number of RDBMS requests. Another important advantage stemming from the loading of database table rows into memory is the reduction of the phenomena known as buffer stealing. Yet another important advantage is the ability to use live production data to test modifications to application programs. Still another important advantage is the improved productivity of software engineers due to the fact that performance issues no longer need to be addressed during application development. Other advantages may be readily ascertainable by those skilled in the art from the following figures, description, and claims.
REFERENCES:
patent: 4839799 (1989-06-01), Takahashi et al.
patent: 5715445 (1998-02-01), Wolfe
patent: 5835908 (1998-11-01), Bennett et al.
patent: 5842196 (1998-11-01), Agarwal et al.
patent: 5940289 (1999-08-01), Iwata et al.
patent: 5946682 (1999-08-01), Wolfe
patent: 6009432 (1999-12-01), Tarin
patent: 6029176 (2000-02-01), Cannon
patent: 6122628 (2000-09-01), Castelli et al.
patent: 6134541 (2000-10-01), Castelli et al.
patent: WO 89/12277 (1989-12-01), None
Nishihara S. et al: “IEEE Transactions on Computers”, Database Inspect Online!, Sep. 1987, vol. C-36, No. 9, pp. 1132-1135.*
Elhardt, K. and Bayer, R. “A Database Cache for High Performance and Fast Restart in Database Systems”, ACM Transactions on Database Systems, vol. 9, No. 4, Dec. 1984, pp. 503-525.*
Lehman, T.J. and Carey, M.J. “Query Processing in Main Memory Database Management Systems”, Proceedings of the ACM Conference on Management of Data, May 28-30, 1986, pp. 239-250.*
Lehman, T.J. and Carey, M.J. “A Study of Index Structures for Main Memory Database Management Systems”, Proceedings of the 12th International Conference on Very Large Databases, Aug. 1986, pp. 294-303.*
Fredman, M.L. and Tarjan, R.E. “Fibonacci Heaps and their Uses in Improved Network Optimization Algorithms”, Journal of the ACM, vol. 34, No. 3, Jul. 1987, pp. 596-615.*
Roussopoulos, N. “Overview of ADMS: A High Performance Database Management System”, Proceedings of the 1987 Fall Joint Computer Conference on Exploring Technology: Today and Tomorrow, 1987, pp. 452-460.*
Garcia-Molina, H. and Salem, K. “Ma
Baker & Botts LLP
Electronic Data Systems Corporation
Homere Jean R.
Wassum Luke S
LandOfFree
System and method for enhanced performance of a relational... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for enhanced performance of a relational..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for enhanced performance of a relational... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2603770