WO2017022005A1 - Database management device and method - Google Patents

Database management device and method Download PDF

Info

Publication number
WO2017022005A1
WO2017022005A1 PCT/JP2015/071762 JP2015071762W WO2017022005A1 WO 2017022005 A1 WO2017022005 A1 WO 2017022005A1 JP 2015071762 W JP2015071762 W JP 2015071762W WO 2017022005 A1 WO2017022005 A1 WO 2017022005A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
database
storage area
data arrangement
management unit
Prior art date
Application number
PCT/JP2015/071762
Other languages
French (fr)
Japanese (ja)
Inventor
圭弘 野田
雄 森中
隆一 星野
憲宏 原
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/071762 priority Critical patent/WO2017022005A1/en
Publication of WO2017022005A1 publication Critical patent/WO2017022005A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • the present invention relates to a database management apparatus and method, and is particularly suitable when applied to a database management apparatus that manages a database held in a storage apparatus equipped with a hierarchical storage function.
  • a hierarchical storage function is widely known as one of the functions of a storage device (see, for example, Patent Document 1 below).
  • the hierarchical storage function is a function that appropriately changes the data placement destination so that data with a higher access frequency or data with a specific data attribute is placed in a storage device with higher response performance based on the data access frequency and data attributes It is.
  • a storage apparatus equipped with such a hierarchical storage function is mounted with a plurality of types of storage devices with different response performance, and manages storage areas provided by storage devices with higher response performance as higher-level storage areas. . Then, the storage apparatus appropriately moves data so as to store data having a higher access frequency or data attributes having a higher importance in a storage area of a higher hierarchy.
  • data can be arranged in an appropriate storage device according to access frequency or data attribute, so that the response performance of the entire system is improved while suppressing the cost of building the system.
  • the quality assurance contract concluded with the customer (hereinafter referred to as SLA (Service Level Agreement))
  • SLA Service Level Agreement
  • the present invention has been made in view of the above points, and intends to propose a database management apparatus and method capable of appropriately managing a database held by a storage apparatus equipped with a hierarchical storage function.
  • data having a higher access frequency is moved to a higher-level storage area having a higher response performance
  • data other than the data is lower-level hierarchy having a lower response performance than the first storage area
  • a database management apparatus that manages a database held in a storage apparatus having a hierarchical storage function to be moved to a storage area
  • a process execution unit that executes a process related to the database, and session information at the time of execution of each of the processes
  • a session management unit that obtains and manages the data
  • a data placement management unit that causes the storage device to rearrange the data of the database as needed based on the session information of each of the processes
  • the data placement management unit accesses the database data for each process.
  • one data arrangement plan that satisfies a condition relating to the time defined in advance for the process is selected as the final data of the process.
  • Each data storage plan is determined, and when the data of the database is rearranged according to the final data allocation plan for each of the determined processes, it is determined whether the storage area of the upper hierarchy is sufficient. When the storage area of the upper hierarchy is sufficient, the storage apparatus is made to relocate the data of the database according to the final data arrangement plan for each determined process.
  • data having a higher access frequency is moved to a higher-level storage area having a higher response performance
  • data other than the data is moved to a lower-level storage area having a lower response performance than the first storage area.
  • a database management method that is executed in a database management device that manages a database held in a storage device having a hierarchical storage function to be executed, wherein the database management device includes a processing execution unit that executes processing related to the database; A session management unit that acquires and manages session information at the time of execution of each process, and causes the storage apparatus to relocate data in the database as necessary based on the session information of each process
  • a data placement management unit, and the data placement management unit One piece of the data that satisfies a condition relating to a time defined in advance for the processing from among a plurality of data placement plans in which a part of the data in the database having a large number of accesses is placed in the upper-layer storage area
  • the database management apparatus and method only data that satisfies the time conditions specified for each process can be relocated to the upper-layer storage area. In comparison with this, it is possible to more efficiently use the storage area of the upper hierarchy, and it is possible to perform hierarchical storage of data in the database so as to satisfy the time conditions defined for each process.
  • reference numeral 1 denotes a database system according to this embodiment as a whole.
  • This database system includes a database server device 2 and a storage device 3.
  • the database server device 2 is a server device having a function of executing online processing in response to a request from an external device (not shown) and batch processing scheduled in advance.
  • the database server device 2 includes a processor 10, a memory 11, a disk interface 12, and a communication interface 13.
  • the processor 10 is hardware that controls the operation of the entire database server device 2, and is composed of, for example, a CPU (Central Processing Unit).
  • the memory 11 is composed of, for example, a semiconductor memory and is used to hold various programs and various data.
  • the CPU 10 executes the program stored in the memory 11, online processing, batch processing, and various types of processing described below are executed.
  • a data management unit 20, a process execution unit 21, a session management unit 22, a data arrangement management unit 23, a session information management table group 24, an importance management table 25, and an SLA management table 26, which will be described later, are also stored and held in the memory 11.
  • the disk interface 12 is composed of, for example, a fiber channel interface, and executes protocol control when transmitting / receiving database data to / from the storage apparatus 3.
  • the communication interface 13 is composed of, for example, a NIC (Network Interface Card), and is connected to the storage device 3 via the network 4.
  • the communication interface 13 instructs a database operation command for instructing insertion, update or deletion of data issued from the database server apparatus 2 to the storage apparatus 3 at the time of the above online processing or batch processing, or a search on the database. Protocol control at the time of communication of commands transmitted / received to / from the storage apparatus 3 other than the search command is executed.
  • the storage device 3 is composed of a storage device such as RAID (Redundant Arrays of Inexpensive Disks) equipped with a plurality of types of storage devices each having a different response speed, and is used for storing and holding a database managed by the database server device 2 Is done.
  • the storage device 3 includes a storage unit 30 and a controller 31.
  • the storage unit 30 is used to store and hold a database, and a high-speed storage device 40 such as an SSD (Solid State Drive) that can read and write data at high speed, and a hard disk that is slower in reading and writing data than the high-speed storage device 40 And a low-speed storage device 41 such as a device (for example, SATA (Serial Advanced Technology Attachment)).
  • a high-speed storage device 40 such as an SSD (Solid State Drive) that can read and write data at high speed, and a hard disk that is slower in reading and writing data than the high-speed storage device 40
  • a low-speed storage device 41 such as a device (for example, SATA (Serial Advanced Technology Attachment)).
  • a RAID group is configured by one or a plurality of storage devices of the same type (high-speed storage device 40 or low-speed storage device 41), and one or a plurality of logical volumes are respectively defined on storage areas provided by each RAID group. . Data of the database managed by the database server device 2 is distributed and stored in these logical volumes.
  • the controller 31 has a function of controlling reading and writing of data with respect to the storage unit 30, and includes a processor 42 and a memory 43.
  • the processor 42 is hardware that controls the operation of the entire storage apparatus 3, and includes, for example, a CPU.
  • the memory 43 is constituted by a semiconductor memory, for example, and is used for temporarily holding various programs and various data.
  • the memory 43 stores a hierarchy management unit 44, and when the CPU executes the hierarchy management unit 44, logical data formed on a storage area provided by the high-speed storage device 40 with data having a higher access frequency is stored.
  • a logical volume (hereinafter referred to as the lower layer, as appropriate) formed on the storage area provided by the low-speed storage device 41 is moved to the volume (hereinafter referred to as the upper level storage area as appropriate)
  • Data management is performed by a hierarchical storage system that is moved to a storage area.
  • Online processing here refers to processing for inserting, updating, or deleting data in the database in response to an operation command for the database from the external device, or the search command in response to a search command from the external device This is a process for searching the data stored in the storage apparatus 3 for data satisfying the conditions specified in (1) and transmitting the search result to the transmission source of the search command.
  • Batch processing refers to processing that occurs periodically, such as tabulation processing.
  • the SLA for response time is preliminarily concluded with the user as a time condition, and for batch processing, time is set so that processing can be completed in the time zone such as nighttime that does not affect online processing.
  • the SLA for the processing time is concluded in advance with the user.
  • the data arrangement management function performs online processing and batch processing of data arrangement proposals that can comply with the time conditions (response time and processing time) defined by the SLA of each online processing and each batch processing. This is a function for controlling the storage apparatus 3 so as to rearrange necessary data according to the decided data arrangement plan and rearrange the necessary data in the storage area of the upper hierarchy or the lower hierarchy.
  • the database server device 2 executes a plurality of SQLs (Structured Query Query Language) corresponding to the online processing or batch processing, but each time the SQL is executed, Information indicating how many times each block of the database has been accessed and the average value of response times for these blocks (hereinafter referred to as average response time) is acquired and stored as session information.
  • SQLs Structured Query Query Language
  • the database server apparatus 2 changes the configuration of the storage apparatus 3 such as when a new high-speed storage device 40 is added, or periodically thereafter, based on session information for each SQL stored at that time.
  • the storage area in which the high-speed storage device 40 provides the data of the upper several percent of the blocks in the database that are frequently accessed in the online process or batch process that is, the storage area in the upper hierarchy)
  • the estimated values of the processing time of the online processing or batch processing are respectively calculated.
  • the database server device 2 sets the ratio of the data to be arranged in the storage area of the upper hierarchy, as shown in FIG. 2, in the upper 10%, 20%, 30%,...
  • the processing time required for online processing or batch processing for each predetermined ratio as shown in FIG. 3 is sequentially changed to a plurality of predetermined ratios (hereinafter referred to as predetermined ratios).
  • predetermined ratios a plurality of predetermined ratios
  • each of the plans for placing the upper 10%, 20%, 30%,..., Block data with the highest number of accesses in the upper-tier storage area (the default ratio is 10%, 20%). %, 30%, and so on) are called data placement plans.
  • the database server device 2 is defined by the SLA concluded for the online processing or batch processing based on the estimated value of the processing time for each data arrangement plan calculated as described above for each online processing and batch processing.
  • the data arrangement plan that satisfies the time condition and uses the least amount of storage space in the high-speed storage device 40 is the final data arrangement plan of the online processing or batch processing. Decide each.
  • the database server device 2 determines whether or not the capacity of the high-speed storage device 40 is sufficient when data rearrangement is performed in accordance with the data allocation plan for each online process and batch process, and determines that the capacity is sufficient. If it is obtained, the storage apparatus 3 is caused to perform data rearrangement in accordance with the data arrangement plan of each online process and each batch process.
  • the memory 11 of the database server device 2 as a means for realizing the data arrangement management function according to the present embodiment as described above includes the data management unit 20, the process execution unit 21, and the session management.
  • a unit 22, a data arrangement management unit 23, a session information management table group 24, an importance management table 25, and an SLA management table 26 are stored.
  • the data management unit 20 is a program having a function of managing the table structure of the database stored in the storage device 3 and the storage location (address) of each data.
  • the process execution unit 21 is a program having a function of actually executing online processing and batch processing related to a database, such as executing SQL corresponding to online processing or batch processing.
  • the session management unit 22 acquires session information for each SQL executed in online processing and batch processing, and stores and manages the acquired session information in a corresponding session information management table 50 (FIG. 5) described later. It is a program having Furthermore, the data arrangement management unit 23 is a program having a function of executing various processes related to the data arrangement management function according to the above-described embodiment.
  • the functions of the data management unit 20, the process execution unit 21, and the session management unit 22 are all functions of a general-purpose database management system (DBMS: Database Management System) program. Therefore, by adding the function of the data arrangement management unit 23 to the general-purpose database management system program, a program for realizing the data arrangement management function according to the present embodiment can be constructed.
  • DBMS Database Management System
  • the session information management table group 24 includes a plurality of tables for managing session information related to individual SQL executed in each online process and each batch process (hereinafter referred to as “session information management”). 50).
  • the session information management table 50 includes columns associated with CPU, network, and I / O (hereinafter referred to as CPU column 50A, network column 50B, and I / O column 50C, respectively). And a row provided corresponding to each block on the database accessed in the corresponding SQL (hereinafter referred to as a block row) 50D and a row provided corresponding to the time (hereinafter referred to as this). 50E).
  • the processor 10 (FIG. 1) of the database server device 2 required when executing the corresponding SQL is performed.
  • the database server device 2 and the storage device required for executing the SQL are stored in the field where the processing time is stored and intersects with the time row 50E in the network column 50B (the lowest field in the network column 50B in FIG. 5).
  • the usage time of a network (not shown in FIG. 1) connecting the three is stored.
  • each block row 50D in the I / O column 50C is divided into a location field 50CA, a frequency field 50CB, and an average response time field 50CC, respectively.
  • the location field 50CA stores the block address of the block accessed when the SQL is executed.
  • the number field 50CB stores the number of times the corresponding block is accessed when the SQL is executed.
  • the time field 50CC stores an average value of response times when the corresponding block is accessed (hereinafter referred to as an average response time).
  • the total time of I / O for the database required for executing the SQL is shown. Stored.
  • the session information management table 50 updates the value of the stored information every time the corresponding SQL is executed, based on the session information acquired at that time.
  • the importance management table 25 is a table used for managing the importance for each online process and batch process registered in advance by the system administrator. As shown in FIG. A degree column 25B is provided.
  • the process name column 25A stores the names of all online processes and batch processes executed in the database server device 2, and the importance column 25B stores the corresponding process (process in the process name column 25A on the same line).
  • the degree of importance registered by the system administrator is stored. In the example of FIG. 6, the smaller the numerical value stored in the importance column 25B, the higher the importance of the corresponding online process or batch process.
  • the SLA management table 26 is a table used for managing the time conditions defined in the SLA for each online process and batch process registered in advance by the system administrator. As shown in FIG. A column 26A and an SLA column 26B are provided.
  • the process name column 26A stores the process names of all the processes executed in the database server device 2, and the SLA column 26B concludes the corresponding process with the user of the database system 1.
  • the time conditions defined in the SLA are stored.
  • FIG. 8 shows a specific processing procedure of the data arrangement management process executed by the data arrangement management unit 23.
  • This data arrangement management process is executed when the configuration of the storage apparatus 3 is changed, for example, when a new high-speed storage device 40 (FIG. 1) is added to the storage apparatus 3, and thereafter periodically thereafter. To be executed.
  • the data arrangement management unit 23 When starting the data arrangement management process, the data arrangement management unit 23 first acquires the capacity of the high-speed storage device 40 registered in advance (SP1). The capacity acquired at this time becomes the capacity of the storage area of the upper tier in the data management method using the tiered storage method applied to the storage apparatus 3.
  • the data placement management unit 23 determines a final data placement plan that satisfies a time condition specified by the SLA for each online process and batch process executed by the database server device 2.
  • a determination process is executed (SP2).
  • the data arrangement management unit 23 has a capacity for the high-speed storage device 40 to have enough capacity to arrange all necessary data in the storage area of the upper hierarchy according to the final data arrangement plan for each online process and batch process determined in step SP2. Executability determination processing for determining whether or not it is present is executed (SP3).
  • step SP3 When the processing result of step SP3 is affirmative, the data arrangement management unit 23 stores the necessary data in accordance with the final data arrangement plan for each online process and batch process determined in step SP2 by the high-speed storage device 40. Whether or not the storage apparatus 3 is equipped with a function for moving to a storage area to be provided (higher-level storage hierarchy) and moving necessary data to a storage area (lower-level storage area) provided by the low-speed storage device 41 Is determined (SP4).
  • the data placement management unit 23 When the data placement management unit 23 obtains a positive result in this determination, it instructs the user to rearrange the necessary data according to the final data placement plan for each online process and batch process determined in step SP2 (hereinafter, This is referred to as a data relocation instruction) is transmitted to the storage apparatus 3 (SP5), and then this data allocation management process is terminated.
  • a data relocation instruction This is referred to as a data relocation instruction
  • the storage apparatus 3 that has received the data relocation instruction moves necessary data to the storage area provided by the high-speed storage device 40 according to the data relocation instruction, and the low-speed storage device 41 provides the necessary data. Data relocation processing to be moved to the storage area is executed.
  • the data allocation management unit 23 creates the processing at step SP2 by the hierarchical storage function based on the hierarchical management unit 44 (FIG. 1) installed in the storage device 3.
  • necessary data is moved to the storage area provided by the high-speed storage device 40 and necessary data is moved to the storage area provided by the low-speed storage device 41.
  • a dummy I / O command (hereinafter referred to as a dummy I / O command) is issued to the storage device (SP6).
  • the data arrangement management unit 23 reads data that is currently stored in the storage area provided by the low-speed storage device 41 and that should be moved to the storage area provided by the high-speed storage device 40.
  • the dummy I / O command is continuously and repeatedly transmitted to the storage apparatus 3 until the data is moved to the storage area provided by the high-speed storage device 40.
  • the data arrangement management unit 23 similarly performs such processing for all data to be moved to the storage area provided by the high-speed storage device 40.
  • the data placement management unit 23 moves the necessary data to the storage area provided by the high-speed storage device 40 according to the final data placement plan for each of the on-run processing and batch processing determined in step SP2, and also transfers the necessary data.
  • the data arrangement management process ends.
  • FIG. 9 shows an example of specific processing contents of the data placement plan determination process executed by the data placement management unit 23 in step SP2 of the data placement management process described above with reference to FIG. Show.
  • the data placement management unit 23 starts the data placement plan determination process shown in FIG. 9, and first, the database server device 2 according to a request from an external device or a preset schedule.
  • One online process or batch process is selected from all the online processes and batch processes executed by (SP10).
  • SP10 the online process or batch process selected at this time is referred to as a selection process.
  • the data arrangement management unit 23 obtains the time condition defined by the SLA for the selection process from the SLA management table 26 (FIG. 7) (SP11), and the past session of each SQL executed in the selection process. Information is acquired from the corresponding session information management table 50 (FIG. 5) (SP12).
  • the data arrangement management unit 23 extracts the processing time required for I / O and the processing time other than I / O for each SQL from the past session information acquired in step SP12 (SP13). Specifically, the data arrangement management unit 23 sets the I / O of the session information management table 50 (FIG. 5) associated with each SQL executed in the selection process as “processing time required for I / O”. Extract the time stored in the field where column 50C and time row 50E intersect. Further, the data arrangement management unit 23 sets the time stored in the field where the CPU column 50A and the time row 50E of the session information management table 50 intersect, the network column 50B and the time row as “processing time other than I / O”. Times obtained by adding the times stored in the fields intersected by 50E are calculated.
  • the data arrangement management unit 23 for each SQL executed in the selection process, from the past session information acquired in step SP12, the block address of each block accessed by the SQL, the number of accesses and the average response time for each block Are extracted (SP14).
  • the data placement management unit 23 estimates the I / O processing time when the data of a certain ratio from the upper block to the upper access block is placed in the upper-layer storage area for each SQL of the selection process. Are calculated for each of a plurality of predetermined ratios (for example, 10%, 20%, 30%,%) (SP15).
  • the data placement management unit 23 sets, for example, a certain default ratio of a certain SQL to a total value of the number of accesses to each block corresponding to a higher default ratio with a large number of accesses among the blocks accessed by the SQL. Multiply the response time that would be required for one I / O to the high-speed storage device, the multiplication result, and the measured value of the I / O time for each other block (the number of accesses and the average response time for that block) And the total value of the I / O processing time at the predetermined ratio of the SQL.
  • the “response time that would be required for one I / O to the high-speed storage device” is obtained from the measurement information made in advance or from the specification information of the high-speed storage device 40 and is given to the database server device 2 in advance. Take advantage of your time.
  • the data arrangement management unit 23 calculates the estimated value of the I / O processing time for each predetermined ratio for the SQL by repeatedly executing the same processing while sequentially changing the predetermined ratio for the SQL.
  • the data arrangement management unit 23 calculates the estimated value of the I / O processing time for each predetermined ratio for each SQL of the selection process by executing the above process for all the SQLs of the selection process.
  • the data arrangement management unit 23 calculates an estimated value of the processing time for each data arrangement plan based on the calculation result of step SP15 (SP16).
  • the data placement plan is a plan for placing each block of upper 10%, 20%, 30%,. Each plan is 10%, 20%, 30%, etc.).
  • the data arrangement management unit 23 sets the I / O processing time of one predetermined ratio with the SQL for one SQL of the selection process to an estimated value other than the SQL I / O obtained at step SP13.
  • the estimated value of the processing time of the SQL when the block data corresponding to the upper predetermined ratio with the higher number of accesses is arranged in the storage area of the upper hierarchy is calculated.
  • the data arrangement management unit 23 similarly calculates other SQL processing time estimates for the same predetermined ratio, and adds all of these calculation results to obtain the upper limit of the predetermined ratio with the highest number of accesses.
  • An estimated value of the processing time of the selection process when the block data is arranged in the storage area of the upper hierarchy is calculated.
  • the estimated value calculated at this time is the estimated value of the processing time of the data arrangement plan in which the data of the block corresponding to the predetermined ratio of the upper number with the highest number of accesses is arranged in the storage area of the upper hierarchy.
  • the data arrangement management unit 23 calculates the estimated value of the processing time for each data arrangement plan by executing the above process in the same manner for all the predetermined ratios.
  • the data arrangement management unit 23 determines whether there is a data arrangement plan that satisfies the time condition defined by the SLA of the selection process based on the calculation result of step SP16 (SP17). Specifically, the data placement management unit 23 compares the estimated processing time for each data placement plan calculated in step SP16 with the SLA time condition for the selection processing in order, and the estimated processing time is Such a determination is made depending on whether or not a data arrangement plan smaller than the condition exists.
  • the data allocation management unit 23 If the data allocation management unit 23 obtains a negative result in this determination, it displays a warning that the capacity of the high-speed storage device 40 is insufficient on the database server device 2 (SP18), and thereafter, this data allocation plan The determination process is terminated, and the data arrangement management process described above with reference to FIG. 8 is also terminated.
  • the data arrangement management unit 23 obtains a positive result in the determination at step SP17, the data arrangement that uses the least amount of the high-speed storage device 40 among the data arrangement proposals that satisfy the SLA time condition for the selection process.
  • the plan is determined as the final data arrangement plan of the selection process (SP19).
  • the data placement management unit 23 determines whether or not the final data placement has been determined for all online processing and batch processing executed by the database server device 2 (SP20). If the data arrangement management unit 23 obtains a negative result in this determination, it returns to step SP10, and thereafter, the processing selected in step SP10 is sequentially switched to other unprocessed online processing or batch processing, and step SP10 to step SP10 are performed. Repeat the process of SP20.
  • the data placement management unit 23 When the data placement management unit 23 finally determines the final data placement plan for all online processes and batch processes executed by the database server device 2 and obtains a positive result in step SP20, the data placement plan The determination process ends and the process returns to the data arrangement management process of FIG.
  • FIG. 10 shows an example of specific processing contents of the execution permission determination process executed by the data arrangement management unit 23 in step SP3 of the data arrangement management process described above with reference to FIG.
  • the data placement management unit 23 proceeds to step SP3 of the data placement management process, the data placement management unit 23 starts the execution determination process shown in FIG. 10, and first, for each online process and batch process in the data placement plan determination process described above with reference to FIG. When the data rearrangement is changed in accordance with the final data arrangement plan determined respectively, it is determined whether or not the capacity of the high-speed storage device 40 (the capacity of the storage area of the upper hierarchy) is sufficient (SP30).
  • the data placement management unit 23 calculates the sum of blocks to be placed in the storage area provided by the high-speed storage device 40 for the online process or batch process, and displays the block in the calculation result. By multiplying the capacity per one, the sum total of the data amount of data to be arranged in the upper tier storage area is calculated. Then, the data arrangement management unit 23 determines whether or not the total amount of data to be arranged in the higher-level storage area calculated for each online process and batch process is larger than the capacity of the high-speed storage device 40. Thus, the determination at step SP30 is performed.
  • the data arrangement management unit 23 If the data arrangement management unit 23 obtains an affirmative result in this determination, the data arrangement management unit 23 ends the execution determination process and returns to the data arrangement management process (FIG. 8).
  • the data arrangement management unit 23 obtains a negative result in the determination at step SP30, it executes the final data arrangement plan for each online process and each batch process determined at step SP2 of the data arrangement management process. Displays a warning to the effect that the capacity of the high-speed storage device 40 is insufficient (SP31). Thereafter, the execution determination process is terminated, and the data arrangement management process described above with reference to FIG. 8 is also terminated.
  • FIG. 11 shows another process example of the execution feasibility determination process executed by the data arrangement management unit 23 in step SP3 of the data arrangement management process described above with reference to FIG.
  • step SP3 of the data placement management process the data placement management unit 23 starts the execution determination process shown in FIG. 11.
  • SP40 the capacity of the high-speed storage device 40 (the capacity of the upper-layer storage area) is sufficient. Since the specific processing content of this step SP40 is the same as that of step SP30 of the execution determination processing described above with reference to FIG. 10, the description thereof is omitted here.
  • the data arrangement management unit 23 If the data arrangement management unit 23 obtains an affirmative result in this determination, the data arrangement management unit 23 ends the execution determination process and returns to the data arrangement management process (FIG. 8).
  • the data arrangement management unit 23 when the data arrangement management unit 23 obtains a negative result in the determination at step SP40, the data arrangement management unit 23 performs a display similar to that at step SP31 of the execution determination process described above with reference to FIG. 10 (SP41).
  • the management table 25 FIG. 6
  • the final data arrangement plan of each online process and each batch process determined in step SP2 of the data arrangement management process (FIG. 8)
  • it is calculated up to which data processing plan of what importance online processing or batch processing can be executed with the capacity of the current high-speed storage device 40, and the calculation result is stored in the database server device 2. (SP42).
  • the data placement management unit 23 determines whether or not an operation input indicating consent from the user has been given to the execution of the online processing of the importance level displayed in step SP42 or the data placement plan of the batch processing (SP43). . If the data arrangement management unit 23 obtains a positive result in this determination, the data arrangement management unit 23 ends the execution determination process and returns to the data arrangement management process (FIG. 8). Thus, in this case, in step SP5 or step SP6 of the data arrangement management process, the data arrangement management unit 23 stores the data so as to perform data rearrangement up to the data arrangement plan of the importance online process or batch process agreed by the user. The apparatus 3 is controlled.
  • the data placement management unit 23 performs data rearrangement according to the data placement plan of each online process and each batch process determined at step SP2 of the data placement management process. After the database server device 2 displays a warning to the effect that it cannot be performed (SP44), the execution determination process is terminated and the data arrangement management process (FIG. 8) is also terminated.
  • a part of data having a high access count among the database data is stored in the upper layer for each online process and batch process.
  • one data arrangement plan satisfying the SLA time conditions defined in advance for the online process or batch process is set as the final data arrangement plan of the online process or batch process.
  • Each is determined, and the storage apparatus 3 is caused to rearrange the data in the database according to the final data allocation plan for each determined online process and batch process.
  • the number of accesses is large as a plurality of data arrangement plans for arranging some data in the database data in the storage area of the upper hierarchy for each online process and batch process.
  • the proposal of allocating data for different upper-level predetermined ratios upper 10%, 20%, 30%, etc
  • the present invention applies to this.
  • a default size may be applied instead of a default ratio
  • a plurality of data arrangement plans are created in which a part of data in the database data is arranged in a storage area of an upper hierarchy.
  • Various other methods can be widely applied as the method.
  • the present invention can be widely applied to database management apparatuses having various configurations for managing a database held by a storage apparatus equipped with a hierarchical storage function.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided are a database management device and method for managing the data arrangement of a database held in a storage apparatus in which a hierarchical storage function is installed, wherein the device and method are configured so as to: determine, for each process, one data arrangement plan that satisfies a condition pertaining to a time prescribed in advance regarding the process from among a plurality of data arrangement plans for arranging some of the data of the database that is frequently accessed in the storage area of an upper hierarchy, the one data arrangement plan being determined as a final data arrangement plan; determine whether the capacity of the storage area of the upper hierarchy is sufficient when the data of the database is rearranged in accordance with the determined final data arrangement plan for each process; and cause the storage apparatus to rearrange the data of the database in accordance with the determined final data arrangement plan for each process when the capacity of the storage area of the upper hierarchy is sufficient.

