Computer system and method for horizontally scaling a computer system

By adding processing nodes and storage nodes in the cloud environment and performing data replication and parallel processing, the performance degradation problem during cloud explosion is solved and the effective response to sudden loads is achieved.

CN116107733BActive Publication Date: 2025-08-05HITACHI VANDALA CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210948627.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-11-09
Filing Date
2022-08-09
Publication Date
2025-08-05
Estimated Expiration
2042-08-09

AI Technical Summary

Technical Problem

In the case of cloud explosion, the prior art has degraded performance due to the long data replication time and cannot effectively deal with sudden loads.

Method used

By adding processing nodes and storage nodes in the cloud environment, data replication and processing are performed in parallel, replication latency is reduced, and data processing is achieved.

Benefits of technology

Reduces the possibility of performance degradation, improves the ability to respond to sudden loads, and ensures the stable operation of the data processing system during cloud outbreaks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116107733B_ABST
    Figure CN116107733B_ABST
Patent Text Reader

Abstract

A computer system and a computer system scale-out method are provided that can reduce the likelihood of performance degradation when cloud bursting is performed. When performing scale-out in a public cloud, a data processing system initiates a data replication process to copy data stored in a first locally deployed data storage area to a second data storage area in a public cloud storage cluster via a first network. The data processing system performs scale-out by adding processing nodes while accessing data stored in the first data storage area from the start of the data replication process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a computer system and a scale-out method of the computer system. Background Art

[0002] In a data processing platform that performs constant data analysis using a data processing system built on-premises, sudden analysis requests can cause the data processing platform to become temporarily overloaded, leading to longer analysis times. In such cases, cloud bursting eliminates the need to secure resources in the on-premises environment to accommodate the sudden load.

[0003] Cloud bursting involves horizontal expansion (adding (increasing) the number of computers (computer resources) performing data processing) using a public cloud. Cloud bursting requires copying the data required for data processing from an on-premises environment to the public cloud. However, due to limitations in the communication bandwidth between the data processing system built on-premises and the public cloud, data copying takes time and may not be able to cope with sudden loads.

[0004] In contrast, the computer system described in Patent Document 1 (hereinafter referred to as the "conventional system") replicates a portion of data from a computer system built in a local deployment environment to a public cloud during cloud bursting. This reduces replication time and the amount of data required for replication. The conventional system determines the portion of data to replicate based on access history, among other factors.

[0005] Patent Document 1: Japanese Patent No. 6815342 Summary of the Invention

[0006] However, in conventional systems, when a portion of the data to be replicated during cloud bursting is large, the replication wait time until the data replication is complete becomes long. Consequently, conventional systems can suffer performance degradation due to this replication wait time. Consequently, conventional systems may be unable to cope with sudden load fluctuations.

[0007] The present invention is made to solve the above-mentioned problems. Specifically, one object of the present invention is to provide a computer system and a computer system horizontal expansion method that can reduce the possibility of performance degradation when cloud bursting is performed.

[0008] In order to solve the above-mentioned problems, the computer system of the present invention includes a data processing system constructed in a specific environment, the data processing system including: a management node that accepts data processing; a processing cluster that includes a plurality of processing nodes that perform distributed processing on the data processed by the above-mentioned management node; and a storage including a first data storage area that stores data required for the above-mentioned data processing. The above-mentioned data processing system is configured to be able to perform scaling by increasing or decreasing the number of the above-mentioned processing nodes as resources for performing the above-mentioned distributed processing according to the load of the above-mentioned processing cluster. The above-mentioned data processing system is configured to perform horizontal expansion in a cloud environment different from the above-mentioned specific environment that can communicate with the above-mentioned data processing system via a network when the load of the above-mentioned processing cluster becomes high and the resources of the above-mentioned data processing system are insufficient. The above-mentioned cloud environment includes an increase or decrease of the number of processing nodes that can be used to perform horizontal expansion. The processing node and the storage cluster including a plurality of storage nodes that can be increased or decreased, the number of the processing nodes as the resources for performing the distributed processing will be increased in the horizontal expansion, the data processing system is configured to start data replication processing when performing horizontal expansion in the cloud environment, in which data replication processing, the data to be used in the data processing stored in the first data storage area is copied from the first data storage area of the data processing system to the second data storage area of the storage cluster via the network, and during the period from the start of the data replication processing to the end of the data replication processing, in the cloud environment, the horizontal expansion is performed by adding the processing nodes that perform the distributed processing while accessing the data stored in the first data storage area of the storage via the network.

[0009] The horizontal expansion method of a computer system of the present invention is executed by a data processing system constructed in a specific environment, the data processing system including: a management node that accepts data processing; a processing cluster including a plurality of processing nodes that perform distributed processing on the data processed by the management node; and a storage including a first data storage area that stores data required for the data processing. The data processing system is configured to be able to perform scaling by increasing or decreasing the number of the processing nodes that serve as resources for performing the distributed processing according to the load of the processing cluster. In the case where the resources of the data processing system are insufficient due to an increase in the load of the processing cluster, the data processing system can perform horizontal expansion in a cloud environment that is different from the specific environment and can communicate with the data processing system via a network. The cloud environment includes a storage device that can The above-mentioned processing nodes that are increased or decreased and the storage cluster including multiple storage nodes that can be increased or decreased, the number of the above-mentioned processing nodes that serve as the above-mentioned resources for performing the above-mentioned distributed processing is increased in the above-mentioned horizontal expansion, and when the horizontal expansion is performed in the above-mentioned cloud environment, data replication processing is started. In this data replication processing, the data to be used in the above-mentioned data processing stored in the above-mentioned first data storage area is copied from the above-mentioned first data storage area of the above-mentioned data processing system to the second data storage area of the above-mentioned storage cluster via the above-mentioned network. During the period from the start of the above-mentioned data replication processing to the end of the above-mentioned data replication processing, in the above-mentioned cloud environment, the above-mentioned horizontal expansion is performed by adding the above-mentioned processing nodes that perform the above-mentioned distributed processing while accessing the above-mentioned data stored in the above-mentioned first data storage area of the above-mentioned storage via the above-mentioned network.

[0010] Effects of the Invention

[0011] According to the present invention, the possibility of causing performance degradation when cloud bursting is performed can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 It is a diagram for explaining the outline of the present invention.

[0013] Figure 2 This is a schematic structural diagram showing an example of the system structure of a data processing platform system.

[0014] Figure 3 This is a schematic diagram showing an example of the hardware configuration for constructing an automation server.

[0015] Figure 4 This is a schematic configuration diagram showing an example of the hardware configuration of a monitoring server.

[0016] Figure 5A This diagram explains the details of the DB information included in the system configuration information.

[0017] Figure 5B This is a diagram for explaining the details of memory information included in the system configuration information.

[0018] Figure 6A This diagram explains the DB server construction and configuration procedure, which is included in the construction and configuration procedure.

[0019] Figure 6B This diagram explains the memory configuration procedure included in the build and configuration procedure.

[0020] Figure 7A This diagram explains the MasterDB node creation process.

[0021] Figure 7B This diagram explains the addition and deletion of WorkerDB nodes, as well as the switching of WorkerDB clusters.

[0022] Figure 7C This diagram explains the processing of adding storage nodes, relocating data within a storage cluster, and changing the connection destination of WorkerDB nodes within a WorkerDB cluster.

[0023] Figure 8A A graph used to illustrate DB performance information.

[0024] Figure 8B This is a diagram for explaining the storage performance information included in the system performance information.

[0025] Figure 9 This is a diagram for explaining each information included in the threshold determination information.

[0026] Figure 10A This is a diagram for explaining the system configuration information registration process.

[0027] Figure 10B A diagram used to illustrate workflow execution processing.

[0028] Figure 10C This is a diagram for explaining the scaling control process.

[0029] Figure 11A This is a diagram used to explain the system performance information collection process.

[0030] Figure 11B This is a diagram used to explain the system threshold determination process.

[0031] Figure 11C This figure is used to illustrate the display processing of system operation information.

[0032] Figure 12A This is a flowchart showing the flow of processing executed by the scaling control process.

[0033] Figure 12B This is a flowchart showing the flow of processing executed by the scaling control process.

[0034] Figure 12C This is a flowchart showing the flow of processing executed by the scaling control process.

[0035] Figure 12D This is a flowchart showing the flow of processing executed by the scaling control process.

