Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1998-12-18
2001-10-16
Black, Thomas (Department: 2171)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C707S793000
Reexamination Certificate
active
06304871
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to applications which use database engines, particularly relational database engines, and more particularly to a method and system for rapidly and easily characterizing these applications across a wide range of database engines, database sizes, and machines.
BACKGROUND OF THE INVENTION
Database engines allow users to access data stored in databases. Some database engines allow information to be stored in a relational database. A relational database typically contains information that can be stored, accessed, and manipulated by a key or a combination of keys. Typically, database engines providing relational databases can be utilized by a variety of applications.
Structured query language (SQL) is typically used for communication between database engines providing relational databases and applications. In order to facilitate their use, a database engine typically provides an interface for communication with applications. The interface allows SQL queries to invoke the functions of the database engine. To use the database engine, applications provide SQL queries to the interface. The database engine then performs the operations in the queries on the relational database. Thus, SQL queries provide a standard mechanism for storing, manipulating, retrieving, and otherwise utilizing data based on a variety of keys.
The database engine and application are used within a computer system having particular machinery. For example, the computer system could include a network having a particular server on which the database engine, database, and application reside. Users at workstations access information in the database through the application and the database engine. The application can be a generic, readily available application or an application that has previously been customized for the users.
When designing the computer system, it must be ensured that the database engine and machinery provided can be adequately used with the application and the database holding the information the application is accessing. Typically, the time that it takes to perform a task depends on the database engine, the application, the machinery used and the size of the database. Thus, it must be ensured that for a database of a particular size, the application can use the database engine on the machinery to perform the desired tasks within a desired amount of time.
In order to ensure that the database engine and application can adequately function on the machinery for a database of a given size, benchmarks are typically used. Benchmarks are standard programs which can be run on a variety of database engines. Typically, the benchmarks are run so that they access database engines on a variety of machines at different database sizes. The time taken for the benchmarks to perform various tasks using each of the database engines on each of the machines can then be used to determine which machinery and which database engines are suitable for the computer system. Once this is determined, other factors, such as cost, can also be taken into account and the computer system provided to the users.
Although benchmarks provide a mechanism for selecting database engines and machinery, benchmarks do not account for differences in the applications to be used on the computer system. The benchmarks are standard programs that may behave very differently from the applications to be used on the computer system. Thus, benchmarks may not be able to adequately predict the behavior of the database engines and machinery considered. As a result, a non-optimal database engine or non-optimal machinery may be selected.
The inability of benchmarks to properly account for differences in applications can be addressed by running each application using a variety of database engines, at a variety of database sizes, on several machines. However, a customer may have several applications desired to be used. There is a relatively large number of database engines currently available. Characterizing each application with each database engine using different database sizes on different machinery is extremely time consuming and, therefore, expensive.
Accordingly, what is needed is a system and method for more efficiently characterizing applications or database engines, allowing for selection of the database engine and machinery. The present invention addresses such a need.
SUMMARY OF THE INVENTION
The present invention provides a system and method for allowing a user to characterize an application. In one aspect, the method and system allow a user to characterize a database engine. The database engine utilizes a particular interface for communicating with an application. The method and system comprise determining a query spectrum including plurality of queries. The plurality of queries corresponds to a plurality of query types. The plurality of query types are chosen such that any possible query can be classified as being of one query type. The plurality of queries is compatible with the particular interface. The method and system further comprise running the query spectrum on the database engine and determining a time taken to run each of the plurality of queries on the database engine. In another aspect, the method and system are for characterizing the application. In this aspect, the method and system comprise characterizing the database engine using a query spectrum including a first plurality of queries. The first plurality of queries is compatible with the particular interface. The first plurality of queries has a plurality of query types. The method and system further comprise providing a second plurality of queries characteristic of the application. The second plurality of queries have a portion of the plurality of query types and are compatible with the particular interface. The method and system further comprise calculating a run time taken to run the second plurality of queries on a portion of the plurality of database engines based on the portion of the plurality of query types and characterization of the plurality of database engines.
According to the system and method disclosed herein, the present invention allows for faster, simpler characterization of applications, thereby facilitating choosing solutions for a use's computing needs.
REFERENCES:
patent: 5412806 (1995-05-01), Du et al.
patent: 5694591 (1997-12-01), Du et al.
patent: 5767854 (1998-06-01), Anwar
patent: 5897634 (1999-04-01), Attaluri et al.
patent: 5911075 (1999-06-01), Glaser et al.
patent: 5937415 (1999-08-01), Sheffield et al.
patent: 6073129 (2000-06-01), Levine et al.
patent: 6101502 (2000-08-01), Heubner et al.
Gajda Kimberly Lynn
Johnson Michael Joseph
Thorpe Robert Tod
Black Thomas
Flynn John D.
International Business Machines - Corporation
Rones Charles L.
Sawyer Law Group LLP
LandOfFree
Method and system for characterizing applications for use... 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 system for characterizing applications for use..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for characterizing applications for use... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2593468