Description

データベース管理装置及び方法Database management apparatus and method
 本発明はデータベース管理装置及び方法に関し、特に、階層記憶機能が搭載されたストレージ装置に保持されているデータベースを管理するデータベース管理装置に適用して好適なものである。 The present invention relates to a database management apparatus and method, and is particularly suitable when applied to a database management apparatus that manages a database held in a storage apparatus equipped with a hierarchical storage function.
 従来、ストレージ装置の機能の1つとして、階層記憶機能が広く知られている(例えば、下記特許文献1参照)。階層記憶機能は、データのアクセス頻度やデータ属性に基づいて、アクセス頻度がより多いデータ又は特定のデータ属性のデータをより応答性能が高い記憶デバイスに配置するようデータの配置先を適宜変更する機能である。 Conventionally, a hierarchical storage function is widely known as one of the functions of a storage device (see, for example, Patent Document 1 below). The hierarchical storage function is a function that appropriately changes the data placement destination so that data with a higher access frequency or data with a specific data attribute is placed in a storage device with higher response performance based on the data access frequency and data attributes It is.
 実際上、かかる階層記憶機能が搭載されたストレージ装置は、応答性能が異なる複数種類の記憶デバイスが実装され、より応答性能が高い記憶デバイスが提供する記憶領域をより上位階層の記憶領域として管理する。そして、ストレージ装置は、適宜、アクセス頻度がより多いデータや重要度がより高いデータ属性のデータをより高い階層の記憶領域に格納するようデータの移動を行う。 In practice, a storage apparatus equipped with such a hierarchical storage function is mounted with a plurality of types of storage devices with different response performance, and manages storage areas provided by storage devices with higher response performance as higher-level storage areas. . Then, the storage apparatus appropriately moves data so as to store data having a higher access frequency or data attributes having a higher importance in a storage area of a higher hierarchy.
 このような階層記憶機能によれば、データをアクセス頻度又はデータ属性に応じた適切な記憶デバイスに配置することができるため、システムを構築する際のコストを抑えながらシステム全体としての応答性能を向上させ得る利点がある。 According to such a hierarchical storage function, data can be arranged in an appropriate storage device according to access frequency or data attribute, so that the response performance of the entire system is improved while suppressing the cost of building the system. There are advantages that can be made.