[0036] Figure 12E This is a flowchart showing the flow of processing executed by the scaling control process.

[0037] Figure 12F This is a flowchart showing the flow of processing executed by the scaling control process.

[0038] Figure 13A This is a diagram showing an example of a job information display image when horizontal expansion is executed.

[0039] Figure 13B This is a diagram showing an example of a job information display image when horizontal expansion is executed.

[0040] Label Description

[0041] 101…local deployment; 102…public cloud; 103…first network; 105…MasterDB node; 106a, 106b1, 106b2…WorkerDB nodes; 111…first data storage area; 112…storage node; 113…storage cluster; 114…second data storage area; 122…storage access network; 200…hybrid cloud structure data processing platform system; 201…data processing system. DETAILED DESCRIPTION

[0042] The computer system of the embodiment of the present invention is described using the accompanying drawings. In addition, the present invention is not limited to the embodiment described below, and various modifications can be adopted within the scope of the present invention. In the following description, various information is sometimes described using expressions such as "table" and "record", but various information can also be represented using data structures other than these. Furthermore, when describing identification information, expressions such as "number", "identification information", and "name" are used, but these can be interchangeable.

[0043] <Summary>

[0044] First, in order to facilitate understanding of the present invention, the contents of the present invention will be described. Figure 1An example of a computer system according to an embodiment of the present invention is a computer system built in a hybrid cloud. Figure 1 The hybrid cloud structure data processing platform system 200 is shown. Hereinafter, the hybrid cloud structure data processing platform system 200 is simply referred to as "data processing platform system 200".

[0045] Data processing platform system 200 includes data processing system 201 implemented in local deployment 101 and public cloud 102. The specific structures of data processing platform system 200 and data processing system 201 are described in detail below. In this specification and the accompanying drawings, local deployment 101 is sometimes referred to as the "local deployment," and public cloud 102 is sometimes referred to as the "public cloud."

[0046] In the data processing platform system 200, the local deployment 101 and the public cloud 102 are connected via the first network 103. The data processing platform system 200 is configured to Figure 1 The scale control 104 shown by the process curve in FIG can perform horizontal expansion (cloud bursting) from the local deployment 101 across the public cloud 102 (refer to Figure 1 Explanatory text St1).

[0047] The data processing platform system 200 executes the method 100 of horizontally expanding the data processing system 201 in stages when performing cloud bursting.

[0048] The data processing system 201 built into the local deployment 101 includes a database (DB) for data processing. The database includes a storage unit for storing data and a control unit for controlling the input, output, and update of the data stored in the storage unit. The database control unit corresponds to the first WorkerDB cluster 107 (also referred to as "Cluster 1"), which is composed of a MasterDB (master database) node 105 within the local deployment 101 for data processing and multiple WorkerDB (slave database) nodes 106a within the local deployment 101. The storage unit for storing data corresponds to storage S1.

[0049] The MasterDB node 105 can execute data update indicated by the dotted arrow AR1 and data reference indicated by the solid arrow AR2 , while the WorkerDB node 106 a can only execute data reference indicated by the solid arrow AR2 .

[0050] When data processing begins, MasterDB 105 and first WorkerDB cluster 107 within local deployment 101 execute data processing. More specifically, an application (e.g., a data analysis application) accesses MasterDB node 105. MasterDB node 105 distributes query processing from the application (e.g., a data analysis application) to first WorkerDB cluster 107 (multiple WorkerDB nodes 106a), enabling distributed processing.

[0051] The data processing platform system 200 performs horizontal expansion (addition (increase) of WorkerDB nodes 106a for distributed processing) in the localized deployment 101 according to the load of query processing. In this case, the data processing platform system 200 sometimes encounters a situation where the localized deployment 101 is short of resources (hereinafter also referred to as "local deployment resource shortage") due to the overload caused by sudden analysis commissions. In this case, it is difficult for the data processing platform system 200 to perform horizontal expansion (addition (increase) of WorkerDB nodes 106a) in the localized deployment 101. Therefore, the data processing platform system 200 performs scaling control 104 for horizontal expansion (i.e., cloud bursting) in the public cloud 102.

[0052] Specifically, if the resource shortage of the local deployment 101 (local deployment resource shortage) occurs in the determination 108 , the scaling control 104 proceeds to the process 109 .

[0053] In process 109 , the scaling control 104 performs horizontal scaling by adding (adding) multiple cacheless WorkerDB nodes 106 b 1 (a second WorkerDB cluster 110 (also referred to as “cluster 2 ”)) that perform distributed query processing in the public cloud 102 .

[0054] Furthermore, in processing 109 , the scaling control 104 remotely copies the data stored in the first data storage area 111 (volume) of the storage S1 in the local deployment 101 to the second data storage area 114 (volume) in the storage cluster 113 composed of multiple storage nodes 112 in the public cloud 102 .

[0055] At this time, because remote replication takes time, the second WorkerDB cluster 110 performs query processing while accessing the data stored in the first data storage area 111 of the local deployment 101, while executing remote replication (see explanatory text St2). As a result, scaling control 104 can reduce replication latency. In other words, in parallel with remote replication, the second WorkerDB cluster 110 performs query processing while accessing the data stored in the first data storage area 111 of the local deployment 101, thereby reducing the possibility of being unable to cope with sudden loads (performance degradation) due to replication latency.

[0056] Next, the scaling control 104 proceeds to decision 115 to determine whether the transfer volume of the first network 103 (also referred to as "network 1") exceeds a threshold (is greater than the threshold). If the transfer volume of the first network 103 exceeds the threshold (i.e., if the result is "TRUE"), the scaling control 104 proceeds to decision 116 to determine whether the remote copy has been completed.

[0057] In the case where the transmission volume of the first network 103 exceeds the threshold, when remote replication is not completed (i.e., when the result is "FALSE" in judgment 116), there is a possibility that the replication time will be prolonged or the performance will be degraded. Therefore, in this case, the scaling control 104 proceeds to processing 117 to create and start multiple WorkerDB nodes 106b2 with cache (the third WorkerDB cluster 118 (also referred to as "cluster 3")) that perform distributed processing of query processing. The multiple WorkerDB nodes 106b2 with cache, for example, cache a portion of the data transmitted from the storage S1 (e.g., data with a high access frequency). Thus, the scaling control 104 can reduce the transmission volume of the first network 103, so the possibility of performance degradation or prolonged replication time during replication can be reduced.

[0058] In addition, the WorkerDB node 106b1 without cache and the WorkerDB node 106b2 with cache in the public cloud 102 are referred to as "WorkerDB node 106b" when there is no need to distinguish them. Sometimes the WorkerDB node 106b1 without cache is also simply referred to as "WorkerDB node 106b1". Sometimes the WorkerDB node 106b2 with cache is also simply referred to as "WorkerDB node 106b2". The WorkerDB node 106a in the local deployment 101 and the WorkerDB node 106b in the public cloud 102 are also sometimes simply referred to as "WorkerDB node 106" when there is no need to distinguish them. Furthermore, for convenience, the WorkerDB node 106 is sometimes also referred to as a "processing node". For convenience, the above-mentioned MasterDB node 105 is sometimes also referred to as a "management node".

[0059] Furthermore, in process 117, when the scaling control 104 creates and starts the third WorkerDB cluster 118 (Cluster 3), it changes all WorkerDB nodes 106b1 in the second WorkerDB cluster 110 to maintenance mode. After the executing query is completed, the scaling control 104 deletes all WorkerDB nodes 106b1 from the second WorkerDB cluster 110.

