The present invention generally relates to storage apparatus, and particularly to a storage apparatus having means for acquiring static information of a database management system.
Now many applications are constructed based on database (DB), and thus the database management system (DBMS), which is the software that manages the creation and maintenance of DB and offers functions to access data in DB easily, is extremely important. Particularly, the processing performance of DBMS determines mines the performances of applications that utilize DB, and hence it is vitally important to improve the processing performance of DBMS.
One of the features of DB is a large amount of data to be treated. Therefore, in most environments in which DBMS is executed, a large-capacity storage apparatus is connected to a computer in which DBMS is executed, and data of DB are stored on the storage apparatus. Thus, when processings using data in DB are executed, the access to the storage apparatus occurs, and hence the performance of accessing to data in the storage apparatus affects the performance of DBMS significantly. Accordingly, in a system in which DBMS is operated, it is essential to optimize the performance of the storage apparatus.
The I/O tuning in Oracle 8i of relational DBMS (RDBMS) is described in Chapter 20 (Document 1) of literature “Designing and Tuning for Performance Release 2 (8.1.6)”, A76992-01, Oracle Corp. This document discloses matters relevant to data allocation tuning together with the internal operation tuning in RDBMS: log files are stored in physical storage devices separated from the other data files; load balancing by storing data among disks with striping can work effectively; advantageous effects can be obtained by storing table data and index data associated therewith in different physical storage devices; and data having no relation with RDBMS are stored in different physical storage devices.
U.S. Pat. No. 6,035,306 (Document 2) discloses techniques concerned with a performance analysis tool considering the mapping between DBMS-file system-volume manager-storage apparatus. This performance analysis tool allows the workloads of objects in each layer to be displayed on screen. At this time, considering the above mapping, a function is given to facilitate the displaying of the workloads of objects of other layers associated with the above respective objects. In addition, as to the objects of volume manager layer, a function is provided to form an object relocation plan by which the second-highest-loaded objects stored in a highly-loaded storage device group is migrated to the lowest-loaded storage device group.
JP-A-9-274544 (Document 3) discloses a storage apparatus having a function to arrange logical storage devices used when a computer makes accesses on physical storage devices for actually storing data. This storage apparatus can change the mapping of the logical storage devices and physical storage devices dynamically, thereby improving the performance of the storage apparatus to be accessed. Part of the data stored in highly loaded physical storage devices is migrated to other physical storage devices by using the above function to dynamically change the allocation so that particular physical storage devices can be prevented from being highly loaded. Thus, the storage apparatus can be improved in its performance as a whole. A method is also described by which the performance improvement by the dynamic allocation change can be automatically performed.
JP-A-2001-67187 (Document 4) describes a storage apparatus having a function to arrange logical storage devices used when a computer makes accesses on physical storage devices for actually storing data and to dynamically change the allocation of the logical storage devices on the physical storage devices, wherein the physical storage devices are divided into groups having different attributes, and considering the groups, a plan is created for changing the allocation of the logical storage devices on the physical storage devices, and executed so that the allocation of logical storage devices can be automatically changed. That is, before the creation of the allocation changing plan, the physical storage devices are grouped for each attribute, and the allocation changing plan is so generated that the logical storage devices are arranged on physical storage devices of the group having the attribute matched to logical storage device's features.
U.S. Pat. No. 5,317,727 (Document 5) discloses the technique for increasing the operation speed of DBMS by executing part or all of the DBMS processing on the storage controllers side. Since the DBMS processing is performed on the storage controllers, the storage controllers can grasp the data access characteristics, and by considering the data access characteristics and the configuration of the storage apparatus it can reduce the number of times that the physical storage media are accessed uselessly, and read ahead necessary data, so that the DBMS performance can be improved.
An article of “Evaluation of Prefetching Mechanism Using Access Plan on Intelligent Disk” (written by Mukai, et al., The Eleventh Data Engineering Workshop (DEWS 2000) Collected Papers Lecture No. 3B-3, CD-ROM issued July, 2000, and hosted by The Institute of Electronics, Information and Communication Engineers, The Technical Group on Data Engineering) (Document 6) describes the improvement of DBMS performance by intelligent storage apparatus. Specifically, this article discusses the effect of using a data access plan offered on the storage apparatus as knowledge of application level when the query processing is performed on relational database management system (RDBMS). Moreover, for the confirmation of the effect, simulation of the above technique is performed by the read-ahead instruction issued from a host that uses trace data.
What is described in Document 1 should be considered when the administrator determines data allocation. Nowadays, one storage apparatus has a large number of physical storage devices shared by multiple computers. In this storage apparatus, it is often practiced that the logical storage devices the host recognizes are assigned to proper regions of the physical storage devices for actually storing data. When this storage apparatus is used, it is difficult for humankind, e.g., an administrator to grasp all things. If there is not any support function on the computer system side including this storage apparatus, it is difficult to even resolve the problems given in Document 1. Even if the problems could be figured out, under the condition that the computer system has no data-migrating function the backup and restore of data would be necessary in order for data to be relocated on storage devices, thus taking a great deal of labor for that processing.
In the technique described in Document 2, a function is provided to generate an allocation optimizing plan depending on the operating conditions of objects in volume manager layer, but it is necessary to determine the allocation considering the feature of data in DBMS layer when the performance of access to the storage apparatus is desired to further improve. The solution to this aspect is not mentioned in Document 2.
The techniques mentioned in Documents 3 and 4 are associated with the optimization of storage positions of data in the storage devices. Since these techniques allow for only the workloads and sequential accessibility as the features of data used by applications that utilize the storage apparatus, an optimum allocation cannot be always achieved from the application-side point of view. For example, data to be simultaneously accessed, such as table data and index data associated therewith in DBMS, are likely to be placed on the same physical storage device. At this time, access competition occurs in this physical storage device, thus probably lowering the performance of access to the storage apparatus.
Moreover, the techniques mentioned in Documents 1 through 4 particularly do not allow for the use of cache memory in the storage apparatus.
The techniques mentioned in Documents 5 and 6 particularly do not allow for the optimization of storage positions of data. Therefore, since loads on particular physical storage devices are increased, the performance of the storage apparatus lowers, and thus these techniques are not useful for improving the situations in which the performance of DBMS is degraded.