特許第5070315号公報Japanese Patent No. 5070315
 ところで、上述のような階層記憶機能が搭載されたストレージ装置にデータベースを格納する場合、データベースの論理構造単位(つまり「表」単位)での配置階層の決定及び変更は効率が悪いという問題がある。これは、データベースの論理構造の中にはアクセスが多いデータとアクセスが少ないデータとが存在するため、例えば、論理構造単位で上位階層にデータベースのデータを移動させた場合、滅多にアクセスされないデータまでもが上位階層の記憶領域に移動されることとなり、この結果として最上位階層の記憶領域を無駄に利用することとなるからである。 By the way, when a database is stored in a storage apparatus equipped with the hierarchical storage function as described above, there is a problem that the determination and change of the arrangement hierarchy in the logical structure unit (that is, “table” unit) of the database is inefficient. . This is because there are data with high access and data with low access in the logical structure of the database. For example, if database data is moved to a higher hierarchy in the logical structure unit, data that is rarely accessed This is because the storage area of the uppermost hierarchy is unnecessarily used as a result.
 またアクセス頻度やデータ属性にのみ基づいてデータの配置先を変更する既存の階層記憶機能によると、顧客との間で締結した品質保証契約(以下、SLA(Service Level Agreement)と呼ぶ)目線での最適なデータ配置が難しい問題がある。 In addition, according to the existing hierarchical storage function that changes the data location based only on the access frequency and data attributes, the quality assurance contract concluded with the customer (hereinafter referred to as SLA (Service Level Agreement)) There is a problem that optimal data placement is difficult.
 本発明は以上の点を考慮してなされたもので、階層記憶機能が搭載されたストレージ装置が保持するデータベースを適切に管理し得るデータベース管理装置及び方法を提案しようとするものである。 The present invention has been made in view of the above points, and intends to propose a database management apparatus and method capable of appropriately managing a database held by a storage apparatus equipped with a hierarchical storage function.
 かかる課題を解決するため本発明においては、アクセス頻度がより高いデータを応答性能が高い上位階層の記憶領域に移動させ、当該データ以外のデータを第1の記憶領域よりも応答性能が低い下位階層の記憶領域に移動させる階層記憶機能が搭載されたストレージ装置に保持されているデータベースを管理するデータベース管理装置において、前記データベースに関する処理を実行する処理実行部と、各前記処理の実行時のセッション情報をそれぞれ取得して管理するセッション管理部と、各前記処理の前記セッション情報に基づいて、必要に応じて前記データベースのデータの再配置を前記ストレージ装置に行わせるデータ配置管理部とを設け、前記データ配置管理部が、前記処理ごとに、前記データベースのデータのうちのアクセス回数が多い一部のデータを前記上位階層の記憶領域に配置する複数のデータ配置案の中から、当該処理について予め規定された時間に関する条件を満たす1つの前記データ配置案を当該処理の最終的なデータ配置案としてそれぞれ決定し、決定した前記処理ごとの最終的な前記データ配置案に従って前記データベースのデータを再配置した場合に、前記上位階層の記憶領域の容量が足りるか否かを判定し、前記上位階層の記憶領域の容量が足りる場合に、決定した前記処理ごとの最終的な前記データ配置案に従って、前記ストレージ装置に前記データベースのデータの再配置を行わせるようにした。 In order to solve such a problem, in the present invention, data having a higher access frequency is moved to a higher-level storage area having a higher response performance, and data other than the data is lower-level hierarchy having a lower response performance than the first storage area In a database management apparatus that manages a database held in a storage apparatus having a hierarchical storage function to be moved to a storage area, a process execution unit that executes a process related to the database, and session information at the time of execution of each of the processes A session management unit that obtains and manages the data, and a data placement management unit that causes the storage device to rearrange the data of the database as needed based on the session information of each of the processes, The data placement management unit accesses the database data for each process. Of the plurality of data arrangement plans for allocating a part of the data having a large number in the storage area of the upper hierarchy, one data arrangement plan that satisfies a condition relating to the time defined in advance for the process is selected as the final data of the process. Each data storage plan is determined, and when the data of the database is rearranged according to the final data allocation plan for each of the determined processes, it is determined whether the storage area of the upper hierarchy is sufficient. When the storage area of the upper hierarchy is sufficient, the storage apparatus is made to relocate the data of the database according to the final data arrangement plan for each determined process.
 また本発明においては、アクセス頻度がより高いデータを応答性能が高い上位階層の記憶領域に移動させ、当該データ以外のデータを第1の記憶領域よりも応答性能が低い下位階層の記憶領域に移動させる階層記憶機能が搭載されたストレージ装置に保持されたデータベースを管理するデータベース管理装置において実行されるデータベース管理方法であって、前記データベース管理装置は、前記データベースに関する処理を実行する処理実行部と、各前記処理の実行時のセッション情報をそれぞれ取得して管理するセッション管理部と、各前記処理の前記セッション情報に基づいて、必要に応じて前記データベースのデータの再配置を前記ストレージ装置に行わせるデータ配置管理部とを有し、前記データ配置管理部が、前記処理ごとに、前記データベースのデータのうちのアクセス回数が多い一部のデータを前記上位階層の記憶領域に配置する複数のデータ配置案の中から、当該処理について予め規定された時間に関する条件を満たす1つの前記データ配置案を当該処理の最終的なデータ配置案としてそれぞれ決定する第1のステップと、前記データ配置管理部が、決定した前記処理ごとの最終的な前記データ配置案に従って前記データベースのデータを再配置した場合に、前記上位階層の記憶領域の容量が足りるか否かを判定する第2のステップと、前記データ配置管理部が、前記上位階層の記憶領域の容量が足りる場合に、決定した前記処理ごとの最終的な前記データ配置案に従って、前記ストレージ装置に前記データベースのデータの再配置を行わせる第3のステップとを設けるようにした。 In the present invention, data having a higher access frequency is moved to a higher-level storage area having a higher response performance, and data other than the data is moved to a lower-level storage area having a lower response performance than the first storage area. A database management method that is executed in a database management device that manages a database held in a storage device having a hierarchical storage function to be executed, wherein the database management device includes a processing execution unit that executes processing related to the database; A session management unit that acquires and manages session information at the time of execution of each process, and causes the storage apparatus to relocate data in the database as necessary based on the session information of each process A data placement management unit, and the data placement management unit One piece of the data that satisfies a condition relating to a time defined in advance for the processing from among a plurality of data placement plans in which a part of the data in the database having a large number of accesses is placed in the upper-layer storage area A first step of respectively determining an arrangement plan as a final data arrangement plan of the processing, and the data arrangement management unit rearranges the data in the database according to the final data arrangement plan for each of the determined processes The second step of determining whether or not the capacity of the upper-layer storage area is sufficient, and when the data placement management unit determines that the capacity of the upper-layer storage area is sufficient A third step of causing the storage device to rearrange the data in the database according to the final data allocation plan for each It was to be provided.
 本データベース管理装置及び方法によれば、各処理について規定された時間条件を満たすデータのみを上位階層の記憶領域に再配置することができるため、データベースの論理構造単位でデータを再配置する場合に比べてより効率的に上位階層の記憶領域を利用することができ、また各処理についてそれぞれ規定された時間条件を満たすようにデータベースのデータの階層記憶を行うことができる。 According to the database management apparatus and method, only data that satisfies the time conditions specified for each process can be relocated to the upper-layer storage area. In comparison with this, it is possible to more efficiently use the storage area of the upper hierarchy, and it is possible to perform hierarchical storage of data in the database so as to satisfy the time conditions defined for each process.
 本発明によれば、階層記憶機能が搭載されたストレージ装置が保持するデータベースを適切に管理し得るデータベース管理装置及び方法を実現できる。 According to the present invention, it is possible to realize a database management apparatus and method capable of appropriately managing a database held by a storage apparatus equipped with a hierarchical storage function.
本実施の形態によるデータベースシステムの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the database system by this Embodiment. 本実施の形態によるデータ配置管理機能の説明に供する概念図である。It is a conceptual diagram with which it uses for description of the data arrangement management function by this Embodiment. 本実施の形態によるデータ配置管理機能の説明に供するグラフである。It is a graph with which it uses for description of the data arrangement management function by this Embodiment. セッション情報管理テーブル群の説明に供する概念図である。It is a conceptual diagram with which it uses for description of a session information management table group. セッション情報管理テーブルの構成を示す概念図である。It is a conceptual diagram which shows the structure of a session information management table. 重要度管理テーブルの構成を示す概念図である。It is a conceptual diagram which shows the structure of an importance management table. SLA管理テーブルの構成を示す概念図である。It is a conceptual diagram which shows the structure of a SLA management table. データ配置管理処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a data arrangement management process. データ配置案決定処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a data arrangement plan determination process. 実行可否判定処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of an executable determination process. 実行可否判定処理の処理手順の他の例を示すフローチャートである。It is a flowchart which shows the other example of the process sequence of an execution availability determination process.
 以下図面について、本発明の一実施の形態を詳述する。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
(1)本実施の形態によるデータベースシステムの構成
 図1において、1は全体として本実施の形態によるデータベースシステムを示す。このデータベースシステムは、データベースサーバ装置2及びストレージ装置3を備えて構成される。