[0060] If the transmission volume of the first network 103 exceeds the threshold in judgment 115 and the remote replication completion is "true" in judgment 116, the scaling control 104 proceeds to processing 119. In processing 119, the scaling control 104 creates and starts multiple WorkerDB nodes 106b1 (the fourth WorkerDB cluster 120 (also referred to as "cluster 4") without cache for distributed processing that executes query processing. In addition, in processing 119, when the scaling control 104 creates and starts the fourth WorkerDB cluster 120 (cluster 4), all WorkerDB nodes 106b2 in the third WorkerDB cluster 118 are changed to maintenance mode. After the query processing in execution is completed, the scaling control 104 deletes all WorkerDB nodes 106b2 from the third WorkerDB cluster 118.

[0061] If the third WorkerDB cluster 118 has not been created and started at the time of process 119 (i.e., if the determination 116 does not return "false"), the scaling control 104 performs the following process in process 119. Specifically, when the fourth WorkerDB cluster 120 (Cluster 4) is created and started, the scaling control 104 changes all WorkerDB nodes 106b1 in the second WorkerDB cluster 110 to maintenance mode and deletes them from the second WorkerDB cluster 110 after the query processing in progress is completed.

[0062] Then, the scaling control 104 proceeds to determination 121 to determine whether the transmission volume of the storage access network 122 (also referred to as "second network 122" or "network 2") within the storage cluster 113 exceeds a threshold. In addition, the storage cluster 113 is an SDS (Software Defined Storage) that manages the storage areas distributed across multiple storage nodes 112 as a larger storage device as a whole through software. The storage node 112 is, for example, a virtual machine (e.g., an EC2 instance of AWS (Amazon Web Services)) to which a storage volume (e.g., EBS (Amazon Elastic Block Store) of AWS (Amazon Web Services)) is attached.

[0063] In decision 121, if the transmission volume of the second network 122 within the storage cluster 113 exceeds the threshold, even if the scaling control 104 adds (increases) the WorkerDB node 106b1, the communication performance will not improve (due to insufficient transmission volume of the second network 122), so there is a possibility that performance cannot be improved.

[0064] Therefore, when the transmission volume of the second network 122 exceeds the threshold (i.e., when the condition is "true"), the scaling control 104 proceeds to process 123, creating and starting multiple WorkerDB nodes 106b2 with cache (the fifth WorkerDB cluster 124 with cache (also referred to as "Cluster 5")) that perform distributed query processing. Furthermore, when the scaling control 104 creates and starts the fifth WorkerDB cluster 124 (Cluster 5), it changes all WorkerDB nodes 106b1 within the fourth WorkerDB cluster 120 to maintenance mode and deletes them from the fourth WorkerDB cluster 120 after the query processing in progress is completed.

[0065] Furthermore, the scaling control 104 adds the storage node 112 to the storage cluster 113 and starts replication for data reallocation in process 123. At this time, data reallocation takes time (replication for data reallocation takes time).

[0066] In contrast, as described above, the fifth WorkerDB cluster 124 with cache is first created and started. Next, the fifth WorkerDB cluster 124 with cache accesses the data stored in the second data storage area 114 of the storage cluster 113 while performing the addition of storage nodes 112 and data reconfiguration (see explanatory text St3). The multiple WorkerDB nodes 106b2 with cache, for example, cache a portion of the data transmitted from the storage cluster 113 (for example, data with a high access frequency). By switching to the fifth WorkerDB cluster 120 with cache during the addition of storage nodes 112 and data reconfiguration, the transmission volume of the second network 122 within the storage cluster 113 is reduced. As a result, the scaling control 104 can reduce the transmission volume of the second network 122, so the possibility of performance degradation during the addition of storage nodes 112 and data reconfiguration can be reduced.

[0067] The scaling control 104 proceeds to decision 125 to determine whether the addition of the storage node 112 and the data replication for data relocation are complete. If the determination in decision 125 regarding whether the addition of the storage node 112 and the data replication for data relocation are complete is "true," the scaling control 104 proceeds to process 126. If the scaling control 104 proceeds to process 126, it changes the connection destination of the WorkerDB node with cache 106b2 that constitutes the fifth WorkerDB cluster with cache 124. Specifically, the scaling control 104 unmounts the replication source volume of the WorkerDB node with cache 106b2's connection destination and then mounts the WorkerDB node with cache 106b2's connection destination to the replication destination volume.

[0068] Alternatively, multiple WorkerDB nodes 106b1 (the 6th WorkerDB cluster (also referred to as "Cluster 6")) without cache may be created and started to execute distributed query processing. In this case, when the 6th WorkerDB cluster ("Cluster 6") is created and started, the scaling control 104 changes all WorkerDB nodes 106b2 in the 5th WorkerDB cluster 124 to maintenance mode, and deletes them from the 5th WorkerDB cluster 124 after the query processing in execution is completed.

[0069] As described above, the data processing platform system 200 performs scaling control 104. As a result, the data processing platform system 200 can reduce the possibility of database performance degradation during cloud bursts, and can reduce the possibility of being unable to cope with sudden loads brought by data analysis applications. In addition, in the previous system described in the above [Background Technology] column, data that was rarely accessed in the past was not copied to the public cloud. Therefore, in the previous system, after the data copy is completed, when the data that was rarely accessed in the past is read from the storage, problems such as performance degradation and prolonged analysis time may occur due to access to data existing in the local deployment environment. In contrast, after the data copy is completed, the WorkerDB node 106b of the public cloud 102 of the data processing platform system 200 accesses the data of the public cloud 102, so the possibility of problems such as those in the previous system occurring is low.

[0070] <Structure>

[0071] Figure 2 This is a system configuration diagram showing an example of the system configuration of a data processing platform system 200. Data processing platform system 200 is configured to perform data processing and operational management. Data processing is performed by data processing system 201 within local deployment 101 in collaboration with data processing system 201 within virtual private cloud 203 for data processing within public cloud 102 via first data processing network 103.

[0072] Operation management is performed by the monitoring tool 205 and configuration tool 206 in the operation management server 204 in the local deployment 101 in collaboration with the build automation server 209 and monitoring server 210 in the operation management virtual private cloud 208 in the public cloud 102 via the operation management network 207 .

[0073] Data processing system 201, built in local deployment 101, includes multiple data processing computer VMs and first storage S1. One of the multiple data processing computer VMs corresponds to the aforementioned MasterDB node 105, and the other data processing computer VMs correspond to WorkerDB nodes 106a. The multiple data processing computer VMs corresponding to WorkerDB nodes 106a correspond to first WorkerDB cluster 107.

[0074] The first storage S1 is connected to the data processing computer VM so that data can be sent and received to each other, and provides the data processing computer VM with a first data storage area 111 (volume). The data processing computer VM is an information processing device (also called a "server") that includes a CPU, ROM, RAM, interface I / F, and a non-volatile storage device that can read and write data. The data processing computer VM can be either a physical computer or a virtual computer (virtual machine). In this example, the data processing computer VM is composed of a virtual computer. Hereinafter, the data processing computer VM is also referred to as a "virtual computer VM". The first storage S1 is composed of a non-volatile storage device that can read and write data. The storage S1 can also be composed of multiple storage devices.

[0075] When cloud bursting is performed, the data processing system 201 built in the virtual private cloud 203 includes a virtual computer VM and storage S2. The virtual computer VM corresponds to the above-mentioned WorkerDB node 106b. The virtual computer VM corresponding to multiple WorkerDB nodes 106b corresponds to the second WorkerDB cluster 110 (the third WorkerDB cluster 118, the fourth WorkerDB cluster 120, and the fifth WorkerDB cluster 124). In addition, the second WorkerDB cluster 110, the third WorkerDB cluster 118, the fourth WorkerDB cluster 120, and the fifth WorkerDB cluster 124, as well as the above-mentioned first WorkerDB cluster 107, are referred to as "WorkerDB clusters" below when there is no need to distinguish them specifically. For convenience, WorkerDB clusters are sometimes also referred to as "processing clusters."

[0076] The storage S2 corresponds to a storage cluster 113 including a plurality of storage nodes 112 .

[0077] Operations manager Man1 accesses the build automation server 209 and monitoring server 210 via a client PC 211, which serves as a terminal (personal computer) and includes a display device 211a (display). The build automation server 209 includes a system configuration information registration process 212, a workflow execution process 213, a scaling control process 214, system configuration information 215, workflow definitions 216, and a build and configuration sequence 217. The monitoring server 210 includes a system performance information collection process 218, a system threshold determination process 219, a system operation information display process 220, system performance information 221, and threshold determination information 222.

[0078] Figure 3This is a schematic diagram showing an example of the hardware configuration of the build automation server 209. The build automation server 209 includes a memory 301, a processor 302, a storage device 303, a communication interface 304, and an input / output interface (not shown). These are interconnected via a bus Bs1 for communication. The input device IP1 and the output device OP1 are connected to the build automation server 209 via the input / output interface (not shown).

[0079] Memory 301 includes system configuration information registration processing 212, workflow execution processing 213, and scaling control processing 214. The functions (processing) of system configuration information registration processing 212, workflow execution processing 213, and scaling control processing 214 can be implemented by processor 302 executing programs stored in memory 301 using storage device 303 and communication interface 304 as appropriate.

[0080] The system configuration information registration process 212 includes a server configuration information registration process 305 , a storage configuration information registration process 306 , and a DB and volume association information registration process 307 . The system configuration information registration process 212 is implemented by a program stored in the memory 301 and executed by the processor 302 .

[0081] Workflow execution processing 213 includes MasterDB node creation processing 308, WorkerDB node addition processing 309, WorkerDB node deletion processing 310, WorkerDB cluster creation and switching processing 311, storage node addition processing 312, storage cluster data relocation processing 313, and WorkerDB node connection destination change processing 314 within the WorkerDB cluster. Workflow execution processing 213 is composed of programs stored in memory 301 and executed by processor 302. WorkerDB cluster creation and switching processing 311 may also be referred to as "WorkerDB cluster switching processing 311" below.

[0082] Scaling control process 214 includes local DB scaling control process 315 , public cloud DB scaling control process 316 using local data, and public cloud DB scaling control process 317 using public cloud data. Scaling control process 214 is implemented by a program stored in memory 301 and executed by processor 302 .

[0083] The storage device 303 stores system configuration information 215, workflow definition 216, and build and configuration procedure 217. The system configuration information 215, workflow definition 216, and build and configuration procedure 217 will be described in detail later.

[0084] The communication interface 304 is an interface for connecting to the network. In addition, the operation management server 204 ( Figure 2 ), the data processing system 201 in the public cloud 102 ( Figure 2 ) and monitoring server 210 ( Figure 2 、 Figure 4 ) between the input and output information, from the client PC211 ( Figure 2 ) Input and output information exchanged via the Web browser is input and output via the communication interface 304.

[0085] Figure 4 This is a schematic diagram showing an example of the hardware configuration of monitoring server 210. Monitoring server 210 includes memory 301a, processor 302a, storage device 303a, communication interface 304a, and an input / output interface (not shown). These are interconnected via bus Bs2 for communication. Input device IP2 and output device OP2 are connected to monitoring server 210 via the input / output interface (not shown).

[0086] Memory 301a includes system performance information collection processing 218, system threshold determination processing 219, and system operation information display processing 220. The functions (processing) of system performance information collection processing 218, system threshold determination processing 219, and system operation information display processing 220 can be implemented by processor 302a executing programs stored in memory 301a using storage device 303a and communication interface 304a as appropriate.

[0087] The system performance information collection process 218 includes a server performance data collection process 401 and a storage performance data collection process 402. The system performance information collection process 218 is composed of a program stored in the memory 301a and executed by the processor 302a.

[0088] The system threshold determination process 219 includes a threshold determination process 403 and an alarm notification process 404. The system threshold determination process 219 is composed of a program stored in the memory 301a and executed by the processor 302a.

[0089] The system operation information display process 220 includes a system configuration information display process 405 and a system performance information display process 406. The system operation information display process 220 is composed of a program stored in the memory 301a and executed by the processor 302a.

[0090] The storage device 303a stores system performance information 221 and threshold determination information 222. The system performance information 221 and threshold determination information 222 will be described in detail later.

[0091] The communication interface 304a is an interface for connecting to the network. In addition, the operation management server 204 ( Figure 2 ), the data processing system 201 in the public cloud 102 ( Figure 2 ) and build automation server 209 ( Figure 2 、 Figure 3 ) between the input and output information, from the client PC211 ( Figure 2 ) Input and output information exchanged via the Web browser is input and output via the communication interface 304a.

[0092] Figure 5A This diagram explains details of DB information DB1 included in system configuration information 215 stored in storage device 303 of construction automation server 209. DB information DB1 includes server configuration information table 501, DB configuration information table 505, WorkerDB cluster configuration information table 509, and DB and volume association information table 516.

[0093] The server configuration information table 501 includes columns storing information (values) such as a physical server name 502, a DB node name 503, and an IP address 504. In the server configuration information table 501, information corresponding to each column regarding the server configuration is associated with each other and stored as row-based information (records).

[0094] The DB structure information table 505 includes a system name 506, a MasterDB node name 507, and an IP address 508 as columns for storing information (values). In the DB structure information table 505, information corresponding to each column regarding the DB structure is associated with each other and stored as row-based information (records).

[0095] WorkerDB cluster structure information table 509 includes columns for storing information (values): WorkerDB cluster name 510, location 511, cache presence 512, number of WorkerDB nodes 513, WorkerDB node name 514, and IP address 515. In WorkerDB cluster structure information table 509, information related to the WorkerDB cluster structure corresponding to each column is associated with each other and stored as row-based information (records).

[0096] The DB-volume association information table 516 includes columns storing information (values) such as system name 517, DB node name 518, IP address 519, volume name 520, capacity 521, port name 522, and path name 523. In the DB-volume association information table 516, information corresponding to each column regarding the DB-volume association is linked to each other and stored as row-based information (records).

[0097] Figure 5B 3 is a diagram for explaining the details of the storage information SI1 included in the system configuration information 215 stored in the storage device 303 of the construction automation server 209. Figure 5B As shown, the storage information SI1 includes a storage cluster configuration information table 524 , a remote copy configuration information table 533 , and a local copy configuration information table 542 .

[0098] The storage cluster configuration information table 524 includes columns storing information (values): storage cluster name 525, number of nodes 526, storage node name 527, IP address 528, volume name 529, capacity 530, port name 531, and path name 532. In the storage cluster configuration information table 524, information corresponding to each column regarding the storage cluster 113 is stored as row-based information (records).

[0099] The remote copy configuration information table 533 includes columns storing information (values): copy source storage name 534, copy source volume name 535, capacity 536, copy source port name 537, copy destination storage cluster name 538, copy destination volume name 539, copy destination port name 540, and copy destination path name 541. In the remote copy configuration information table 533, information related to remote copy corresponding to each column is associated with each other and stored as row-based information (records).

[0100] The local copy structure information table 542 includes columns storing information (values): copy source volume name 543, capacity 544, copy source port name 545, copy destination volume name 546, copy destination port name 547, and copy destination path name 548. In the local copy structure information table 542, information related to local copy corresponding to each column is stored as information (records) in linked rows.

[0101] Figure 6A This is a diagram for explaining the DB server build and setup procedure PR1 included in the build and setup procedure 217 stored in the storage device 303 of the build automation server 209. The DB server build and setup procedure PR1 is information indicating the DB server build and setup procedure. Figure 6AThe process included in the DB server construction and setting procedure PR1 is shown by a flow chart.

[0102] like Figure 6A As shown, the DB server construction and configuration procedure PR1 includes a DB template creation process 601 , a DB creation process without a cache 604 , a DB creation process with a cache 607 , and a volume initialization process 609 .

[0103] The DB template creation process 601 is a process in which the DB installation process 602 and the DB template creation process 603 are executed in the order described above.

[0104] The cacheless DB creation process 604 is a process that executes the startup process 605 for starting a cacheless VM from a WorkerDB template and the initial setting process 606 in the order described.

[0105] The cached DB creation process 607 is a process that executes the startup process 608 for starting a cached VM from a WorkerDB template and the initial setting process 606 in the order described.

[0106] The volume initialization process 609 is a process that executes the partition creation process 610, the file formatting process 611, and the mount process 612 in the order described.

[0107] Figure 6B This is a diagram for explaining the memory setting order PR2 included in the build and setting order 217 stored in the storage device 303 of the build automation server 209. The memory setting order PR2 is information indicating the memory setting order. Figure 6B In FIG. 1 , each process included in the memory setting procedure PR2 is shown by a flow chart.

[0108] like Figure 6B As shown, the storage configuration sequence PR2 includes a volume creation process 613 , a volume connection process 616 , and a copy process 618 .

[0109] The volume creation process 613 is a process that executes the volume creation process 614 and the path setting process 615 between the DB and the volume in the order described above.

[0110] The volume connection process 616 is a process that executes the iSCSI Target creation process 617 and the path setting process between the DB and the volume 615 in the order described above.

[0111] The copy process 618 is a process that executes the copy destination volume creation process 619, the path setting process 620 between the copy source volume and the copy destination volume, the copy pair creation process 621, and the copy pair splitting process 622 in the order described.

[0112] 7A to 7C This diagram is used to explain the MasterDB node creation process 308, WorkerDB node addition process 309, WorkerDB node deletion process 310, WorkerDB cluster switching process 311, storage node addition process 312, data relocation process within the storage cluster 313, and WorkerDB node connection destination change process 314 included in the workflow definition 216. The workflow definition 216 is information that defines the actions (processing, work, sequence) required to execute each process of the workflow execution process 213 (information that describes these). 7A to 7C The workflow definition 216 is shown in FIG. 2 using a process curve.

[0113] like Figure 7A As shown, in the workflow definition of the MasterDB node creation process 308, it is defined that the process 604a of starting the VM from the uncached DB template through the uncached DB creation process 604, the iSCSI initiator setting process 701 in the DB, the process 613a of creating a volume in the storage through the volume creation process 613, the process 609a of performing volume initialization in the DB through the volume initialization process 609, the DB construction process 702, the data loading process 703, and the MasterDB node registration process 704 are executed in the order of the description.

[0114] like Figure 7B As shown, in the workflow definition of the WorkerDB node addition processing 309, it is defined that the processing 604a of starting a VM from a non-cached DB template through the non-cached DB creation processing 604 or the processing 607a of starting a VM from a cached DB template through the cached DB creation processing 607, the iSCSI startup program setting processing 701 in the DB, the processing 616a of connecting the volume in the storage through the volume connection processing 616, the DB mount processing 612, the connection and management table registration processing 705 from the MasterDB node 105 to the WorkerDB node 106, the registration processing 706 to the WorkerDB cluster, and the WorkerDB node startup processing 707 are executed in the order of the description.

[0115] In the workflow definition of the WorkerDB node deletion process 310, it is defined that the process 708 of changing the WorkerDB node 106b to maintenance mode, the process 709 of stopping the WorkerDB node after the query processing is completed, the process 710 of disconnecting the MasterDB node 105 from the WorkerDB node 106 and deleting from the management table, the process 711 of deleting the WorkerDB node from the WorkerDB cluster, and the instance stop and deletion process 712 are executed in the order of the description.

[0116] In the workflow definition of the WorkerDB cluster switching process 311, it is defined that the repetitive processing 713 for all WorkerDB nodes in the WorkerDB cluster before switching, the WorkerDB node addition process 309 after switching, and the WorkerDB node deletion process 310 before switching are executed in the order described.

[0117] like Figure 7C As shown, in the workflow definition of the storage node addition process 312 , it is defined that the process 714 of starting a VM from a storage template and the volume creation process 614 in the storage node are to be executed in the order described.

[0118] In the workflow definition of the data reconfiguration process 313 within the storage cluster, it is defined that the repetitive processing 715 of all storage nodes in the storage cluster before adding the storage node and the processing 716 of copying part of the volume connected to the storage node to the new storage node are executed in the order described.

[0119] In the workflow definition of the connection destination change processing 314 of the WorkerDB node in the WorkerDB cluster, it is defined that the repeated processing 717 of all WorkerDB nodes in the WorkerDB cluster, the processing 708 of changing the WorkerDB node to maintenance mode, the unmounting processing 718 of the copy source volume, the mounting processing 612 of the copy destination volume, and the processing 719 of changing the WorkerDB node 106 to constant mode are performed in the order of the description.

[0120] Figure 8A 3 is a diagram for explaining the DB performance information DB2 included in the system performance information 221 stored in the storage device 303a of the monitoring server 210. Figure 8A As shown, the DB performance information DB2 included in the system performance information 221 includes a physical server performance information table 801 , a performance information table 806 for each DB node, and a WorkerDB cluster performance information table 812 .

[0121] Physical server performance information table 801 includes columns storing information (values) such as date and time 802, physical server name 803, CPU usage 804, and network traffic 805. In physical server performance information table 801, information related to physical server performance corresponding to each column is associated with each other and stored as row-based information (records).

[0122] The performance information table 806 for each DB node contains columns for storing information (values): date and time 807, DB node name 808, IP address 809, CPU usage 810, and network traffic 811. In the performance information table 806 for each DB node, information related to the performance of each DB node corresponding to each column is associated with each other and stored as row-based information (records).

[0123] WorkerDB cluster performance information table 812 includes columns for storing information (values): date and time 813, WorkerDB cluster name 814, CPU usage 815, and network traffic 816. In WorkerDB cluster performance information table 812, information related to WorkerDB cluster performance corresponding to each column is associated with each other and stored as row-based information (records).

[0124] Figure 8B This is a diagram for explaining storage performance information SI2 included in the system performance information 221 stored in the storage device 303 a of the monitoring server 210 .

[0125] The storage performance information SI2 included in the system performance information 221 includes a storage node-by-storage performance information table 817 and a storage cluster performance information table 824 .

[0126] The performance information table 817 for each storage node includes columns storing information (values): date and time 818, storage node name 819, IP address 820, CPU usage 821, network transfer volume 822, and storage transfer volume 823. In the performance information table 817 for each storage node, information related to the performance of each storage node corresponding to each column is associated with each other and stored as information (records) in rows.

[0127] Storage cluster performance information table 824 includes columns storing information (values): date and time 825, storage cluster name 826, CPU usage 827, network transfer volume 828, and storage transfer volume 829. In storage cluster performance information table 824, information related to storage cluster performance corresponding to each column is associated with each other and stored as row-based information (records).

[0128] Figure 9 3 is a diagram for explaining each information included in the threshold determination information 222 stored in the storage device 303a of the monitoring server 210. Figure 9 As shown, the threshold determination information 222 includes a WorkerDB cluster threshold information table 901 , a storage cluster threshold information table 906 , an alarm generation condition table 912 , and an alarm generation information table 916 .

[0129] WorkerDB cluster threshold information table 901 includes columns storing information (values) such as WorkerDB cluster name 902, CPU usage 903, network transfer volume 904, and storage transfer volume 905. In WorkerDB cluster threshold information table 901, information corresponding to each column regarding the threshold value applied to the WorkerDB cluster is associated with each other and stored as row-based information (records).

[0130] The storage cluster threshold information table 906 includes columns storing information (values): storage cluster name 907, number of storage nodes 908, CPU usage 909, network transfer volume 910, and storage transfer volume 911. In the storage cluster threshold information table 906, information corresponding to each column regarding thresholds applied to the storage cluster 113 is associated with each other and stored as row-based information (records).

[0131] The alarm generation condition table 912 includes index name 913, period 914, and number of times 915 as columns for storing information (values). In the alarm generation condition table 912, information corresponding to each column regarding the alarm generation condition is associated with each other and stored as information (records) in rows.

[0132] The alarm occurrence information table 916 includes columns storing information (values) such as date and time 917, alarm name 918, and occurrence location 919. In the alarm occurrence information table 916, information corresponding to each column regarding the alarm is associated with each other and stored as information (records) in rows.

[0133] <Processing performed by the system>

[0134] The following describes the processing performed by the data processing platform system 200. While the following description may refer to a "program" or a function block as the subject of the processing, since a program performs the specified processing by being executed by a CPU, the subject of the processing can also be the CPU or a function block. Similarly, the subject of the processing performed by executing a program can also be a controller, device, system, computer, or node having a processor.

[0135] 10A to 10C Is used to illustrate the Figure 3 FIG. 2 is a diagram of a process performed by the build automation server 209 .

[0136] like Figure 10A As shown, if the system configuration information registration processing 212 of the construction automation server 209 is input with the system configuration definition file FL11 by the operation manager Man1, the server configuration information registration processing 305, the storage configuration information registration processing 306 and the DB and volume association information registration processing 307 are executed and saved in the system configuration information 215.

[0137] like Figure 10B As shown, the workflow execution processing 213 of the construction automation server 209 takes the system structure information 215, the workflow definition 216 and the construction and setting order 217 as input, executes the MasterDB node creation processing 308, the WorkerDB node addition processing 309, the WorkerDB node deletion processing 310, the WorkerDB cluster switching processing 311, the storage node addition processing 312, the data reconfiguration processing 313 within the storage cluster, and the connection destination change processing 314 of the WorkerDB node within the WorkerDB cluster, and saves it to the system structure information 215.

[0138] like Figure 10C As shown, the scaling control process 214 of the build automation server 209 uses threshold determination information 222 as input and executes a local DB scaling control process 315, a public cloud DB scaling control process 316 using local data, and a public cloud DB scaling control process 317 using public cloud data. The public cloud DB scaling control process 316 using local data includes the public cloud DB scaling control process 1502 using local data without caching and the public cloud DB scaling control process 1503 using local data with caching. The public cloud DB scaling control process 317 using public cloud data includes the public cloud DB scaling control process 1504 using public cloud data without caching and the public cloud DB scaling control process 1505 using public cloud data with caching. The scaling control process 214 will be described in detail later.

[0139] Figures 11A to 11C This is a diagram for explaining a process (monitoring process) executed by the monitoring server 210 .

[0140] like Figure 11A As shown, Figure 4The system performance information collection processing 218 of the monitoring server 210 takes the system monitoring data 1601 from the operation management server 204 and the data processing system 201 in the public cloud 102 as input, executes the server performance data collection processing 401 and the storage performance data collection processing 402, and saves it to the system performance information 221.

[0141] like Figure 11B As shown, the system threshold determination process 219 of the monitoring server 210 receives the system performance information 221 and the threshold determination information 222 as input, executes the threshold determination process 403 and the alarm notification process 404 , and stores the results in the threshold determination information 222 .

[0142] like Figure 11C As shown, the system operation information display processing 220 of the monitoring server 210 takes the system configuration information 215 and the system performance information 221 as input, executes the system configuration information display processing 405 and the system performance information display processing 406, and displays them on the Web browser of the client PC 211.

[0143] <Scalability Control Processing>

[0144] The above-mentioned expansion control process 214 is executed by 12A to 12F The process curve shows the processing flow.

[0145] The scaling control process 214 starts Figure 12A The local deployment DB scaling control process 315 proceeds to step 1201. If the scaling control process 214 proceeds to step 1201, it monitors the CPU usage of the WorkerDB cluster in the local deployment 101 by referring to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210.

[0146] Then, the scaling control process 214 proceeds to step 1202. When the scaling control process 214 proceeds to step 1202, it refers to the threshold determination information 222 collected by the system threshold determination process 219 of the monitoring server 210 to determine whether the CPU usage of the WorkerDB cluster in the local deployment 101 exceeds the threshold.

[0147] If the CPU usage of the WorkerDB cluster in the local deployment 101 does not exceed the threshold, the scaling control process 214 determines “false” in step 1202 and returns to step 1201 .

[0148] If the CPU usage of the WorkerDB cluster in the local deployment 101 exceeds the threshold, the scaling control process 214 determines "true" in step 1202 and proceeds to step 1203 to determine whether the resources (server resources) of the local deployment 101 are insufficient.

[0149] If the resources (server resources) of local deployment 101 are not insufficient, scaling control process 214 determines "false" in step 1203 and proceeds to step 1204. If scaling control process 214 proceeds to step 1204, it adds WorkerDB node 106a to local deployment 101 through WorkerDB node addition process 309 described above, and then returns to step 1201.

[0150] If the resources (server resources) of the local deployment 101 are insufficient, the scaling control process 214 determines "true" in step 1203 and sequentially executes the processes of steps 1205 and 1206 described below.

[0151] Step 1205 : The scaling control process 214 adds a non-cache WorkerDB node 106 b 1 to the public cloud 102 by executing the aforementioned WorkerDB node addition process 309 .

[0152] Step 1206 : The scaling control process 214 copies the persistent data (ie, the data stored in the first data storage area 111 of the storage S1 ) to the second data storage area 114 (volume) of the public cloud 102 .

[0153] Then, the scaling control process 214 sends Figure 12B The scaling control process 1502 of the public cloud DB without cache using the local deployment data proceeds.

[0154] Figure 12B This is a flowchart showing the non-cache public cloud DB scaling control process 1502 using locally deployed data.

[0155] The scaling control process 214 starts the non-cache public cloud DB scaling control process 1502 using the locally deployed data and proceeds to step 1211 .

[0156] If the scaling control processing 214 proceeds to step 1211, it monitors the CPU usage and network transmission volume (NW transmission volume) of the WorkerDB cluster (i.e., the second WorkerDB cluster 110) in the public cloud 102 with reference to the system performance information 221 collected by the system performance information collection processing 218 of the monitoring server 210.

[0157] Then, the scaling control process 214 proceeds to step 1212 and refers to the threshold determination information 222 collected by the system threshold determination process 219 of the monitoring server 210 to determine whether the network traffic (NW traffic) of the WorkerDB cluster in the public cloud 102 exceeds the threshold.

[0158] If the WorkerDB cluster's network traffic (NW traffic) does not exceed the threshold, the scaling control process 214 determines "false" in step 1212 and proceeds to step 1213. If the scaling control process 214 proceeds to step 1213, it refers to the threshold determination information 222 collected by the system threshold determination process 219 of the monitoring server 210 to determine whether the CPU usage of the WorkerDB cluster in the public cloud 102 exceeds the threshold.

[0159] If the CPU usage of the WorkerDB cluster in the public cloud 102 does not exceed the threshold, the scaling control process 214 determines “false” in step 1213 and returns to step 1211 .

[0160] If the CPU usage of the WorkerDB cluster in public cloud 102 exceeds the threshold, scaling control process 214 determines "True" in step 1213 and proceeds to step 1214. If scaling control process 214 proceeds to step 1214, WorkerDB node 106b1 is added through the aforementioned WorkerDB node addition process 309. Scaling control process 214 then returns to step 1211.

[0161] If the network traffic of the WorkerDB cluster exceeds the threshold in step 1212 , the scaling control process 214 determines “true” in step 1212 and proceeds to step 1215 .

[0162] When the scaling control process 214 proceeds to step 1215 , it is determined whether the persistent data replication (ie, the aforementioned remote replication) is completed.

[0163] If the persistent data replication is not completed, the scaling control process 214 determines "false" in step 1215 and proceeds to step 1216 to switch to the WorkerDB cluster that accesses the locally deployed data and has a cache (i.e., the third WorkerDB cluster 118) by executing the above-mentioned WorkerDB cluster switching process 311. Figure 12C The scaling control process of the public cloud DB with cache using the locally deployed data proceeds to 1503.

[0164] When the persistent data replication is completed, the scaling control process 214 determines "true" in step 1215 and proceeds to step 1217. Through the above-mentioned WorkerDB cluster switching process 311, it switches to the WorkerDB cluster that accesses the public cloud data and has no cache (i.e., the fourth WorkerDB cluster 120). Then, the scaling control process 214 sends Figure 12D The non-cache public cloud DB scaling control process 1504 using public cloud data proceeds.

[0165] Figure 12C This is a flowchart showing the public cloud DB scaling control process 1503 with cache using locally deployed data.

[0166] The scaling control process 214 starts the public cloud DB scaling control process 1503 using the cached local data and proceeds to step 1221 .

[0167] When the scaling control process 214 proceeds to step 1221 , it monitors the CPU usage and network traffic (NW traffic) of the WorkerDB cluster in the public cloud 102 by referring to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210 .

[0168] The scaling control process 214 then proceeds to step 1222 , and refers to the threshold determination information 222 collected by the system threshold determination process 219 of the monitoring server 210 to determine whether the network traffic of the WorkerDB cluster in the public cloud 102 exceeds the threshold.

[0169] If the network traffic of the WorkerDB cluster does not exceed the threshold, the scaling control process 214 determines "false" in step 1222 and proceeds to step 1223 to determine whether the CPU usage of the WorkerDB cluster in the public cloud 102 exceeds the threshold.

[0170] If the CPU usage of the WorkerDB cluster in the public cloud 102 does not exceed the threshold, the scaling control process 214 determines “false” in step 1223 and returns to step 1221 .

[0171] If the CPU usage of the WorkerDB cluster in public cloud 102 exceeds the threshold, scaling control process 214 determines "True" in step 1223 and proceeds to step 1223. If scaling control process 214 proceeds to step 1223, WorkerDB node 106b2 is added through the aforementioned WorkerDB node addition process 309. Scaling control process 214 then returns to step 1221.

[0172] If the network traffic of the WorkerDB cluster exceeds the threshold in step 1222 , the scaling control process 214 determines “true” in step 1221 and proceeds to step 1225 to determine whether the persistent data replication is complete.

[0173] If the persistent data replication is not completed, the scaling control process 214 determines "false" in step 1225 and executes the process of step 1225 again.

[0174] If the persistent data replication is completed, the scaling control process 214 determines "true" in step 1225 and proceeds to step 311. Through the above-mentioned WorkerDB cluster switching process 311, it switches to the WorkerDB cluster that accesses the public cloud data and has no cache (i.e., the fourth WorkerDB cluster 120). Then, the scaling control process 214 switches to Figure 12D The non-cache public cloud DB scaling control process 1504 using public cloud data proceeds.

[0175] Figure 12D This is a flowchart showing scaling control processing 1504 for a public cloud DB without a cache and using public cloud data. The scaling control process 214 starts scaling control processing 1504 for a public cloud DB without a cache and using public cloud data, sequentially executing steps 1231 and 1232 described below, and then proceeding to step 1233.

[0176] Step 1231 : The scaling control process 214 monitors the storage transfer volume of the storage cluster 113 by referring to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210 .

[0177] Step 1232 : The scaling control process 214 monitors the CPU usage and network traffic (NW traffic) of the WorkerDB cluster in the public cloud 102 by referring to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210 .

[0178] The scaling control process 214 then proceeds to step 1233 , and refers to the threshold determination information 222 collected by the system threshold determination process 219 of the monitoring server 210 to determine whether the CPU usage or network traffic of the WorkerDB cluster exceeds the threshold.

[0179] If both the CPU usage rate and the network traffic volume are below the threshold, the scaling control process determines “false” in step 1233 and returns to step 1231 .

[0180] On the other hand, when the CPU usage rate or the network traffic volume exceeds the threshold, the scaling control process 214 determines “true” in step 1233 and proceeds to step 1234 .

[0181] When the scaling control process 214 proceeds to step 1234 , it determines whether the storage transfer capacity of the storage cluster 113 is insufficient (ie, whether the storage transfer capacity exceeds a threshold).

[0182] If the storage transfer capacity of the storage cluster 113 is not insufficient, the scaling control process determines "false" in step 1234 and proceeds to step 1235 to add the WorkerDB node 106b1 through the WorkerDB node addition process 309. The scaling control process 214 then returns to step 1231.

[0183] On the other hand, if the storage transfer capacity of the storage cluster 113 is insufficient, the scaling control process 214 determines “true” in step 1234 , executes the processes of steps 1236 to 1238 described below in sequence, and then proceeds to step 1239 .

[0184] Step 1236 : The scaling control process 214 switches to a WorkerDB cluster that accesses public cloud data and has a cache (ie, the fifth WorkerDB cluster 125 ) through the WorkerDB cluster switching process 311 .

[0185] Step 1237 : The scaling control process 214 adds a storage node to the storage cluster 113 through the storage node addition process 312 .

[0186] Step 1238: The scaling control process 214 performs data relocation within the storage cluster through the data relocation process 313 within the storage cluster.

[0187] When the scaling control process 214 proceeds to step 1239 , it determines whether the storage node addition and data reallocation are completed.

[0188] If the storage node addition and data reallocation are not completed, the scaling control process 214 determines "false" in step 1239 and executes step 1239 again.

[0189] If the storage node addition and data relocation are complete, scaling control process 214 determines "True" in step 1239 and proceeds to step 1240. The WorkerDB node connection destination change process 314 within the WorkerDB cluster changes the connection destination of WorkerDB node 106b2 within the WorkerDB cluster. Scaling control process 214 then proceeds to public cloud DB scaling control process 1505 with cache using public cloud data.

[0190] Figure 12E This is a flowchart showing scaling control processing 1505 for a public cloud DB with a cache that uses public cloud data. Scaling control processing 214 starts scaling control processing 1505 for a public cloud DB with a cache that uses public cloud data, sequentially executing steps 1241 and 1242 described below, and then proceeds to step 1243.

[0191] Step 1241 : The scaling control process 214 monitors the storage transfer volume of the storage cluster 113 by referring to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210 .

[0192] Step 1242 : The scaling control process 214 refers to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210 to monitor the CPU usage and network traffic (NW traffic) of the WorkerDB cluster.

[0193] The scaling control process 214 then proceeds to step 1243 , and refers to the threshold determination information 222 collected by the system threshold determination process 219 of the monitoring server 210 to determine whether the CPU usage or network traffic of the WorkerDB cluster exceeds the threshold.

[0194] If both the CPU usage rate and the network traffic volume are below the threshold, the scaling control process 214 determines “false” in step 1243 and returns to step 1241 .

[0195] In contrast, if the CPU usage or network transfer rate exceeds the threshold, the scaling control process 214 determines "true" in step 1243 and proceeds to step 1244. The scaling control process 214 refers to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210 to determine whether the storage transfer rate of the storage cluster 113 is insufficient.

[0196] If the storage transfer capacity of the storage cluster 113 is not insufficient, the scaling control process 214 determines "false" in step 1244, executes the process of step 1245 described below, and then returns to step 1241.

[0197] Step 1245: The scaling control process 214 adds the WorkerDB node 106b2 through the WorkerDB node addition process 309.

[0198] On the other hand, when the storage transfer capacity of the storage cluster is insufficient, the scaling control process 214 determines “true” in step 1244 , executes the processes of steps 1246 and 1247 described below in sequence, and then proceeds to step 1248 .

[0199] Step 1246 : The scaling control process 214 adds the storage node 112 to the storage cluster 113 through the storage node addition process 312 .

[0200] Step 1247 : The scaling control process 214 performs data relocation within the storage cluster through the data relocation process 313 within the storage cluster.

[0201] When the scaling control process 214 proceeds to step 1248 , it determines whether the storage node addition and data reallocation are completed.

[0202] If the storage node addition and data reallocation are not completed, the scaling control process 214 determines "false" in step 1248 and executes step 1248 again.

[0203] If the storage node addition and data relocation are completed, the scaling control process 214 determines "true" in step 1248 and proceeds to step 1249 to change the connection destination of the WorkerDB node 106b2 in the WorkerDB cluster.

[0204] The scaling control process 214 then proceeds to step 1250, temporarily terminating the present process flow. The scaling control process 214 then restarts the public cloud DB scaling control process 1505 with cache using public cloud data.

[0205] In addition, the scaling control process 214 executes after the cloud burst Figure 12F The public cloud DB scaling control process is shown as end determination 1506. Therefore, after cloud bursting, the scaling control process 214 starts processing from the public cloud DB scaling control process end determination 1506 and sequentially executes the processes of steps 1261 and 1262 described below, and then proceeds to step 1263.

[0206] Step 1261 : The scaling control process 214 monitors the storage transfer volume of the storage cluster 113 by referring to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210 .

[0207] Step 1262 : The scaling control process 214 refers to the system performance information 221 collected by the system performance information collection process 218 of the monitoring server 210 and monitors the CPU usage and network traffic (NW traffic) of the WorkerDB cluster.

[0208] When the scaling control process 214 proceeds to step 1263 , it determines whether the CPU usage of the WorkerDB cluster in the public cloud 102 is below the threshold and the network traffic (NW traffic) is below the threshold for a period of time exceeding a predetermined time.

[0209] If the CPU usage of the public WorkerDB cluster is below the threshold and the network traffic (NW traffic) does not remain below the threshold for a period of time exceeding the predetermined time, the scaling control process 214 determines "false" in step 1263 and returns to step 1261.

[0210] If the CPU usage of the public WorkerDB cluster is below the threshold and the network traffic (NW traffic) remains below the threshold for a period of time exceeding the specified time, the scaling control process 214 determines "true" in step 1263, executes the processing of steps 1264 and 1265 described below in sequence, and then proceeds to step 1266, temporarily ending this processing flow.

[0211] Step 1264: After the query processing is completed, the scaling control process 214 removes the WorkerDB node 106b in the public cloud 102 from the WorkerDB cluster. In other words, the scaling control process 214 performs a scale-in operation to reduce the number of WorkerDB nodes 106b in the public cloud 102 to zero.

[0212] Step 1265 : The scaling control process 214 stops the storage cluster 113 .

[0213] <System operation information display image>

[0214] Figure 13A and Figure 13B This is an example of a GUI (Graphical User Interface) image showing the result of displaying job information when horizontal expansion is executed.

[0215] Figure 13A The system operation information display image 1301 is an example of a GUI image when data processing is performed using the data stored in the first data storage area 111 of the local deployment 101 . Figure 13BThe system operation information display image 1302 is an example of a GUI image when data processing is performed using data stored in the second data storage area 114 of the public cloud 102. For example, the system operation information display images 1301 and 1302 are displayed on the display device 211a.

[0216] The system operation information display image 1301 includes a first graph image Gr11, a second graph image Gr12, and a third graph image Gr13. The first graph image Gr11 is a graph showing the number of WorkerDB nodes and the number of storage nodes at a given time. The second graph image Gr12 is a graph showing the CPU usage of the cluster at a given time, as measured by the number of WorkerDB nodes. The third graph image Gr13 is a graph showing the network traffic (NW traffic) between the local deployment 101 and the public cloud 102 at a given time.

[0217] The first through third graphs Gr11 and Gr13 indicate that WorkerDB node 106b1 was added at time t1 because the CPU usage of the WorkerDB cluster in the local deployment 101 exceeded a threshold and local deployment resources were insufficient. Furthermore, the first through third graphs Gr11 and Gr13 indicate that WorkerDB node 106b1 was added (increased) at time t2 because the CPU usage of the WorkerDB cluster in the public cloud 102 exceeded a threshold. Furthermore, the first through third graphs Gr11 and Gr13 indicate that the network traffic between the local deployment and the public cloud (the traffic on the first network 103) exceeded a threshold, resulting in a switch to a cached public cloud WorkerDB cluster (i.e., the third WorkerDB cluster 118) at time t3. Furthermore, the first through third graphs Gr11 and Gr13 indicate that WorkerDB node 106b2 was added (increased) at time t4.

[0218] The system operation information display image 1302 includes a fourth curve image Gr21 , a fifth curve image Gr22 , and a sixth curve image Gr23 .

[0219] The fourth through sixth graphs Gr21 through Gr23 indicate that WorkerDB node 106b1 was added at time t5 because the CPU usage exceeded the threshold. The fourth through sixth graphs Gr21 through Gr23 indicate that storage node 112 was added at time t6 because the storage transfer rate within the storage cluster exceeded the threshold. Furthermore, the threshold (threshold storage transfer rate) was changed to a threshold greater than the current threshold (see explanatory text St11). The fourth through sixth graphs Gr21 through Gr23 indicate that WorkerDB node 106b2 was added at time t7 because the CPU usage exceeded the threshold.

[0220] <Effect>

[0221] As described above, in the data processing platform system 200, when the data processing system 201 performs cloud bursting when the local deployment resources are insufficient, the WorkerDB node 106b with cache accesses the storage S1 of the local deployment 101 while performing query processing in parallel with the data replication to the storage cluster 113 of the public cloud 102. As a result, in the data processing platform system 200, the possibility of performance degradation of the data processing system 201 due to the waiting time for data replication can be reduced. Furthermore, in the data processing platform system 200, when the communication bandwidth of the first network 103 between the local deployment 101 and the public cloud 102 is insufficient (critical), the data processing system 201 reduces the transmission volume of the first network 103 by switching the WorkerDB node performing data processing to the WorkerDB node 106b2 with cache that caches frequently accessed data. Thus, in the data processing platform system 200 , even when the communication bandwidth of the first network 103 is insufficient, the possibility of performance degradation of the data processing system 201 or a decrease in data copy speed can be reduced.

Claims

1. A computer system comprising a data processing system constructed in a specific environment, the data processing system comprising: Management node, accepting data processing; a processing cluster, comprising a plurality of processing nodes that perform distributed processing of the data accepted by the aforementioned management nodes; as well as The memory includes a first data storage area storing data required for the above-mentioned data processing, The data processing system is configured to be capable of scaling by increasing or decreasing the number of the processing nodes as resources for executing the distributed processing, according to the load of the processing cluster. in, The above data processing system is composed of: When the load on the processing cluster increases and the resources of the data processing system are insufficient, Horizontal scaling can be performed in a cloud environment different from the specific environment and capable of communicating with the data processing system via a network, the cloud environment including the processing nodes that can be increased or decreased and a storage cluster including a plurality of storage nodes that can be increased or decreased, wherein the horizontal scaling increases the number of the processing nodes as the resources for performing the distributed processing. The above data processing system is composed of: When horizontal scaling is performed in the cloud environment, a data replication process is started in which data stored in the first data storage area and to be used in the data processing is replicated from the first data storage area of the data processing system to the second data storage area of the storage cluster via the network. During the period from the start of the data replication process to the end of the data replication process, in the cloud environment, the horizontal expansion is performed by adding the processing nodes that perform the distributed processing while accessing the data stored in the first data storage area of the storage via the network.

2. The computer system of claim 1, wherein: The above specific environment is a localized deployment environment. The above cloud environment is a public cloud environment.

3. The computer system of claim 1, wherein: The above data processing system is composed of: During the period from the start of the data copying process to the end of the data copying process, First, the horizontal expansion is performed by adding the above processing nodes without cache. Then, when the communication bandwidth of the network is limited due to the data copying process and the access to the first data storage area by the processing node via the network, The processing node that performs the distributed processing while accessing the data stored in the first data storage area via the network is switched from the processing node without cache to the processing node with cache. The processing node with cache performs the distributed processing while accessing the data stored in the first data storage area of the storage via the network, and caches a portion of the data transmitted from the storage.

4. The computer system of claim 3, wherein: The above data processing system is composed of: During the period from the start of the data copying process to the end of the data copying process, Before the processing node that performs the distributed processing is switched from the processing node without a cache to the processing node with a cache, the horizontal expansion is performed by the processing node without a cache. When the processing node that performs the distributed processing is switched from the processing node without a cache to the processing node with a cache, the horizontal scaling is performed by the processing node with a cache.

5. The computer system of claim 1, wherein: The above data processing system is composed of: When the data replication process is completed, the processing node that performs the distributed processing while accessing the data stored in the first data storage area via the network is switched to a processing node that accesses the data stored in the second data storage area of the storage cluster, and the distributed processing is performed by the switched processing node.

6. The computer system of claim 5, wherein: The above data processing system is composed of: When the data replication process is completed, the horizontal expansion is performed in the cloud environment by adding the processing nodes that perform the distributed processing while accessing the data stored in the second data storage area of the storage cluster according to the load of the processing cluster.

7. The computer system of claim 1, wherein: The above data processing system is composed of: When the data replication process is completed, the processing node that performs the distributed processing while accessing the data stored in the first data storage area via the network is switched to a non-cache processing node that accesses the data stored in the second data storage area of the storage cluster, and the distributed processing is performed by the switched non-cache processing node. The above data processing system is composed of: When the data replication process is completed, the resources of the processing nodes after horizontal scaling in the cloud environment are overloaded, and the data communication bandwidth in the storage cluster is limited, After the processing node that performs the distributed processing while accessing the data stored in the second data storage area is switched to the processing node with cache that performs the distributed processing while accessing the data stored in the second data storage area and caches a portion of the data transmitted from the second data storage area, the storage node is added.

8. The computer system of claim 5, wherein: The above data processing system is composed of: When the resource load of the processing node in the cloud environment is low and the data communication bandwidth usage in the storage cluster is low for a predetermined period of time or longer, A scale-out operation is performed to reduce the number of the processing nodes in the cloud environment to zero, and the data in the storage cluster is deleted to stop the storage cluster.

9. The computer system of claim 1, wherein: It also includes a display device connected to the data processing system. The display device is configured to display a screen including system operation information of the data processing system.

10. A method for horizontal expansion of a computer system, performed by a data processing system constructed in a specific environment, the data processing system comprising: Management node, accepting data processing; a processing cluster, comprising a plurality of processing nodes that perform distributed processing of the data accepted by the aforementioned management nodes; as well as The memory includes a first data storage area storing data required for the above-mentioned data processing, The data processing system is configured to be capable of scaling by increasing or decreasing the number of the processing nodes as resources for executing the distributed processing, according to the load of the processing cluster. in, When the data processing system runs out of resources due to an increase in the load on the processing cluster, Horizontal scaling can be performed in a cloud environment different from the specific environment and capable of communicating with the data processing system via a network, the cloud environment including the processing nodes that can be increased or decreased and a storage cluster including a plurality of storage nodes that can be increased or decreased, wherein the horizontal scaling increases the number of the processing nodes as the resources for performing the distributed processing. When horizontal scaling is performed in the cloud environment, a data replication process is started in which data stored in the first data storage area and to be used in the data processing is replicated from the first data storage area of the data processing system to the second data storage area of the storage cluster via the network. During the period from the start of the data replication process to the end of the data replication process, in the cloud environment, the horizontal expansion is performed by adding the processing nodes that perform the distributed processing while accessing the data stored in the first data storage area of the storage via the network.

Citation Information

Patent Citations

  • Automatic scaling of resource instance groups within compute clusters

    CN107567696A

  • Distributed storage system

    CN111190552A