(1) Configuration of Database System According to this Embodiment In FIG. 1, reference numeral 1 denotes a database system according to this embodiment as a whole. This database system includes a database server device 2 and a storage device 3.
 データベースサーバ装置2は、図示しない外部装置からの要求に応じたオンライン処理や、予めスケジューリングされたバッチ処理を実行する機能を有するサーバ装置である。このデータベースサーバ装置2は、プロセッサ10、メモリ11、ディスクインタフェース12及び通信インタフェース13を備えて構成される。 The database server device 2 is a server device having a function of executing online processing in response to a request from an external device (not shown) and batch processing scheduled in advance. The database server device 2 includes a processor 10, a memory 11, a disk interface 12, and a communication interface 13.
 プロセッサ10は、データベースサーバ装置2全体の動作制御を司るハードウェアであり、例えばCPU(Central Processing Unit)から構成される。またメモリ11は、例えば、半導体メモリから構成され、各種プログラムや各種データを保持するために利用される。メモリ11に格納されたプログラムをCPU10が実行することにより、オンライン処理及びバッチ処理や、後述のような各種処理が実行される。後述するデータ管理部20、処理実行部21、セッション管理部22、データ配置管理部23、セッション情報管理テーブル群24、重要度管理テーブル25及びSLA管理テーブル26もこのメモリ11に格納されて保持される。 The processor 10 is hardware that controls the operation of the entire database server device 2, and is composed of, for example, a CPU (Central Processing Unit). The memory 11 is composed of, for example, a semiconductor memory and is used to hold various programs and various data. When the CPU 10 executes the program stored in the memory 11, online processing, batch processing, and various types of processing described below are executed. A data management unit 20, a process execution unit 21, a session management unit 22, a data arrangement management unit 23, a session information management table group 24, an importance management table 25, and an SLA management table 26, which will be described later, are also stored and held in the memory 11. The
 ディスクインタフェース12は、例えばファイバーチャネルインタフェースから構成され、ストレージ装置3との間でデータベースのデータを送受信する際のプロトコル制御を実行する。 The disk interface 12 is composed of, for example, a fiber channel interface, and executes protocol control when transmitting / receiving database data to / from the storage apparatus 3.
 また通信インタフェース13は、例えばNIC(Network Interface Card)から構成され、ネットワーク4を介してストレージ装置3と接続される。通信インタフェース13は、上述のオンライン処理時やバッチ処理時にデータベースサーバ装置2からストレージ装置3に発行されるデータの挿入、更新又は削除などを指示するデータベースの操作コマンドやデータベース上での検索を指示する検索コマンド以外のストレージ装置3との間で送受されるコマンドの通信時におけるプロトコル制御を実行する。 The communication interface 13 is composed of, for example, a NIC (Network Interface Card), and is connected to the storage device 3 via the network 4. The communication interface 13 instructs a database operation command for instructing insertion, update or deletion of data issued from the database server apparatus 2 to the storage apparatus 3 at the time of the above online processing or batch processing, or a search on the database. Protocol control at the time of communication of commands transmitted / received to / from the storage apparatus 3 other than the search command is executed.
 ストレージ装置3は、それぞれ応答速度が異なる複数種類の記憶デバイスが搭載されたRAID(Redundant Arrays of Inexpensive Disks)等の記憶装置から構成され、データベースサーバ装置2が管理するデータベースを記憶保持するために利用される。このストレージ装置3は、記憶部30及びコントローラ31を備えて構成される。 The storage device 3 is composed of a storage device such as RAID (Redundant Arrays of Inexpensive Disks) equipped with a plurality of types of storage devices each having a different response speed, and is used for storing and holding a database managed by the database server device 2 Is done. The storage device 3 includes a storage unit 30 and a controller 31.
 記憶部30は、データベースを記憶保持するために利用され、データの読み書きを高速に行い得るSSD(Solid State Drive)等の高速記憶デバイス40と、当該高速記憶デバイス40よりもデータの読み書きが遅いハードディスク装置(例えばSATA(Serial Advanced Technology Attachment))等の低速記憶デバイス41とから構成される。 The storage unit 30 is used to store and hold a database, and a high-speed storage device 40 such as an SSD (Solid State Drive) that can read and write data at high speed, and a hard disk that is slower in reading and writing data than the high-speed storage device 40 And a low-speed storage device 41 such as a device (for example, SATA (Serial Advanced Technology Attachment)).
 1又は複数の同一種類の記憶デバイス(高速記憶デバイス40又は低速記憶デバイス41)によりそれぞれRAIDグループが構成され、各RAIDグループがそれぞれ提供する記憶領域上にそれぞれ1又は複数の論理ボリュームが定義される。そしてデータベースサーバ装置2が管理するデータベースのデータがこれらの論理ボリュームに分散して格納される。 A RAID group is configured by one or a plurality of storage devices of the same type (high-speed storage device 40 or low-speed storage device 41), and one or a plurality of logical volumes are respectively defined on storage areas provided by each RAID group. . Data of the database managed by the database server device 2 is distributed and stored in these logical volumes.
 コントローラ31は、記憶部30に対するデータの読み書き等を制御する機能を有し、プロセッサ42及びメモリ43を備えて構成される。プロセッサ42は、ストレージ装置3全体の動作制御を司るハードウェアであり、例えばCPUから構成される。またメモリ43は、例えば半導体メモリから構成され、各種プログラムや各種データを一時的に保持するために利用される。 The controller 31 has a function of controlling reading and writing of data with respect to the storage unit 30, and includes a processor 42 and a memory 43. The processor 42 is hardware that controls the operation of the entire storage apparatus 3, and includes, for example, a CPU. The memory 43 is constituted by a semiconductor memory, for example, and is used for temporarily holding various programs and various data.
 メモリ43には、階層管理部44が格納されており、CPUがこの階層管理部44を実行することにより、アクセス頻度がより高いデータを高速記憶デバイス40が提供する記憶領域上に形成された論理ボリューム(以下、適宜、これを上位階層の記憶領域と呼ぶ)に移動させ、これ以外のデータを低速記憶デバイス41が提供する記憶領域上に形成された論理ボリューム(以下、適宜、これを下位階層の記憶領域と呼ぶ)に移動させる階層記憶方式によるデータ管理が行われる。 The memory 43 stores a hierarchy management unit 44, and when the CPU executes the hierarchy management unit 44, logical data formed on a storage area provided by the high-speed storage device 40 with data having a higher access frequency is stored. A logical volume (hereinafter referred to as the lower layer, as appropriate) formed on the storage area provided by the low-speed storage device 41 is moved to the volume (hereinafter referred to as the upper level storage area as appropriate) Data management is performed by a hierarchical storage system that is moved to a storage area.
(2)本実施の形態によるデータ配置管理機能
 次に、本データベースサーバ装置2に実装されたデータ配置管理機能について説明する。本データベースサーバ装置2には、24時間発生するオンライン処理と、定期的に発生するバッチ処理とに関して、そのオンライン処理又はバッチ処理についてのSLAで規定された時間条件を満たすために、データベースのどのブロックのデータをどの階層の記憶領域に配置するかというデータの配置案(以下、これをデータ配置案と呼ぶ)を各オンライン処理及び各バッチ処理ごとにそれぞれ決定し、決定したデータ配置案に従ってデータベースの必要なデータを上位階層又は下位階層の記憶領域に再配置するようストレージ装置3を操作するデータ配置管理機能が搭載されている。
(2) Data Placement Management Function According to this Embodiment Next, the data placement management function implemented in the database server device 2 will be described. In this database server device 2, in order to satisfy the time condition defined by the SLA for online processing or batch processing regarding online processing that occurs 24 hours and batch processing that occurs periodically, any block of the database A data placement plan (hereinafter referred to as a data placement plan) for deciding in which storage area the data of which data is to be placed is determined for each online process and each batch process, and according to the determined data placement plan, A data arrangement management function for operating the storage apparatus 3 to relocate necessary data to a storage area of an upper hierarchy or a lower hierarchy is installed.
 ここで言う「オンライン処理」とは、外部装置からのデータベースに対する操作コマンドに応じてそのデータベースに対するデータの挿入、更新又は削除等を行う処理や、外部装置からの検索コマンドに応じて、当該検索コマンドにおいて指定された条件を満たすデータをストレージ装置3が保持するデータベース上で検索し、検索結果を検索コマンドの送信元に送信する処理を指す。また「バッチ処理」とは、集計処理などの定期的に発生する処理を指す。 “Online processing” here refers to processing for inserting, updating, or deleting data in the database in response to an operation command for the database from the external device, or the search command in response to a search command from the external device This is a process for searching the data stored in the storage apparatus 3 for data satisfying the conditions specified in (1) and transmitting the search result to the transmission source of the search command. “Batch processing” refers to processing that occurs periodically, such as tabulation processing.
 通常、オンライン処理については、時間条件として応答時間に対するSLAがユーザとの間で予め締結され、バッチ処理については、オンライン処理に影響を与えない夜間などの時間帯に処理を完了できるように、時間条件として処理時間に対するSLAがユーザとの間で予め締結される。本実施の形態によるデータ配置管理機能は、このような各オンライン処理及び各バッチ処理のSLAで規定された時間条件(応答時間や処理時間)を遵守できるようなデータ配置案をオンライン処理及びバッチ処理ごとにそれぞれ決定し、決定したデータ配置案に従って必要なデータを上位階層又は下位階層の記憶領域に再配置するようストレージ装置3を制御する機能である。 Usually, for online processing, the SLA for response time is preliminarily concluded with the user as a time condition, and for batch processing, time is set so that processing can be completed in the time zone such as nighttime that does not affect online processing. As a condition, the SLA for the processing time is concluded in advance with the user. The data arrangement management function according to the present embodiment performs online processing and batch processing of data arrangement proposals that can comply with the time conditions (response time and processing time) defined by the SLA of each online processing and each batch processing. This is a function for controlling the storage apparatus 3 so as to rearrange necessary data according to the decided data arrangement plan and rearrange the necessary data in the storage area of the upper hierarchy or the lower hierarchy.
 具体的に、データベースサーバ装置2は、オンライン処理やバッチ処理を実行する際、そのオンライン処理又はバッチ処理に応じた複数のSQL(Structured Query Language)を実行するが、そのSQLを実行するごとに、データベースのどのブロックにそれぞれ何回アクセスし、これらのブロックに対するレスポンス時間の平均値(以下、これを平均レスポンス時間と呼ぶ)は幾らであったかという情報をセッション情報としてそれぞれ取得し記憶している。 Specifically, when executing online processing or batch processing, the database server device 2 executes a plurality of SQLs (Structured Query Query Language) corresponding to the online processing or batch processing, but each time the SQL is executed, Information indicating how many times each block of the database has been accessed and the average value of response times for these blocks (hereinafter referred to as average response time) is acquired and stored as session information.
 そしてデータベースサーバ装置2は、新たな高速記憶デバイス40が追加されるなどストレージ装置3の構成が変更された場合や、その後、定期的に、そのとき記憶しているSQLごとのセッション情報に基づいて、オンライン処理及びバッチ処理ごとに、データベースのブロックのうち、そのオンライン処理又はバッチ処理においてアクセス回数が多い上位数%のブロックのデータを高速記憶デバイス40が提供する記憶領域(つまり上位階層の記憶領域)に配置した場合のそのオンライン処理又はバッチ処理の処理時間の推定値をそれぞれ算出する。 Then, the database server apparatus 2 changes the configuration of the storage apparatus 3 such as when a new high-speed storage device 40 is added, or periodically thereafter, based on session information for each SQL stored at that time. For each online process and batch process, the storage area in which the high-speed storage device 40 provides the data of the upper several percent of the blocks in the database that are frequently accessed in the online process or batch process (that is, the storage area in the upper hierarchy) ), The estimated values of the processing time of the online processing or batch processing are respectively calculated.
 この際、データベースサーバ装置2は、上位階層の記憶領域に配置すべきデータの比率を、図2に示すように、アクセス回数が多い上位10%、20%、30%、……のブロックのデータというように複数の予め定められた各比率(以下、これらをそれぞれ既定比率と呼ぶ)に順次変化させながら、図3に示すように、各既定比率について、そのオンライン処理又はバッチ処理に要する処理時間の推定値をそれぞれ算出する。なお、以下においては、アクセス回数が多い上位の10%、20%、30%、……のブロックのデータを上位階層の記憶領域にそれぞれ配置する1つ1つの案(既定比率が10%、20%、30%、……である1つ1つの案)を、それぞれデータ配置案と呼ぶものとする。 At this time, the database server device 2 sets the ratio of the data to be arranged in the storage area of the upper hierarchy, as shown in FIG. 2, in the upper 10%, 20%, 30%,... As shown in FIG. 3, the processing time required for online processing or batch processing for each predetermined ratio as shown in FIG. 3 is sequentially changed to a plurality of predetermined ratios (hereinafter referred to as predetermined ratios). Are respectively calculated. In addition, in the following, each of the plans for placing the upper 10%, 20%, 30%,..., Block data with the highest number of accesses in the upper-tier storage area (the default ratio is 10%, 20%). %, 30%, and so on) are called data placement plans.
 またデータベースサーバ装置2は、オンライン処理及びバッチ処理ごとに、上述のようにして算出したデータ配置案ごとの処理時間の推定値に基づいて、そのオンライン処理又はバッチ処理について締結したSLAで規定された時間条件を満たし、かつ高速記憶デバイス40の記憶領域の使用量が最も少ないデータ配置案(つまり既定比率の値が最も小さいデータ配置案)をそのオンライン処理又はバッチ処理の最終的なデータ配置案としてそれぞれ決定する。 The database server device 2 is defined by the SLA concluded for the online processing or batch processing based on the estimated value of the processing time for each data arrangement plan calculated as described above for each online processing and batch processing. The data arrangement plan that satisfies the time condition and uses the least amount of storage space in the high-speed storage device 40 (that is, the data arrangement plan that has the smallest value of the default ratio) is the final data arrangement plan of the online processing or batch processing. Decide each.
 そしてデータベースサーバ装置2は、これらオンライン処理及びバッチ処理ごとのデータ配置案に従ってデータの再配置を行った場合に高速記憶デバイス40の容量が足りるか否かを判定し、容量が足りるとの判定を得た場合には、各オンライン処理及び各バッチ処理のデータ配置案にそれぞれ従ってデータの再配置をストレージ装置3に行わせる。 Then, the database server device 2 determines whether or not the capacity of the high-speed storage device 40 is sufficient when data rearrangement is performed in accordance with the data allocation plan for each online process and batch process, and determines that the capacity is sufficient. If it is obtained, the storage apparatus 3 is caused to perform data rearrangement in accordance with the data arrangement plan of each online process and each batch process.
 以上のような本実施の形態によるデータ配置管理機能を実現するための手段としてデータベースサーバ装置2のメモリ11には、図1について上述したように、データ管理部20、処理実行部21、セッション管理部22、データ配置管理部23、セッション情報管理テーブル群24、重要度管理テーブル25及びSLA管理テーブル26が格納されている。 As described above with reference to FIG. 1, the memory 11 of the database server device 2 as a means for realizing the data arrangement management function according to the present embodiment as described above includes the data management unit 20, the process execution unit 21, and the session management. A unit 22, a data arrangement management unit 23, a session information management table group 24, an importance management table 25, and an SLA management table 26 are stored.
 データ管理部20は、ストレージ装置3に記憶保持されたデータベースの表構造や、各データの格納場所(アドレス)を管理する機能を有するプログラムである。また処理実行部21は、オンライン処理又はバッチ処理に応じたSQLを実行するなど、データベースに関するオンライン処理やバッチ処理を実際に実行する機能を有するプログラムである。 The data management unit 20 is a program having a function of managing the table structure of the database stored in the storage device 3 and the storage location (address) of each data. The process execution unit 21 is a program having a function of actually executing online processing and batch processing related to a database, such as executing SQL corresponding to online processing or batch processing.
 またセッション管理部22は、オンライン処理及びバッチ処理で実行したSQLごとのセッション情報をそれぞれ取得し、取得したセッション情報を後述する対応するセッション情報管理テーブル50(図5)に格納して管理する機能を有するプログラムである。さらにデータ配置管理部23は、上述した本実施の形態によるデータ配置管理機能に関する各種処理を実行する機能を有するプログラムである。 Further, the session management unit 22 acquires session information for each SQL executed in online processing and batch processing, and stores and manages the acquired session information in a corresponding session information management table 50 (FIG. 5) described later. It is a program having Furthermore, the data arrangement management unit 23 is a program having a function of executing various processes related to the data arrangement management function according to the above-described embodiment.
 なお、データ管理部20、処理実行部21及びセッション管理部22の機能は、いずれも汎用のデータベースマネージメントシステム(DBMS:Database Management System)プログラムが有する機能である。従って、汎用のデータベースマネージメントシステムプログラムにデータ配置管理部23の機能を追加することにより、本実施の形態によるデータ配置管理機能を実現するためのプログラムを構築することができる。 The functions of the data management unit 20, the process execution unit 21, and the session management unit 22 are all functions of a general-purpose database management system (DBMS: Database Management System) program. Therefore, by adding the function of the data arrangement management unit 23 to the general-purpose database management system program, a program for realizing the data arrangement management function according to the present embodiment can be constructed.
 一方、セッション情報管理テーブル群24は、図4に示すように、各オンライン処理及び各バッチ処理において実行された個々のSQLに関するセッション情報を管理するための複数のテーブル(以下、これをセッション情報管理テーブルと呼ぶ)50から構成される。 On the other hand, as shown in FIG. 4, the session information management table group 24 includes a plurality of tables for managing session information related to individual SQL executed in each online process and each batch process (hereinafter referred to as “session information management”). 50).
 セッション情報管理テーブル50は、図5に示すように、CPU、ネットワーク及びI/Oにそれぞれ対応付けられた列(以下、これらをそれぞれCPU列50A、ネットワーク列50B及びI/O列50Cと呼ぶ)と、対応するSQLにおいてアクセスするデータベース上の各ブロックにそれぞれ対応させて設けられた行(以下、これらをブロック行と呼ぶ)50D、及び、時間に対応させて設けられた行(以下、これを時間行と呼ぶ)50Eとを備えて構成される。 As shown in FIG. 5, the session information management table 50 includes columns associated with CPU, network, and I / O (hereinafter referred to as CPU column 50A, network column 50B, and I / O column 50C, respectively). And a row provided corresponding to each block on the database accessed in the corresponding SQL (hereinafter referred to as a block row) 50D and a row provided corresponding to the time (hereinafter referred to as this). 50E).
 そしてCPU列50Aにおける時間行50Eと交差するフィールド(図5におけるCPU列50Aの最下段のフィールド)には、対応するSQLを実行する際に要したデータベースサーバ装置2のプロセッサ10(図1)の処理時間が格納され、ネットワーク列50Bにおける時間行50Eとの交差するフィールド(図5におけるネットワーク列50Bの最下段のフィールド)には、そのSQLを実行する際に要したデータベースサーバ装置2及びストレージ装置3間を接続するネットワーク(図1において図示せず)の利用時間が格納される。 In the field intersecting with the time line 50E in the CPU column 50A (the lowest field in the CPU column 50A in FIG. 5), the processor 10 (FIG. 1) of the database server device 2 required when executing the corresponding SQL is performed. The database server device 2 and the storage device required for executing the SQL are stored in the field where the processing time is stored and intersects with the time row 50E in the network column 50B (the lowest field in the network column 50B in FIG. 5). The usage time of a network (not shown in FIG. 1) connecting the three is stored.
 さらにI/O列50Cにおける各ブロック行50Dは、それぞれ場所フィールド50CA、回数フィールド50CB及び平均レスポンス時間フィールド50CCに区分されている。そして場所フィールド50CAには、そのSQLを実行したときにアクセスしたブロックのブロックアドレスが格納され、回数フィールド50CBには、そのSQLを実行したときに対応するブロックにアクセスした回数が格納され、平均レスポンス時間フィールド50CCには、対応するブロックにアクセスしたときのレスポンス時間の平均値(以下、これを平均レスポンス時間と呼ぶ)が格納される。さらにI/O列50Cにおける時間行50Eと交差するフィールド(図5におけるI/O列50Cの最下段のフィールド)には、そのSQLを実行する際に要したデータベースに対するI/Oの合計時間が格納される。 Further, each block row 50D in the I / O column 50C is divided into a location field 50CA, a frequency field 50CB, and an average response time field 50CC, respectively. The location field 50CA stores the block address of the block accessed when the SQL is executed. The number field 50CB stores the number of times the corresponding block is accessed when the SQL is executed. The time field 50CC stores an average value of response times when the corresponding block is accessed (hereinafter referred to as an average response time). Further, in the field intersecting with the time line 50E in the I / O column 50C (the lowest field in the I / O column 50C in FIG. 5), the total time of I / O for the database required for executing the SQL is shown. Stored.
 従って、図5の例の場合、対応するオンライン処理又はバッチ処理の「SQL1」というSQLでは、データベース上の「Block1」、「Block6」、……、「Block10」及び「Block40」という各ブロックへのアクセスがそれぞれ「5」回、「4」回、……、「190」回又は「70」回ずつ行われ、これらのアクセスの平均レスポンス時間がそれぞれ「11ms」、「1ms」、……、「9ms」又は「10ms」であったことが示されている。また図5では、このSQLにおいて、データベースサーバ装置2のプロセッサ10の処理時間の合計は「140ms」、ネットワークの利用時間の合計は「40ms」、I/Oの合計時間は「5900ms」であったことが示されている。 Therefore, in the case of the example of FIG. 5, in the corresponding SQL of the online process or batch process “SQL1”, the blocks “Block1”, “Block6”,..., “Block10” and “Block40” on the database Each access is “5”, “4”,…, “190” or “70”, and the average response time of these accesses is “11 ms”, “1 ms”,…, “ It is shown that it was “9 ms” or “10 ms”. In FIG. 5, in this SQL, the total processing time of the processor 10 of the database server device 2 is “140 ms”, the total network usage time is “40 ms”, and the total I / O time is “5900 ms”. It has been shown.
 セッション情報管理テーブル50は、対応するSQLが実行されるごとに、そのとき取得されたセッション情報に基づいて、格納されている情報の値が更新される。 The session information management table 50 updates the value of the stored information every time the corresponding SQL is executed, based on the session information acquired at that time.
 また重要度管理テーブル25は、システム管理者により予め登録されたオンライン処理及びバッチ処理ごとの重要度を管理するために利用されるテーブルであり、図6に示すように、処理名欄25A及び重要度欄25Bを備えて構成される。 The importance management table 25 is a table used for managing the importance for each online process and batch process registered in advance by the system administrator. As shown in FIG. A degree column 25B is provided.
 そして処理名欄25Aには、データベースサーバ装置2において実行されるすべてのオンライン処理及びバッチ処理の処理名がそれぞれ格納され、重要度欄25Bには対応する処理(同じ行の処理名欄25Aに処理名が格納された処理)についてシステム管理者により登録された重要度が格納される。図6の例の場合、重要度欄25Bに格納された数値が小さいほど、対応するオンライン処理又はバッチ処理の重要度が高いことを表している。 The process name column 25A stores the names of all online processes and batch processes executed in the database server device 2, and the importance column 25B stores the corresponding process (process in the process name column 25A on the same line). The degree of importance registered by the system administrator is stored. In the example of FIG. 6, the smaller the numerical value stored in the importance column 25B, the higher the importance of the corresponding online process or batch process.
 さらにSLA管理テーブル26は、システム管理者により予め登録されたオンライン処理及びバッチ処理ごとのSLAで規定された時間条件を管理するために利用されるテーブルであり、図7に示すように、処理名欄26A及びSLA欄26Bを備えて構成される。 Furthermore, the SLA management table 26 is a table used for managing the time conditions defined in the SLA for each online process and batch process registered in advance by the system administrator. As shown in FIG. A column 26A and an SLA column 26B are provided.
 そして処理名欄26Aには、データベースサーバ装置2において実行されるすべての処理の処理名がそれぞれ格納され、SLA欄26Bには、対応する処理について本データベースシステム1の利用者との間で締結されたSLAにおいて規定された時間条件(応答時間や処理時間の最大値)が格納される。 The process name column 26A stores the process names of all the processes executed in the database server device 2, and the SLA column 26B concludes the corresponding process with the user of the database system 1. The time conditions defined in the SLA (maximum values of response time and processing time) are stored.
(3)本実施の形態によるデータ配置管理機能に関する各種処理
 次に、上述した本実施の形態によるデータ配置管理機能に関連してデータベースサーバ装置2において実行される各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体をデータ配置管理部23(図1)として説明するが、実際上は、データ配置管理部23に基づいてデータベースサーバ装置2のプロセッサ10によりその処理が実行されることは言うまでもない。
(3) Various Processes Related to Data Arrangement Management Function According to this Embodiment Next, specific processing contents of various processes executed in the database server device 2 in relation to the data arrangement management function according to this embodiment described above. explain. In the following, the processing subject of various processes will be described as the data arrangement management unit 23 (FIG. 1), but in practice, the processing is executed by the processor 10 of the database server device 2 based on the data arrangement management unit 23. It goes without saying that it is done.
(3-1)データ配置管理処理
 図8は、データ配置管理部23により実行されるデータ配置管理処理の具体的な処理手順を示す。このデータ配置管理処理は、例えばストレージ装置3に新たな高速記憶デバイス40(図1)が追加された場合などのようにストレージ装置3の構成が変更された場合に実行され、さらにその後も定期的に実行される。
(3-1) Data Arrangement Management Process FIG. 8 shows a specific processing procedure of the data arrangement management process executed by the data arrangement management unit 23. This data arrangement management process is executed when the configuration of the storage apparatus 3 is changed, for example, when a new high-speed storage device 40 (FIG. 1) is added to the storage apparatus 3, and thereafter periodically thereafter. To be executed.
 データ配置管理部23は、このデータ配置管理処理を開始すると、まず、予め登録されている高速記憶デバイス40の容量を取得する(SP1)。このとき取得した容量が、ストレージ装置3に適用された階層記憶方式を利用したデータ管理方法における上位階層の記憶領域の容量となる。 When starting the data arrangement management process, the data arrangement management unit 23 first acquires the capacity of the high-speed storage device 40 registered in advance (SP1). The capacity acquired at this time becomes the capacity of the storage area of the upper tier in the data management method using the tiered storage method applied to the storage apparatus 3.
 続いて、データ配置管理部23は、データベースサーバ装置2が実行するオンライン処理及びバッチ処理ごとに、その処理に関するSLAで規定された時間条件を満たす最終的なデータ配置案をそれぞれ決定するデータ配置案決定処理を実行する(SP2)。 Subsequently, the data placement management unit 23 determines a final data placement plan that satisfies a time condition specified by the SLA for each online process and batch process executed by the database server device 2. A determination process is executed (SP2).
 次いで、データ配置管理部23は、ステップSP2で決定したオンライン処理及びバッチ処理ごとの最終的なデータ配置案に従って必要なデータをすべて上位階層の記憶領域に配置するだけの容量を高速記憶デバイス40が有しているか否かを判定する実行可否判定処理を実行する(SP3)。 Next, the data arrangement management unit 23 has a capacity for the high-speed storage device 40 to have enough capacity to arrange all necessary data in the storage area of the upper hierarchy according to the final data arrangement plan for each online process and batch process determined in step SP2. Executability determination processing for determining whether or not it is present is executed (SP3).
 そしてデータ配置管理部23は、ステップSP3の処理結果が肯定的であった場合に、ステップSP2で決定したオンライン処理及びバッチ処理ごとの最終的なデータ配置案に従って必要なデータを高速記憶デバイス40が提供する記憶領域(上位階層の記憶階層)に移動させると共に必要なデータを低速記憶デバイス41が提供する記憶領域(下位階層の記憶領域)に移動させる機能がストレージ装置3に搭載されているか否かを判断する(SP4)。 When the processing result of step SP3 is affirmative, the data arrangement management unit 23 stores the necessary data in accordance with the final data arrangement plan for each online process and batch process determined in step SP2 by the high-speed storage device 40. Whether or not the storage apparatus 3 is equipped with a function for moving to a storage area to be provided (higher-level storage hierarchy) and moving necessary data to a storage area (lower-level storage area) provided by the low-speed storage device 41 Is determined (SP4).
 そしてデータ配置管理部23は、この判断で肯定結果を得ると、ステップSP2で決定したオンライン処理及びバッチ処理ごとの最終的なデータ配置案に従って必要なデータを再配置すべき旨の指示(以下、これをデータ再配置指示と呼ぶ)をストレージ装置3に送信し(SP5)、この後、このデータ配置管理処理を終了する。 When the data placement management unit 23 obtains a positive result in this determination, it instructs the user to rearrange the necessary data according to the final data placement plan for each online process and batch process determined in step SP2 (hereinafter, This is referred to as a data relocation instruction) is transmitted to the storage apparatus 3 (SP5), and then this data allocation management process is terminated.
 かくして、かかるデータ再配置指示を受信したストレージ装置3は、当該データ再配置指示に従って、必要なデータを高速記憶デバイス40が提供する記憶領域に移動させ、必要なデータを低速記憶デバイス41が提供する記憶領域に移動させるデータ再配置処理を実行する。 Thus, the storage apparatus 3 that has received the data relocation instruction moves necessary data to the storage area provided by the high-speed storage device 40 according to the data relocation instruction, and the low-speed storage device 41 provides the necessary data. Data relocation processing to be moved to the storage area is executed.
 これに対して、データ配置管理部23は、ステップSP4の判断で否定結果を得ると、ストレージ装置3に実装された階層管理部44(図1)に基づく階層記憶機能により、ステップSP2で作成したオンライン処理及びバッチ処理ごとの最終的なデータ配置案に従って必要なデータを高速記憶デバイス40が提供する記憶領域に移動させると共に必要なデータを低速記憶デバイス41が提供する記憶領域に移動させるように、ストレージ装置にダミーのI/Oコマンド(以下、これをダミーI/Oコマンドと呼ぶ)を発行する(SP6)。 On the other hand, if the data allocation management unit 23 obtains a negative result in the determination at step SP4, the data allocation management unit 23 creates the processing at step SP2 by the hierarchical storage function based on the hierarchical management unit 44 (FIG. 1) installed in the storage device 3. According to the final data arrangement plan for each online process and batch process, necessary data is moved to the storage area provided by the high-speed storage device 40 and necessary data is moved to the storage area provided by the low-speed storage device 41. A dummy I / O command (hereinafter referred to as a dummy I / O command) is issued to the storage device (SP6).
 具体的に、データ配置管理部23は、現在、低速記憶デバイス41が提供する記憶領域に格納されているデータであって、高速記憶デバイス40が提供する記憶領域に移動させるべきデータを読み出すためのダミーI/Oコマンドを、当該データが高速記憶デバイス40が提供する記憶領域に移動されるまで連続的に繰り返しストレージ装置3に送信する。データ配置管理部23は、このような処理を、高速記憶デバイス40が提供する記憶領域に移動させるべきすべてのデータについて、同様に実行する。 Specifically, the data arrangement management unit 23 reads data that is currently stored in the storage area provided by the low-speed storage device 41 and that should be moved to the storage area provided by the high-speed storage device 40. The dummy I / O command is continuously and repeatedly transmitted to the storage apparatus 3 until the data is moved to the storage area provided by the high-speed storage device 40. The data arrangement management unit 23 similarly performs such processing for all data to be moved to the storage area provided by the high-speed storage device 40.
 そしてデータ配置管理部23は、やがてステップSP2で決定したオンラン処理及びバッチ処理ごとの最終的なデータ配置案に従って必要なデータを高速記憶デバイス40が提供する記憶領域に移動させると共に、必要なデータを低速記憶デバイス41が提供する記憶領域に移動させ終えると、このデータ配置管理処理を終了する。 Then, the data placement management unit 23 moves the necessary data to the storage area provided by the high-speed storage device 40 according to the final data placement plan for each of the on-run processing and batch processing determined in step SP2, and also transfers the necessary data. When the data has been moved to the storage area provided by the low-speed storage device 41, the data arrangement management process ends.
(3-2)データ配置案決定処理
 図9は、図8について上述したデータ配置管理処理のステップSP2においてデータ配置管理部23により実行されるデータ配置案決定処理の具体的な処理内容の一例を示す。
(3-2) Data Placement Plan Determination Process FIG. 9 shows an example of specific processing contents of the data placement plan determination process executed by the data placement management unit 23 in step SP2 of the data placement management process described above with reference to FIG. Show.
 データ配置管理部23は、データ配置管理処理のステップSP2に進むと、この図9に示すデータ配置案決定処理を開始し、まず、外部装置からの要求又は予め設定されたスケジュールに従ってデータベースサーバ装置2が実行するすべてのオンライン処理及びバッチ処理の中から1つのオンライン処理又はバッチ処理を選択する(SP10)。以下においては、このとき選択したオンライン処理又はバッチ処理を選択処理と呼ぶ。 When the data placement management unit 23 proceeds to step SP2 of the data placement management process, the data placement management unit 23 starts the data placement plan determination process shown in FIG. 9, and first, the database server device 2 according to a request from an external device or a preset schedule. One online process or batch process is selected from all the online processes and batch processes executed by (SP10). Hereinafter, the online process or batch process selected at this time is referred to as a selection process.
 続いて、データ配置管理部23は、かかる選択処理についてSLAで規定された時間条件をSLA管理テーブル26(図7)から取得すると共に(SP11)、選択処理において実行される各SQLの過去のセッション情報を対応するセッション情報管理テーブル50(図5)からそれぞれ取得する(SP12)。 Subsequently, the data arrangement management unit 23 obtains the time condition defined by the SLA for the selection process from the SLA management table 26 (FIG. 7) (SP11), and the past session of each SQL executed in the selection process. Information is acquired from the corresponding session information management table 50 (FIG. 5) (SP12).
 次いで、データ配置管理部23は、ステップSP12で取得した過去のセッション情報から、I/Oに要した処理時間と、I/O以外の処理時間とをSQLごとにそれぞれ抽出する(SP13)。具体的に、データ配置管理部23は、「I/Oに要した処理時間」として、選択処理で実行される各SQLとそれぞれ対応付けられたセッション情報管理テーブル50(図5)のI/O列50C及び時間行50Eが交差するフィールドに格納された時間を抽出する。またデータ配置管理部23は、「I/O以外の処理時間」として、かかるセッション情報管理テーブル50のCPU列50A及び時間行50Eが交差するフィールドに格納された時間と、ネットワーク列50B及び時間行50Eが交差するフィールドに格納された時間とを加算した時間をそれぞれ算出する。 Next, the data arrangement management unit 23 extracts the processing time required for I / O and the processing time other than I / O for each SQL from the past session information acquired in step SP12 (SP13). Specifically, the data arrangement management unit 23 sets the I / O of the session information management table 50 (FIG. 5) associated with each SQL executed in the selection process as “processing time required for I / O”. Extract the time stored in the field where column 50C and time row 50E intersect. Further, the data arrangement management unit 23 sets the time stored in the field where the CPU column 50A and the time row 50E of the session information management table 50 intersect, the network column 50B and the time row as “processing time other than I / O”. Times obtained by adding the times stored in the fields intersected by 50E are calculated.
 さらにデータ配置管理部23は、ステップSP12で取得した過去のセッション情報から、選択処理で実行されるSQLごとに、そのSQLでアクセスする各ブロックのブロックアドレスと、ブロックごとのアクセス回数及び平均レスポンス時間とをそれぞれ抽出する(SP14)。 Further, the data arrangement management unit 23, for each SQL executed in the selection process, from the past session information acquired in step SP12, the block address of each block accessed by the SQL, the number of accesses and the average response time for each block Are extracted (SP14).
 そしてデータ配置管理部23は、この後、選択処理のSQLごとに、アクセス回数が上位のブロックから一定比率のブロックのデータを上位階層の記憶領域に配置した場合のI/O処理時間の推定値を、複数の既定比率(例えば、10%、20%、30%、……)ごとにそれぞれ算出する(SP15)。 Thereafter, the data placement management unit 23 estimates the I / O processing time when the data of a certain ratio from the upper block to the upper access block is placed in the upper-layer storage area for each SQL of the selection process. Are calculated for each of a plurality of predetermined ratios (for example, 10%, 20%, 30%,...) (SP15).
 具体的に、データ配置管理部23は、例えば、あるSQLのある既定比率について、そのSQLでアクセスするブロックのうち、アクセス回数が多い上位の既定比率分の各ブロックへのアクセス回数の合計値に1回の高速記憶デバイスへのI/Oに要するであろうレスポンス時間を乗算し、その乗算結果と、他のブロックごとのI/O時間の実測値(アクセス回数とそのブロックに対する平均レスポンス時間との乗算結果)との合計値をそのSQLのその既定比率でのI/O処理時間の推定値として算出する。なお「1回の高速記憶デバイスへのI/Oに要するであろうレスポンス時間」としては、予め行った測定により又は高速記憶デバイス40のスペック情報から得られ、事前にデータベースサーバ装置2に与えられた時間を利用する。 Specifically, the data placement management unit 23 sets, for example, a certain default ratio of a certain SQL to a total value of the number of accesses to each block corresponding to a higher default ratio with a large number of accesses among the blocks accessed by the SQL. Multiply the response time that would be required for one I / O to the high-speed storage device, the multiplication result, and the measured value of the I / O time for each other block (the number of accesses and the average response time for that block) And the total value of the I / O processing time at the predetermined ratio of the SQL. The “response time that would be required for one I / O to the high-speed storage device” is obtained from the measurement information made in advance or from the specification information of the high-speed storage device 40 and is given to the database server device 2 in advance. Take advantage of your time.
 またデータ配置管理部23は、そのSQLについて、既定比率を順次変えながら同様の処理を繰り返し実行することにより、そのSQLについて、既定比率ごとのI/O処理時間の推定値をそれぞれ算出する。 Further, the data arrangement management unit 23 calculates the estimated value of the I / O processing time for each predetermined ratio for the SQL by repeatedly executing the same processing while sequentially changing the predetermined ratio for the SQL.
 さらにデータ配置管理部23は、以上の処理を選択処理のすべてのSQLについて実行することにより、選択処理のSQLごとに、既定比率ごとのI/O処理時間の推定値をそれぞれ算出する。 Further, the data arrangement management unit 23 calculates the estimated value of the I / O processing time for each predetermined ratio for each SQL of the selection process by executing the above process for all the SQLs of the selection process.
 続いて、データ配置管理部23は、ステップSP15の算出結果に基づいて、データ配置案ごとの処理時間の推定値をそれぞれ算出する(SP16)。なお、データ配置案とは、上述のようにアクセス回数が多い上位の10%、20%、30%、……のブロックのデータを上位階層の記憶領域にそれぞれ配置する1つ1つの案(既定比率が10%、20%、30%、……である1つ1つの案)を指す。 Subsequently, the data arrangement management unit 23 calculates an estimated value of the processing time for each data arrangement plan based on the calculation result of step SP15 (SP16). Note that the data placement plan is a plan for placing each block of upper 10%, 20%, 30%,. Each plan is 10%, 20%, 30%, etc.).
 具体的に、データ配置管理部23は、選択処理の1つのSQLについて、そのSQLのある1つの既定比率のI/O処理時間の推定値にステップSP13で得られたそのSQLのI/O以外の処理時間を加算することにより、アクセス回数が多い上位のその既定比率分のブロックのデータを上位階層の記憶領域に配置した場合のそのSQLの処理時間の推定値を算出する。またデータ配置管理部23は、同じ既定比率について他のSQLの処理時間の推定値も同様にそれぞれ算出し、これらの算出結果をすべて加算することにより、アクセス回数が多い上位のその既定比率分のブロックのデータを上位階層の記憶領域に配置した場合のその選択処理の処理時間の推定値を算出する。このとき算出された推定値が、アクセス回数が多い上位のその既定比率分のブロックのデータを上位階層の記憶領域に配置するというデータ配置案の処理時間の推定値である。 Specifically, the data arrangement management unit 23 sets the I / O processing time of one predetermined ratio with the SQL for one SQL of the selection process to an estimated value other than the SQL I / O obtained at step SP13. In this case, the estimated value of the processing time of the SQL when the block data corresponding to the upper predetermined ratio with the higher number of accesses is arranged in the storage area of the upper hierarchy is calculated. In addition, the data arrangement management unit 23 similarly calculates other SQL processing time estimates for the same predetermined ratio, and adds all of these calculation results to obtain the upper limit of the predetermined ratio with the highest number of accesses. An estimated value of the processing time of the selection process when the block data is arranged in the storage area of the upper hierarchy is calculated. The estimated value calculated at this time is the estimated value of the processing time of the data arrangement plan in which the data of the block corresponding to the predetermined ratio of the upper number with the highest number of accesses is arranged in the storage area of the upper hierarchy.
 従って、データ配置管理部23は、以上の処理をすべての既定比率について同様に実行することにより、データ配置案ごとの処理時間の推定値をそれぞれ算出する。 Therefore, the data arrangement management unit 23 calculates the estimated value of the processing time for each data arrangement plan by executing the above process in the same manner for all the predetermined ratios.
 そしてデータ配置管理部23は、この後、ステップSP16の算出結果に基づいて、選択処理のSLAで規定された時間条件を満たすデータ配置案があるか否かを判断する(SP17)。具体的に、データ配置管理部23は、ステップSP16で算出したデータ配置案ごとの処理時間の推定値をそれぞれ選択処理についてのSLAの時間条件と順番に比較し、処理時間の推定値が当該時間条件よりも小さいデータ配置案が存在するか否かによりかかる判断を行う。 Then, the data arrangement management unit 23 determines whether there is a data arrangement plan that satisfies the time condition defined by the SLA of the selection process based on the calculation result of step SP16 (SP17). Specifically, the data placement management unit 23 compares the estimated processing time for each data placement plan calculated in step SP16 with the SLA time condition for the selection processing in order, and the estimated processing time is Such a determination is made depending on whether or not a data arrangement plan smaller than the condition exists.
 そしてデータ配置管理部23は、この判断で否定結果を得ると、高速記憶デバイス40の容量が不足している旨の警告をデータベースサーバ装置2に表示させ(SP18)、この後、このデータ配置案決定処理を終了すると共に、図8について上述したデータ配置管理処理をも終了する。 If the data allocation management unit 23 obtains a negative result in this determination, it displays a warning that the capacity of the high-speed storage device 40 is insufficient on the database server device 2 (SP18), and thereafter, this data allocation plan The determination process is terminated, and the data arrangement management process described above with reference to FIG. 8 is also terminated.
 これに対して、データ配置管理部23は、ステップSP17の判断で肯定結果を得ると、選択処理についてのSLAの時間条件を満たすデータ配置案の中から最も高速記憶デバイス40の使用が少ないデータ配置案をその選択処理の最終的なデータ配置案として決定する(SP19)。 On the other hand, if the data arrangement management unit 23 obtains a positive result in the determination at step SP17, the data arrangement that uses the least amount of the high-speed storage device 40 among the data arrangement proposals that satisfy the SLA time condition for the selection process. The plan is determined as the final data arrangement plan of the selection process (SP19).
 データ配置管理部23は、この後、データベースサーバ装置2が実行するすべてのオンライン処理及びバッチ処理について最終的なデータ配置を決定し終えたか否かを判断する(SP20)。そしてデータ配置管理部23は、この判断で否定結果を得るとステップSP10に戻り、この後、ステップSP10で選択する処理を未処理の他のオンライン処理又はバッチ処理に順次切り替えながら、ステップSP10~ステップSP20の処理を繰り返す。 Thereafter, the data placement management unit 23 determines whether or not the final data placement has been determined for all online processing and batch processing executed by the database server device 2 (SP20). If the data arrangement management unit 23 obtains a negative result in this determination, it returns to step SP10, and thereafter, the processing selected in step SP10 is sequentially switched to other unprocessed online processing or batch processing, and step SP10 to step SP10 are performed. Repeat the process of SP20.
 そしてデータ配置管理部23は、やがてデータベースサーバ装置2が実行するすべてのオンライン処理及びバッチ処理について最終的なデータ配置案をそれぞれ決定し終えることによりステップSP20で肯定結果を得ると、このデータ配置案決定処理を終了して図8のデータ配置管理処理に戻る。 When the data placement management unit 23 finally determines the final data placement plan for all online processes and batch processes executed by the database server device 2 and obtains a positive result in step SP20, the data placement plan The determination process ends and the process returns to the data arrangement management process of FIG.
(3-3)実行可否判定処理
 図10は、図8について上述したデータ配置管理処理のステップSP3においてデータ配置管理部23により実行される実行可否判定処理の具体的な処理内容の一例を示す。
(3-3) Executability Determination Process FIG. 10 shows an example of specific processing contents of the execution permission determination process executed by the data arrangement management unit 23 in step SP3 of the data arrangement management process described above with reference to FIG.
 データ配置管理部23は、データ配置管理処理のステップSP3に進むと、この図10に示す実行可否判定処理を開始し、まず、図9について上述したデータ配置案決定処理においてオンライン処理及びバッチ処理ごとにそれぞれ決定した最終的なデータ配置案に従ってデータの再配置を変更する場合に、高速記憶デバイス40の容量(上位階層の記憶領域の容量)が足りるか否かを判断する(SP30)。 When the data placement management unit 23 proceeds to step SP3 of the data placement management process, the data placement management unit 23 starts the execution determination process shown in FIG. 10, and first, for each online process and batch process in the data placement plan determination process described above with reference to FIG. When the data rearrangement is changed in accordance with the final data arrangement plan determined respectively, it is determined whether or not the capacity of the high-speed storage device 40 (the capacity of the storage area of the upper hierarchy) is sufficient (SP30).
 具体的に、データ配置管理部23は、オンライン処理及びバッチ処理ごとに、そのオンライン処理又はバッチ処理について高速記憶デバイス40が提供する記憶領域に配置すべきブロックの総和を算出し、算出結果にブロック1つ当たりの容量を乗算することにより、上位階層の記憶領域に配置すべきデータのデータ量の総和を算出する。そしてデータ配置管理部23は、個々のオンライン処理及びバッチ処理について算出した上位階層の記憶領域に配置すべきデータのデータ量の総和が高速記憶デバイス40の容量よりも多いか否かを判断することにより、ステップSP30の判断を行う。 Specifically, for each online process and batch process, the data placement management unit 23 calculates the sum of blocks to be placed in the storage area provided by the high-speed storage device 40 for the online process or batch process, and displays the block in the calculation result. By multiplying the capacity per one, the sum total of the data amount of data to be arranged in the upper tier storage area is calculated. Then, the data arrangement management unit 23 determines whether or not the total amount of data to be arranged in the higher-level storage area calculated for each online process and batch process is larger than the capacity of the high-speed storage device 40. Thus, the determination at step SP30 is performed.
 そしてデータ配置管理部23は、この判断で肯定結果を得ると、この実行可否判定処理を終了してデータ配置管理処理(図8)に戻る。 If the data arrangement management unit 23 obtains an affirmative result in this determination, the data arrangement management unit 23 ends the execution determination process and returns to the data arrangement management process (FIG. 8).
 これに対してデータ配置管理部23は、ステップSP30の判断で否定結果を得ると、データ配置管理処理のステップSP2で決定した各オンライン処理及び各バッチ処理の最終的なデータ配置案を実行するためには高速記憶デバイス40の容量が不足している旨の警告を表示し(SP31)、この後、この実行可否判定処理を終了すると共に、図8について上述したデータ配置管理処理をも終了する。 On the other hand, if the data arrangement management unit 23 obtains a negative result in the determination at step SP30, it executes the final data arrangement plan for each online process and each batch process determined at step SP2 of the data arrangement management process. Displays a warning to the effect that the capacity of the high-speed storage device 40 is insufficient (SP31). Thereafter, the execution determination process is terminated, and the data arrangement management process described above with reference to FIG. 8 is also terminated.
 一方、図11は、図8について上述したデータ配置管理処理のステップSP3においてデータ配置管理部23により実行される実行可否判定処理の他の処理例を示す。 On the other hand, FIG. 11 shows another process example of the execution feasibility determination process executed by the data arrangement management unit 23 in step SP3 of the data arrangement management process described above with reference to FIG.
 データ配置管理部23は、データ配置管理処理のステップSP3に進むと、この図11に示す実行可否判定処理を開始し、まず、図9について上述したデータ配置案決定処理においてオンライン処理及びバッチ処理ごとにそれぞれ決定した最終的なデータ配置案に従ってデータの再配置を変更する場合に、高速記憶デバイス40の容量(上位階層の記憶領域の容量)が足りるか否かを判断する(SP40)。このステップSP40の具体的な処理内容は、図10について上述した実行可否判定処理のステップSP30と同様であるので、ここでの説明は省略する。 When the data placement management unit 23 proceeds to step SP3 of the data placement management process, the data placement management unit 23 starts the execution determination process shown in FIG. 11. First, in the data placement plan determination process described above with reference to FIG. When the data rearrangement is changed in accordance with the final data arrangement plan determined respectively, it is determined whether or not the capacity of the high-speed storage device 40 (the capacity of the upper-layer storage area) is sufficient (SP40). Since the specific processing content of this step SP40 is the same as that of step SP30 of the execution determination processing described above with reference to FIG. 10, the description thereof is omitted here.
 そしてデータ配置管理部23は、この判断で肯定結果を得ると、この実行可否判定処理を終了してデータ配置管理処理(図8)に戻る。 If the data arrangement management unit 23 obtains an affirmative result in this determination, the data arrangement management unit 23 ends the execution determination process and returns to the data arrangement management process (FIG. 8).
 これに対して、データ配置管理部23は、ステップSP40の判断で否定結果を得ると、図10について上述した実行可否判定処理のステップSP31と同様の表示を行い(SP41)、この後、重要度管理テーブル25(図6)を参照して、データ配置管理処理(図8)のステップSP2で決定した各オンライン処理及び各バッチ処理の最終的なデータ配置案を、重要度が高いオンライン処理又はバッチ処理から順番に採用した場合に、どの重要度のオンライン処理又はバッチ処理のデータ配置案までであれば、現在の高速記憶デバイス40の容量で実行できるかを算出し、算出結果をデータベースサーバ装置2に表示させる(SP42)。 On the other hand, when the data arrangement management unit 23 obtains a negative result in the determination at step SP40, the data arrangement management unit 23 performs a display similar to that at step SP31 of the execution determination process described above with reference to FIG. 10 (SP41). With reference to the management table 25 (FIG. 6), the final data arrangement plan of each online process and each batch process determined in step SP2 of the data arrangement management process (FIG. 8) When adopting in order from the processing, it is calculated up to which data processing plan of what importance online processing or batch processing can be executed with the capacity of the current high-speed storage device 40, and the calculation result is stored in the database server device 2. (SP42).
 そしてデータ配置管理部23は、ステップSP42で表示させた重要度のオンライン処理又はバッチ処理のデータ配置案までの実行についてユーザからの同意を表す操作入力が与えられたか否かを判断する(SP43)。そしてデータ配置管理部23は、この判断で肯定結果を得ると、この実行可否判定処理を終了してデータ配置管理処理(図8)に戻る。かくして、この場合、データ配置管理部23は、データ配置管理処理のステップSP5又はステップSP6において、ユーザが同意した重要度のオンライン処理又はバッチ処理のデータ配置案までのデータ再配置を行うようにストレージ装置3を制御する。 Then, the data placement management unit 23 determines whether or not an operation input indicating consent from the user has been given to the execution of the online processing of the importance level displayed in step SP42 or the data placement plan of the batch processing (SP43). . If the data arrangement management unit 23 obtains a positive result in this determination, the data arrangement management unit 23 ends the execution determination process and returns to the data arrangement management process (FIG. 8). Thus, in this case, in step SP5 or step SP6 of the data arrangement management process, the data arrangement management unit 23 stores the data so as to perform data rearrangement up to the data arrangement plan of the importance online process or batch process agreed by the user. The apparatus 3 is controlled.
 これに対してデータ配置管理部23は、ステップSP43の判断で否定結果を得ると、データ配置管理処理のステップSP2で決定した各オンライン処理及び各バッチ処理のデータ配置案に従ったデータ再配置が行えない旨の警告をデータベースサーバ装置2に表示させた後(SP44)、この実行可否判定処理を終了すると共に、データ配置管理処理(図8)をも終了する。 On the other hand, if the data placement management unit 23 obtains a negative result in the determination at step SP43, the data placement management unit 23 performs data rearrangement according to the data placement plan of each online process and each batch process determined at step SP2 of the data placement management process. After the database server device 2 displays a warning to the effect that it cannot be performed (SP44), the execution determination process is terminated and the data arrangement management process (FIG. 8) is also terminated.
(4)本実施の形態の効果
 以上のように本実施の形態のデータベースシステム1では、オンライン処理及びバッチ処理ごとに、データベースのデータのうちのアクセス回数が多い一部のデータを上位階層の記憶領域に配置する複数のデータ配置案の中から、当該オンライン処理又はバッチ処理について予め規定されたSLAの時間条件を満たす1つのデータ配置案を当該オンライン処理又はバッチ処理の最終的なデータ配置案としてそれぞれ決定し、決定したオンライン処理及びバッチ処理ごとの最終的なデータ配置案に従ってストレージ装置3にデータベースのデータの再配置を行わせる。
(4) Effects of the present embodiment As described above, in the database system 1 of the present embodiment, a part of data having a high access count among the database data is stored in the upper layer for each online process and batch process. Among the plurality of data arrangement plans to be arranged in the area, one data arrangement plan satisfying the SLA time conditions defined in advance for the online process or batch process is set as the final data arrangement plan of the online process or batch process. Each is determined, and the storage apparatus 3 is caused to rearrange the data in the database according to the final data allocation plan for each determined online process and batch process.
 従って、本データベースシステム1によれば、データベースのデータのうち、各オンライン処理及び各バッチ処理についてそれぞれ締結されたSLAで規定された各時間条件を満たす最低限のデータのみを上位階層の記憶領域に再配置することができるため、データベースの論理構造単位でデータを再配置する場合に比べてより効率的に上位階層の記憶領域を利用することができ、また各オンライン処理及び各バッチ処理についてそれぞれ締結されたSLA目線での最適なデータ管理を行うことができる。かくするにつき、階層記憶機能が搭載されたストレージ装置3が保持するデータベースを適切に管理することができる。 Therefore, according to this database system 1, only the minimum data satisfying the respective time conditions defined by the SLA concluded for each online process and each batch process among the data in the database is stored in the storage area of the upper hierarchy. Since data can be rearranged, it is possible to use the storage area of the upper hierarchy more efficiently than when data is rearranged in units of the logical structure of the database, and each online process and each batch process are concluded. Optimal data management can be performed with the SLA line of sight. In this way, it is possible to appropriately manage the database held by the storage apparatus 3 equipped with the hierarchical storage function.
(5)他の実施の形態
 なお上述の実施の形態においては、本発明を、オンライン処理及びバッチ処理の双方を実行するデータベースサーバ装置2に適用するようにした場合について述べたが、本発明はこれに限らず、オンライン処理又はバッチ処理のいずれか一方のみを実行するデータベースサーバ装置にも本発明を適用することができる。
(5) Other Embodiments In the above-described embodiment, the case where the present invention is applied to the database server device 2 that executes both online processing and batch processing has been described. The present invention is not limited to this, and the present invention can also be applied to a database server device that executes only one of online processing and batch processing.
 また上述の実施の形態においては、オンライン処理及びバッチ処理ごとに、データベースのデータのうちのアクセス回数が一部のデータを上位階層の記憶領域に配置する複数のデータ配置案として、アクセス回数が多い上位の異なる既定比率(上位10%、20%、30%、……)分のデータをそれぞれ上位階層の記憶領域に配置する案を適用するようにした場合について述べたが、本発明はこれに限らず、例えば、既定比率ではなく既定サイズを適用するようにしても良く、データベースのデータのうちのアクセス回数が一部のデータを上位階層の記憶領域に配置する複数のデータ配置案を作成する方法としては、この他種々の方法を広く適用することができる。 Further, in the above-described embodiment, the number of accesses is large as a plurality of data arrangement plans for arranging some data in the database data in the storage area of the upper hierarchy for each online process and batch process. Although a case has been described in which the proposal of allocating data for different upper-level predetermined ratios (upper 10%, 20%, 30%,...) In the upper-tier storage area has been described, the present invention applies to this. Not limited to, for example, a default size may be applied instead of a default ratio, and a plurality of data arrangement plans are created in which a part of data in the database data is arranged in a storage area of an upper hierarchy. Various other methods can be widely applied as the method.
 本発明は、階層記憶機能が搭載されたストレージ装置が保持するデータベースを管理する種々の構成のデータベース管理装置に広く適用することができる。 The present invention can be widely applied to database management apparatuses having various configurations for managing a database held by a storage apparatus equipped with a hierarchical storage function.
 1……データベースシステム、2……データベースサーバ装置、3……ストレージ装置、10,42……プロセッサ、11,43……メモリ、20……データ管理部、21……処理実行部、22……セッション管理部、23……データ配置管理部、24……セッション情報管理テーブル群、25……重要度管理テーブル、26……SLA管理テーブル、44……階層管理部、40……高速記憶デバイス、41……低速記憶デバイス、50……セッション情報管理テーブル。
 
DESCRIPTION OF SYMBOLS 1 ... Database system, 2 ... Database server apparatus, 3 ... Storage apparatus, 10, 42 ... Processor, 11, 43 ... Memory, 20 ... Data management part, 21 ... Process execution part, 22 ... Session management unit 23... Data arrangement management unit 24 24 Session information management table group 25. Importance management table 26... SLA management table 44 44 Hierarchy management unit 40 40 High-speed storage device 41... Low-speed storage device, 50... Session information management table.

Claims (10)

  1.  アクセス頻度がより高いデータを応答性能が高い上位階層の記憶領域に移動させ、当該データ以外のデータを第1の記憶領域よりも応答性能が低い下位階層の記憶領域に移動させる階層記憶機能が搭載されたストレージ装置に保持されているデータベースを管理するデータベース管理装置において、
     前記データベースに関する処理を実行する処理実行部と、
     各前記処理の実行時のセッション情報をそれぞれ取得して管理するセッション管理部と、
     各前記処理の前記セッション情報に基づいて、必要に応じて前記データベースのデータの再配置を前記ストレージ装置に行わせるデータ配置管理部と
     を備え、
     前記データ配置管理部は、
     前記処理ごとに、前記データベースのデータのうちのアクセス回数が多い一部のデータを前記上位階層の記憶領域に配置する複数のデータ配置案の中から、当該処理について予め規定された時間に関する条件を満たす1つの前記データ配置案を当該処理の最終的なデータ配置案としてそれぞれ決定し、
     決定した前記処理ごとの最終的な前記データ配置案に従って前記データベースのデータを再配置した場合に、前記上位階層の記憶領域の容量が足りるか否かを判定し、
     前記上位階層の記憶領域の容量が足りる場合に、決定した前記処理ごとの最終的な前記データ配置案に従って、前記ストレージ装置に前記データベースのデータの再配置を行わせる
     ことを特徴とするデータベース管理装置。
    Equipped with a hierarchical storage function that moves data with higher access frequency to a higher-level storage area with higher response performance and moves data other than the data to a lower-level storage area with lower response performance than the first storage area In the database management device that manages the database held in the storage device
    A process execution unit that executes processes related to the database;
    A session management unit that acquires and manages session information at the time of execution of each of the processes;
    A data placement management unit that causes the storage device to rearrange the data of the database as needed based on the session information of each of the processes,
    The data arrangement management unit
    For each of the processes, from among a plurality of data arrangement plans for arranging a part of the data of the database having a large number of accesses in the storage area of the upper hierarchy, a condition regarding a time defined in advance for the process is set. Each of the data arrangement plans to be satisfied is determined as a final data arrangement plan for the processing,
    When the data of the database is rearranged according to the final data arrangement plan for each of the determined processes, it is determined whether the storage area of the upper hierarchy is sufficient,
    When the storage area of the upper tier is sufficient, the database management apparatus causes the storage apparatus to relocate data of the database according to the final data arrangement plan for each of the determined processes. .
  2.  前記データベースのデータのうちのアクセス回数が多い一部のデータを前記上位階層の記憶領域に配置する複数のデータ配置案は、それぞれ前記データベースのデータのうちのアクセス回数が多い上位の異なる既定比率分のデータを前記上位階層の記憶領域に配置する案である
     ことを特徴とする請求項1に記載のデータベース管理装置。
    A plurality of data arrangement plans for allocating a part of the data of the database having a high access frequency in the storage area of the upper tier are respectively different upper ratios of the database data having a high access frequency. The database management apparatus according to claim 1, wherein the data is arranged in a storage area of the upper hierarchy.
  3.  前記データ配置管理部は、前記処理ごとに、
     前記データベースのデータのうちのアクセス回数が多い一部のデータを前記上位階層の記憶領域に配置する複数の前記データ配置案ごとの処理時間をそれぞれ算出し、
     処理時間を算出した各前記データ配置案の中から、当該処理について予め規定された前記条件を満たし、かつ前記上位階層の記憶領域の使用量が最も少ない前記データ配置案を当該処理の最終的な前記データ配置案として決定する
     ことを特徴とする請求項2に記載のデータベース管理装置。
    The data placement management unit, for each process,
    Calculating a processing time for each of the plurality of data arrangement plans for arranging a part of the data of the database with a large number of accesses in the upper tier storage area;
    Among the data arrangement plans for which the processing time has been calculated, the data arrangement plan that satisfies the conditions specified in advance for the process and uses the least amount of storage area in the upper tier is selected as the final of the process. The database management apparatus according to claim 2, wherein the database management apparatus determines the data arrangement plan.
  4.  前記条件は、顧客との間で締結された品質保証契約において規定された応答時間又は処理時間に関する条件である
     ことを特徴とする請求項3に記載のデータベース管理装置。
    The database management apparatus according to claim 3, wherein the condition is a condition relating to a response time or a processing time defined in a quality assurance contract concluded with a customer.
  5.  前記データ配置管理部は、
     前記ストレージ装置に所定機能が搭載されている場合には、決定した前記処理ごとの前記データ配置案に従った前記データベースのデータの再配置を前記ストレージ装置に行わせるための所定のコマンドを当該ストレージ装置に送信し、
     前記ストレージ装置に当該機能が搭載されていない場合には、決定した前記処理ごとの前記データ配置案に従って前記データベースのデータを再配置するように、前記ストレージ装置にダミーのI/Oコマンドを送信する
     ことを特徴とする請求項2に記載のデータベース管理装置。
    The data arrangement management unit
    When a predetermined function is installed in the storage device, a predetermined command for causing the storage device to perform data relocation of the database according to the data allocation plan for each of the determined processes is stored in the storage device. To the device,
    If the function is not installed in the storage device, a dummy I / O command is transmitted to the storage device so that the data in the database is rearranged according to the determined data placement plan for each process. The database management apparatus according to claim 2, wherein:
  6.  アクセス頻度がより高いデータを応答性能が高い上位階層の記憶領域に移動させ、当該データ以外のデータを第1の記憶領域よりも応答性能が低い下位階層の記憶領域に移動させる階層記憶機能が搭載されたストレージ装置に保持されているデータベースを管理するデータベース管理装置において実行されるデータベース管理方法であって、
     前記データベース管理装置は、
     前記データベースに関する処理を実行する処理実行部と、
     各前記処理の実行時のセッション情報をそれぞれ取得して管理するセッション管理部と、
     各前記処理の前記セッション情報に基づいて、必要に応じて前記データベースのデータの再配置を前記ストレージ装置に行わせるデータ配置管理部と
     を有し、
     前記データ配置管理部が、前記処理ごとに、前記データベースのデータのうちのアクセス回数が多い一部のデータを前記上位階層の記憶領域に配置する複数のデータ配置案の中から、当該処理について予め規定された時間に関する条件を満たす1つの前記データ配置案を当該処理の最終的なデータ配置案としてそれぞれ決定する第1のステップと、
     前記データ配置管理部が、決定した前記処理ごとの最終的な前記データ配置案に従って前記データベースのデータを再配置した場合に、前記上位階層の記憶領域の容量が足りるか否かを判定する第2のステップと、
     前記データ配置管理部が、前記上位階層の記憶領域の容量が足りる場合に、決定した前記処理ごとの最終的な前記データ配置案に従って、前記ストレージ装置に前記データベースのデータの再配置を行わせる第3のステップと
     を備えることを特徴とするデータベース管理方法。
    Equipped with a hierarchical storage function that moves data with higher access frequency to a higher-level storage area with higher response performance and moves data other than the data to a lower-level storage area with lower response performance than the first storage area A database management method executed in a database management device that manages a database held in a storage device,
    The database management device includes:
    A process execution unit that executes processes related to the database;
    A session management unit that acquires and manages session information at the time of execution of each of the processes;
    A data placement management unit that causes the storage device to rearrange the data of the database as necessary based on the session information of each of the processes;
    For each process, the data arrangement management unit pre-determines the process from a plurality of data arrangement plans for arranging a part of the data in the database having a high access frequency in the storage area of the upper hierarchy. A first step of respectively determining one data arrangement plan that satisfies a condition relating to a specified time as a final data arrangement plan of the processing;
    The data arrangement management unit determines whether or not the storage area of the upper hierarchy is sufficient when the data in the database is rearranged according to the final data arrangement plan for each of the determined processes. And the steps
    The data placement management unit causes the storage device to rearrange the data of the database according to the final data placement plan for each of the determined processes when the storage area of the upper hierarchy is sufficient. 3. A database management method comprising: 3 steps.
  7.  前記データベースのデータのうちのアクセス回数が多い一部のデータを前記上位階層の記憶領域に配置する複数のデータ配置案は、それぞれ前記データベースのデータのうちのアクセス回数が多い上位の異なる既定比率分のデータを前記上位階層の記憶領域に配置する案である
     ことを特徴とする請求項6に記載のデータベース管理方法。
    A plurality of data arrangement plans for allocating a part of the data of the database having a high access frequency in the storage area of the upper tier are respectively different upper ratios of the database data having a high access frequency. The database management method according to claim 6, wherein the data is arranged in a storage area of the upper hierarchy.
  8.  前記第1のステップにおいて、データ配置管理部は、前記処理ごとに、
     前記データベースのデータのうちのアクセス回数が多い一部のデータを前記上位階層の記憶領域に配置する複数の前記データ配置案ごとの処理時間をそれぞれ算出し、
     処理時間を算出した各前記データ配置案の中から、当該処理について予め規定された前記条件を満たし、かつ前記上位階層の記憶領域の使用量が最も少ない前記データ配置案を当該処理の最終的な前記データ配置案として決定する
     ことを特徴とする請求項7に記載のデータベース管理方法。
    In the first step, the data placement management unit, for each process,
    Calculating a processing time for each of the plurality of data arrangement plans for arranging a part of the data of the database with a large number of accesses in the upper tier storage area;
    Among the data arrangement plans for which the processing time has been calculated, the data arrangement plan that satisfies the conditions specified in advance for the process and uses the least amount of storage area in the upper tier is selected as the final of the process. The database management method according to claim 7, wherein the database management method is determined as the data arrangement plan.
  9.  前記条件は、顧客との間で締結された品質保証契約において規定された応答時間又は処理時間に関する条件である
     ことを特徴とする請求項8に記載のデータベース管理方法。
    The database management method according to claim 8, wherein the condition is a condition related to a response time or a processing time defined in a quality assurance contract concluded with a customer.
  10.  前記第3のステップにおいて、前記データ配置管理部は、
     前記ストレージ装置に所定機能が搭載されている場合には、決定した前記処理ごとの前記データ配置案に従った前記データベースのデータの再配置を前記ストレージ装置に行わせるための所定のコマンドを当該ストレージ装置に送信し、
     前記ストレージ装置に当該機能が搭載されていない場合には、決定した前記処理ごとの前記データ配置案に従って前記データベースのデータを再配置するように、前記ストレージ装置にダミーのI/Oコマンドを送信する
     ことを特徴とする請求項7に記載のデータベース管理方法。
     
    In the third step, the data arrangement management unit
    When a predetermined function is installed in the storage device, a predetermined command for causing the storage device to perform data relocation of the database according to the data allocation plan for each of the determined processes is stored in the storage device. To the device,
    If the function is not installed in the storage device, a dummy I / O command is transmitted to the storage device so that the data in the database is rearranged according to the determined data placement plan for each process. The database management method according to claim 7.
PCT/JP2015/071762 2015-07-31 2015-07-31 Database management device and method WO2017022005A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/071762 WO2017022005A1 (en) 2015-07-31 2015-07-31 Database management device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/071762 WO2017022005A1 (en) 2015-07-31 2015-07-31 Database management device and method

Publications (1)

Publication Number Publication Date
WO2017022005A1 true WO2017022005A1 (en) 2017-02-09

Family

ID=57942524

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/071762 WO2017022005A1 (en) 2015-07-31 2015-07-31 Database management device and method

Country Status (1)

Country Link
WO (1) WO2017022005A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727694A (en) * 2019-10-10 2020-01-24 北京字节跳动网络技术有限公司 Data processing method and device, electronic equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027233A (en) * 2006-07-21 2008-02-07 Nec Corp Data arrangement management system, method, and program
US20140380332A1 (en) * 2011-01-28 2014-12-25 Netapp, Inc. Managing Service Level Objectives for Storage Workloads

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027233A (en) * 2006-07-21 2008-02-07 Nec Corp Data arrangement management system, method, and program
US20140380332A1 (en) * 2011-01-28 2014-12-25 Netapp, Inc. Managing Service Level Objectives for Storage Workloads

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727694A (en) * 2019-10-10 2020-01-24 北京字节跳动网络技术有限公司 Data processing method and device, electronic equipment and storage medium
CN110727694B (en) * 2019-10-10 2024-01-09 北京字节跳动网络技术有限公司 Data processing method, device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN108287669B (en) Date storage method, device and storage medium
US8464003B2 (en) Method and apparatus to manage object based tier
US9753668B2 (en) Method and apparatus to manage tier information
US10885030B2 (en) Database management system and computer system having first and second query execution parts which execute database operations in parallel
JP2007042034A (en) Computer system, management computer, and method for managing logic storage domain
US11232072B2 (en) Method and apparatus for file system
US10976946B2 (en) Method and computer system for managing blocks
CN105302830A (en) Map tile caching method and apparatus
US10146783B2 (en) Using file element accesses to select file elements in a file system to defragment
CN104461384A (en) Data write-in method and storage device
CN109684270A (en) Database filing method, apparatus, system, equipment and readable storage medium storing program for executing
JP2016162407A (en) Control device, control method, and control program
JP5130169B2 (en) Method for allocating physical volume area to virtualized volume and storage device
WO2024021488A1 (en) Metadata storage method and apparatus based on distributed key-value database
JP6115575B2 (en) Data set multiplicity changing device, server, data set multiplicity changing method, and computer program
US11429311B1 (en) Method and system for managing requests in a distributed system
WO2017022005A1 (en) Database management device and method
US10360192B1 (en) Method and apparatus for identifying database I/O activity
US8468303B2 (en) Method and apparatus to allocate area to virtual volume based on object access type
US8504764B2 (en) Method and apparatus to manage object-based tiers
US9501414B2 (en) Storage control device and storage control method for cache processing according to time zones
WO2018225752A1 (en) Control device, control method, and control program
CN104808954B (en) The storage system and its control method of virtual volume are provided
US20150177984A1 (en) Management system and management method
KR101754713B1 (en) Asymmetric distributed file system, apparatus and method for distribution of computation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15900319

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15900319

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP