Data management device and data management method
Patent Information
- Application Number
- JP2021102283
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-06-21
- Publication Date
- 2025-02-27
- Estimated Expiration
- 2041-06-21
AI Technical Summary
【0009】 本発明によれば、各データベースにおけるデータを、そのデータ処理の特性に応じて適切なデータベースに記憶させることができる。 上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
Smart Images

Figure 0007636975000001 
Figure 0007636975000002 
Figure 0007636975000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a data management device and a data management method. [Background technology]
[0002] With the recent development of database technology, various database models such as key-value and graph models are now used in addition to the traditional relational model, depending on the characteristics of the data to be processed. Therefore, multi-model databases that can handle these database models in an integrated manner have been developed.
[0003] However, it is difficult to migrate a system that is currently operating using a group of existing databases to a new multi-model database. Therefore, as a technology for handling a multi-model database, for example, Patent Document 1 describes an information processing system that includes a storage device that stores a row-oriented database and a column-oriented database converted from the row-oriented database, and a control device that controls the storage device, and the control device divides a plurality of records included in the row-oriented database into a plurality of groups and converts each group into a column group that conforms to the format of the column-oriented database. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-026728 Summary of the Invention [Problem to be solved by the invention]
[0005] However, a database is not simply for storing data, but is also a target for various data processing such as data reference and data aggregation. Different data structures have different characteristics for data processing. In particular, with the spread of IoT (Internet of Things) systems, there are more opportunities to aggregate and analyze large amounts of data, and the amount of data to be processed is increasing. The technology described in Patent Document 1 does not provide a mechanism for managing a multi-model database by fully considering such points.
[0006] The present invention has been made in consideration of the current situation, and its object is to provide a data management device and a data management method that are capable of managing the data in each database in an appropriate database depending on the characteristics of the data processing. [Means for solving the problem]
[0007] One of the present inventions for solving the above-mentioned problems is a method for analyzing data to be processed of a predetermined item acquired from a database, the method comprising: calculating data of the predetermined item to be generated in a predetermined period of time in the future; and calculating characteristics of data processing to be executed in the database including the calculated data. At least one of the time required for data processing, the frequency of data processing, or the frequency of data updates in the predetermined future period is set as the future period. and a data processing simulator for estimating a characteristic of the data processing based on the estimated characteristic of the data processing. Calculating a parameter value representing at least one of a data update processing performance, a data compression performance, and a data aggregation performance related to the calculated data, and according to the calculated parameter value, The data management device includes a data placement proposal creation unit that identifies a database in which to store the specified items of data from among a plurality of databases having different data processing capabilities, and a data placement execution unit that stores data including the data to be processed in the identified database.
[0008] In addition, one aspect of the present invention for solving the above problem is a method for processing a database by an information processing device, the method comprising: calculating data of a predetermined item to be generated in a predetermined period of time in the future by analyzing the data to be processed that is acquired from a database; and calculating characteristics of data processing to be executed in the database including the calculated data. At least one of the time required for data processing, the frequency of data processing, or the frequency of data updates in the predetermined future period is set as the future period.A data processing simulation process for estimating the above, and based on the characteristics of the estimated data processing, Calculating a parameter value representing at least one of a data update processing performance, a data compression performance, and a data aggregation performance related to the calculated data, and according to the calculated parameter value, The data management method executes a data placement proposal creation process that identifies a database in which to store the specified items of data from among a plurality of databases having different data processing capabilities, and a data placement execution process that stores data including the data to be processed in the identified database. Effect of the Invention
[0009] According to the present invention, data in each database can be stored in an appropriate database depending on the characteristics of the data processing. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a data management system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram illustrating an example of functions (programs) included in the data management device. [Diagram 3] FIG. 13 is a diagram showing an example of a data name and location correspondence table. [Figure 4] FIG. 2 is a diagram illustrating an example of hardware included in each information processing device of the data management device and the database device. [Diagram 5] FIG. 11 is a flow diagram illustrating an example of data collection processing. [Figure 6] FIG. 11 is a flow diagram illustrating details of a query execution process. [Figure 7] FIG. 11 is a flow diagram illustrating a processing target data analysis process. [Figure 8] FIG. 11 is a flow diagram illustrating an example of a data reallocation process. [Figure 9] FIG. 13 is a diagram showing an example of a rearrangement proposal screen. [Figure 10] FIG. 11 is a flow diagram illustrating details of a placement plan creation process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] 1 is a diagram showing an example of the configuration of a data management system 1 according to this embodiment. The data management system 1 includes a data management device 10 and a plurality of database devices 20.
[0012] Each database device 20 stores a database. The types of databases stored in each database device 20 are different. When the types of databases are different, the data formats of data queries to the database and the corresponding query responses are also different.
[0013] In this embodiment, it is assumed that there are a database device 20a that stores a relational database, a database device 20b that stores a time-series database, and a database device 20c that stores a column-oriented database.
[0014] The data management device 10 performs a data processing inquiry process (query) and a process of receiving a query response to the inquiry for each of the database devices 20 storing different types of databases. In addition, the data management device 10 performs a process of proposing to relocate each database of the database devices 20 to another database based on the received query response.
[0015] The data management device 10 and each database device 20 are communicatively connected to each other via a communication network 30 such as a wired LAN (Local Area Network), a wireless LAN, the Internet, or a dedicated line.
[0016] FIG. 2 is a diagram showing an example of functions (programs) included in the data management device 10. As shown in FIG.
[0017] First, the data management device 10 accepts a data processing specification from a user regarding databases (hereinafter referred to as a database group) having different data processing capabilities stored in the database device 20. Regarding this data processing, the data management device 10 processes the database group in a unified manner (in this embodiment, by a method of treating the database group as a single relational database).
[0018] Specifically, the data management device 10 stores a data processing content input program 201, a data processing content management program 202, a query transmission program 2035, a query result format conversion program 208, and a query result output program 209.
[0019] The data processing content input program 201 receives from the user an input of data (data to be processed) to be processed on a group of databases.
[0020] The data processing content management program 202 stores information on data processing to be performed on data of each item in a database group, including data to be processed. This data information is, for example, the type of data processing (data aggregation, data reference, data update, etc.), the range of data to be processed, or the execution cycle of the data processing.
[0021] The query sending program 2035 includes a query generating program 203 , a query analyzing program 204 , a data management program 205 , and a query format conversion program 207 .
[0022] The query generation program 203 generates a command (query) in a prescribed format to be requested of each database device 20 regarding the processing target data stored in the data processing content management program 202. The query is, for example, a command requesting acquisition of data of each data item (for example, data of a prescribed row, data of a prescribed column, or prescribed time series data) from each database device 20.
[0023] The query analysis program 204 analyzes the query generated by the query generation program 203, and identifies the location of the data to be processed by the query (for example, the location on the network of each database device 20). The location of this data is stored in a data name and location correspondence table 206 provided in the table management program 205.
[0024] (Data name and location correspondence table) 3 is a diagram showing an example of the data name and location correspondence table 206. The data name and location correspondence table 206 has data items of data name 2061 in which information (for example, the name of the data item) specifying a data item (on a database) related to each piece of data to be processed is set, location 2062 in which information specifying the location of a database having the data of the data item (for example, the location on the network of the database device 20) is set, and type 2063 in which the type of the database is set. Note that information such as a row-oriented relational database (RDB), a column-oriented DB, a row-oriented DB, or a time-series DB is set in the type 2063.
[0025] Next, as shown in FIG. 2, the query format conversion program 207 generates queries that have been converted according to the location of the data identified by the query analysis program 204 and the like, according to the database device 20 (database) to which the query is requested to be processed, and transmits the generated queries to each database device 20.
[0026] Next, the query result format conversion program 208 converts the response to each query (query response) received from each database device 20 into a predetermined format (the same format as the format in the query generation program 203).
[0027] The query result output program 209 outputs the contents of the query response converted by the query result format conversion program 208 to a file or displays it on the screen.
[0028] Next, the data management device 10 analyzes the trends of the data of each database device 20 included in the query response (the data to be processed in each data item), and proposes to the user in which of the database devices 20 the data of each item including the data to be processed should be stored, i.e., proposes and executes data rearrangement.
[0029] Specifically, the data management device 10 stores the following programs: a data processing target analysis program 210, a database candidate management program 211, a data processing simulation program 212, a data relocation proposal creation program 213, a data placement proposal output program 214, and a data placement execution program 215.
[0030] The data processing target analysis program 210 executes an analysis related to the data processing indicated by the data processing content management program 202, based on the processing target data acquired from each database device 20. For example, the data processing target analysis program 210 calculates the data update range, data update frequency, required time for data update, execution cycle of data update, etc. of each database device 20 related to the processing target data.
[0031] The database candidate management program 211 stores templates of various types of databases in the database group (hereinafter referred to as database candidates).
[0032] The data processing simulation program 212 calculates (predicts) data (dummy data) of each data item of each database device 20 to be generated in a predetermined future period designated by the user, based on the analysis result of the data processing target analysis program 210. Then, the data processing simulation program 212 estimates the characteristics of data processing executed in a database including the calculated data.
[0033] Specifically, the data processing simulation program 212 creates a trial database in which dummy data is stored based on the candidate database, and executes data processing on the created trial database, thereby estimating the characteristics of the data processing.
[0034] The characteristic of the data processing to be estimated is, for example, the time required for the data processing, the frequency with which the data processing is performed, or the update frequency of the data to be processed, in a predetermined period of time in the future.
[0035] The data reallocation proposal creation program 213 creates information (database placement plan) about the database device 20 (database) that stores data of data items related to the data to be processed among the database devices 20, based on the execution result of the data processing simulation program 212.
[0036] In this embodiment, the data reallocation proposal creation program 213 creates a database reallocation proposal based on the data processing characteristics estimated by the data processing simulation program 212, and in accordance with the magnitudes of the parameters representing the data update processing performance, data compression performance, and data aggregation performance related to the data in the trial database.
[0037] The data placement proposal output program 214 displays the placement plan created by the data reallocation proposal creating program 213 on the screen.
[0038] The data placement execution program 215 executes a placement plan specified by the user from among the placement plans displayed by the data placement proposal output program 214, and stores data of data items related to the data to be processed in a database indicated by the placement plan.
[0039] Furthermore, the data management device 10 stores a communication program 216. The communication program 216 controls data transmission and reception with each database device 20.
[0040] 4 is a diagram showing an example of hardware included in each information processing device of the data management device 10 and the database device 20. Each information processing device includes a processor 101 such as a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a GPU (Graphics Processing Unit), a memory 102 such as a ROM (Read Only Memory) or a RAM (Random Access Memory), a hard disk drive, a flash drive, etc. A storage device 103 such as a flash memory or a solid state drive (SSD), An input device 104 such as a keyboard, a mouse, a card reader, or a touch panel, or a liquid crystal display (LCD), a sound output device (speaker), or An output device 105 such as a printer or the like, a network interface card (NIC), a wireless communication module, a USB (Universal Serial Interface) module, and a communication device 106 such as a communication module or a serial communication module. Each information processing device may be a computer equipped with the above-mentioned physical hardware, or may be a computer unit (virtual server) obtained by logically dividing a physical computer. Each information processing device may be a task (process or container) executed on one or more computer clusters.
[0041] The functions of each of the information processing devices are realized by the hardware of each of the information processing devices, or by the processor 101 of each of the information processing devices reading and executing a program stored in the memory 102 or the storage device 103. The above programs can be distributed by recording them on a recording medium, for example.
[0042] Next, the processing performed by the data management system 1 will be described. The data management system 1 executes a data collection process S1 to acquire data from a group of databases in a database device 20, a processing target data analysis process S301 to analyze the acquired data, and a relocation process S2 to determine to which of the database devices 20 each database in the group of databases should be relocated based on the analysis results. First, the data collection process S1 will be described.
[0043] <Data collection process> 5 is a flow diagram illustrating an example of the data collection process S1. The data collection process S1 is started, for example, when a predetermined input is received from a user, at a predetermined timing (for example, at a predetermined time or at a predetermined time interval), or when the database of the database device 20 is updated.
[0044] The data processing content input program 201 of the data management device 10 receives an input of data processing to be performed on a group of databases from a user (S101).
[0045] That is, the data processing content input program 201 accepts an input of a type of data processing. For example, the data processing content input program 201 accepts a designation to refer to data or to aggregate data.
[0046] The data processing content input program 201 also accepts input of a data processing method and content. The inputs accepted are the source, the range in the database for which data processing is to be performed, the appearance period of the data within that data range that is actually to be processed (e.g., the data aggregation period), the execution period of the data processing, or the function to be used for data processing (e.g., a function for calculating an average value or a total value).
[0047] The data processing content management program 202 stores the information inputted by the data processing content input program 201 (S102).
[0048] The query generation program 203 generates a query for implementing the data processing input in S101 (S103). This query is a command based on a predetermined format (hereinafter, referred to as a standard format), for example, based on SQL (Structured Query Language).
[0049] The data management device 10 executes data processing for each database device 20 based on the query generated in S103, and performs a query execution process to display the contents of the query response received from each database device 20 on a screen or output to a file (S104). If execution conditions such as an execution period are input in S101, the data management device 10 executes the query execution process S104 according to the execution conditions input in S102. Details of the query execution process S104 will be described next. This completes the data collection process S1.
[0050] <Query execution process> 6 is a flow diagram illustrating details of the query execution process S104. The query analysis program 204 first analyzes the query generated and transmitted in S103, and identifies the processing target data (specifically, the data item name) indicated by the query (S201).
[0051] The query analysis program 204 identifies the location (database) of each piece of processing target data identified in S201 (S202). For example, the query analysis program 204 acquires the data item name of each piece of processing target data identified in S201, and identifies the database device 20 (database) in which the data of the acquired data item name is stored by referring to each record of the data name and location correspondence table 206.
[0052] The query format conversion program 207 converts the query sent in S103 into a query in a format corresponding to each database according to the type of each database specified in S202 (for example, type 2063 of data name and location correspondence table 206). Then, the query format conversion program 207 transmits each converted query to each database device 20 (S203).
[0053] The database device 20 that receives each query performs data processing indicated by the query, and transmits the processing result (a query response including the data to be processed) to the data management device 10.
[0054] The query result format conversion program 208 converts the data format of the query response received from each database device 20 into a standard format (S204).
[0055] The query result output program 209 displays the contents of the query response created by the conversion in S204 on the screen or outputs it to a specified file (S205). This ends the query execution process S104.
[0056] Next, the processing target data analysis process S301 will be described. <Analysis of data to be processed> FIG. 7 is a flow diagram for explaining the processing target data analysis process S301. The analysis process S301 is executed repeatedly when a specified input is received from the user, when the data management device 10 receives data to be processed from the database device 20, or at a specified timing (e.g., at a specified time or at specified time intervals).
[0057] That is, the data processing target analysis program 210 analyzes the processing target data that the data management device 10 has accumulated up to now.
[0058] For example, the data processing target analysis program 210 calculates the update frequency of a data item or a database related to the processing target data. Also, for example, the data processing target analysis program 210 calculates the distribution of values of updated data by calculating a distribution function that represents the distribution of values of the processing target data. Also, for example, the data processing target analysis program 210 analyzes the trend of time-series changes in the values of the processing target data and calculates a prediction function that represents the trend. This ends the processing target data analysis process S301.
[0059] <Data relocation process> 8 is a flow diagram illustrating an example of the data rearrangement process S2. The data rearrangement process S2 is executed, for example, when a predetermined input is received from the user, or at a predetermined timing (for example, at a predetermined time or at a predetermined time interval).
[0060] First, the data processing simulation program 212 sets a future period (hereinafter referred to as a user-set period; for example, three years from now) that will be the basis for determining whether to reallocate data. The user-set period may be set by a user input, or may be automatically set by the data processing simulation program 212. The user-set period may be a continuous period, or may be a plurality of time zones that are periodically repeated.
[0061] Then, the data processing simulation program 212 estimates the data contents in the database of each database device 20 during the user-set period based on the analysis result of the processing target data analysis process S301, i.e., creates dummy data (S401). For example, the data processing simulation program 212 calculates each data value or fluctuation of data values to be set in the database of each database device 20 during the user-set period based on the update frequency, prediction function, distribution function, or the like calculated in S301.
[0062] The data processing simulation program 212 acquires each database candidate by calling the database candidate management program 211, and creates a database of null information (trial database) related to each acquired database candidate. Then, the data processing simulation program 212 sets the data (dummy data) estimated in S401 in each created trial database (S402).
[0063] The data processing simulation program 212 executes the data processing set in S101 for each trial database set in S402 (S403). At this time, the data processing simulation program 212 measures the processing time required for each executed data processing. Furthermore, with regard to the execution of data processing for each trial database, the data processing simulation program 212 stores the execution frequency of the data processing (which is referred to as the execution period in this embodiment) and the update frequency of the data that is the subject of the data processing.
[0064] The data reallocation proposal creating program 213 executes a placement plan creating process to create a placement plan based on the processing time, execution frequency, and update frequency calculated in S403 (S404). The placement plan creating process S404 will be described in detail later.
[0065] The data placement proposal output program 214 outputs the placement plan created in the placement plan creation process S404. At the same time, a rearrangement proposal screen is displayed which accepts an input from the user as to whether or not to execute the displayed rearrangement proposal (S405).
[0066] (Relocation proposal screen) 9 is a diagram showing an example of a reallocation proposal screen 300. The reallocation proposal screen 300 includes a data name display field 301 which is a list of data items related to the data to be processed, a reallocation destination display field 302 which is a database (database device) to which the data related to the data item will be placed, and an execution confirmation field 303 for asking whether or not to execute a reallocation to the destination.
[0067] 8, the data placement execution program 215 executes the placement plan created in S405 for the processing target data for which input to execute the placement plan has been received from the user (S406). Specifically, the data placement execution program 215 transmits data of data items related to each processing target data from each current database device 20 to each destination database device 20 (at that time, data format conversion is also performed). This ends the data reallocation process S2. Here, the placement plan creation process S404 will be described in detail.
[0068] FIG. 10 is a flow diagram illustrating the placement plan creation process S404 in detail. The data reallocation proposal creation program 213 judges whether the processing time for the data to be processed measured in S403 is greater than a predetermined threshold (S501). If the processing time is greater than the predetermined threshold (S501: YES), the data reallocation proposal creation program 213 executes the processing of S502, and if the processing time is not greater than the predetermined threshold (S501: NO), the data reallocation proposal creation program 213 executes the processing of S503.
[0069] In S502, the data reallocation proposal creating program 213 displays predetermined warning information on the screen, and the data reallocation proposal creating process S404 ends.
[0070] In S503, the data reallocation proposal creation program 213 judges whether the update frequency of the data to be processed (a parameter value indicating data update processing performance) is higher than a predetermined threshold value. If the update frequency is higher than the predetermined threshold value (S503: YES), the data reallocation proposal creation program 213 executes the process of S507, and if the update frequency is not higher than the predetermined threshold value (S503: NO), the data reallocation proposal creation program 213 executes the process of S504.
[0071] In S504, the data relocation proposal creation program 213 determines whether the ratio of data processing time (for time series data) to the time series DB calculated in S403 relative to the execution period calculated in S403 is higher than a predetermined threshold value for the data to be processed (parameter value representing data compression performance).
[0072] If the ratio of data processing time to the execution cycle is not higher than a predetermined threshold (if data compression performance is high) (S504: NO), the data reallocation proposal creation program 213 generates information proposing that the data to be processed be placed in a database device 20 equipped with a time-series DB (S505), and the placement plan creation process S404 ends.
[0073] If the ratio of data processing time to the execution cycle is higher than a predetermined threshold value (S504: YES), the data reallocation proposal creation program 213 generates information proposing that the data to be processed be placed in a database device 20 equipped with a column-oriented DB (S506), and the placement plan creation process S404 ends.
[0074] In addition, in S605, the data relocation proposal creation program 213 In relation to this, it may be determined whether the ratio of the data processing time for the column-oriented DB calculated in S403 to the execution period calculated in S403 (parameter value representing data aggregation performance) is lower than a predetermined threshold, and only if the ratio is lower than the predetermined threshold (if the data aggregation performance is high), information proposing to place the data to be processed in a database device 20 equipped with a column-oriented DB may be generated.
[0075] Next, in S507, the data relocation proposal creation program 213 determines whether the ratio of the data processing time (on a row-by-row basis) to the RDB calculated in S403 relative to the execution period calculated in S403 for the data to be processed (a parameter representing the data update function) is higher than a predetermined threshold value.
[0076] If the ratio of data processing time to the execution cycle is higher than a predetermined threshold value (S507: YES), the data reallocation proposal creation program 213 generates information proposing that the data to be processed be placed in a database device 20 equipped with a row-oriented DB (i.e., a database device 20 equipped with an RDB), but that the data processing be performed using a column-oriented DB (S509), and the placement plan creation process S404 ends.
[0077] If the ratio of data processing time to the execution cycle is below a predetermined threshold (S507: NO), the data relocation proposal creation program 213 generates information proposing that the data to be processed be placed in a database device 20 equipped with a row-oriented DB (i.e., a database device 20 equipped with an RDB) (S508), and the placement plan creation process S404 ends.
[0078] As described above, the data management device 10 of this embodiment analyzes the data to be processed of a specific data item obtained from a database, calculates the data of that data item to be generated in a future period, estimates the characteristics of the data processing to be executed in the database including the calculated data, identifies a database among a group of databases in which to store the data of that data item based on the estimated characteristics of the data processing, and stores the data including the data to be processed in that database.
[0079] That is, the data management device 10 of this embodiment estimates the characteristics of the data processing by making a prediction of future data processing for the data to be processed and creating dummy data, and specifies the database in which the data should be placed based on the estimation result. This allows the data in each database to be managed in an appropriate database according to the characteristics of the data processing.
[0080] In particular, the data management device 10 of this embodiment creates a trial database in which dummy data is stored, and executes data processing on the created trial database to estimate the characteristics of the data processing. In this way, by actually creating a database, the characteristics of the data processing can be accurately estimated.
[0081] Furthermore, the data management device 10 of this embodiment calculates parameter values representing data update processing performance, data compression performance, and data aggregation performance related to dummy data based on the data processing time in the future period, the execution frequency of data processing, and the data update frequency, and identifies a database accordingly. This makes it possible to identify an appropriate database according to the characteristics of the data processing performance of each database.
[0082] For example, the data management device 10 of the present embodiment estimates the update frequency of data in a future period, and if a parameter value representing the data update frequency exceeds a predetermined threshold, identifies a row-oriented database (such as an RDB). This makes it possible to utilize the characteristics of a row-oriented database with high update performance.
[0083] Furthermore, in this case, when the parameter value representing the data update frequency exceeds a predetermined threshold value and the parameter value representing the time required for row-by-row data processing in a future period exceeds a predetermined threshold value, the data management device 10 of this embodiment specifies that a row-oriented database is used as the storage destination, but that a column-oriented database is used for data processing. This makes it possible to utilize the advantages of both a row-oriented database with high update performance and a column-oriented database with high column-by-column data processing capability.
[0084] Furthermore, the data management device 10 of the present embodiment identifies a time-series database when a parameter value representing the time required for data processing of time-series data in the future period does not exceed a predetermined threshold value. This makes it possible to utilize the characteristics of a time-series database, which has excellent data compression performance.
[0085] Furthermore, the data management device 10 of the present embodiment identifies a column-oriented database when a parameter value representing the time required for column-by-column data processing in the future period does not exceed a predetermined threshold value. This makes it possible to utilize the characteristics of a column-oriented database (e.g., an RDB) that has excellent data aggregation performance (by column).
[0086] Furthermore, the data management device 10 of this embodiment can prompt the user to confirm whether or not to perform the relocation by displaying information on the database identified as the relocation destination on the screen.
[0087] In addition, the data management device 10 of this embodiment generates queries corresponding to each database group by converting the standard format query, transmits the generated queries to the database group, receives response data from the database group, and converts each received response data into the standard format.The data management device 10 then acquires each converted response data as processing target data.
[0088] As a result, even if there are databases with different compatible formats, data in a unified standard format can be easily obtained regardless of the format, and the destination database can be quickly identified.
[0089] The present invention is not limited to the above-described embodiment, and can be implemented using any components without departing from the scope of the present invention. The above-described embodiments and modifications are merely examples, and the present invention is not limited to these contents as long as the features of the invention are not impaired. In addition, although various embodiments and modifications have been described above, the present invention is not limited to these contents. Other aspects conceivable within the scope of the technical idea of the present invention are also included in the scope of the present invention.
[0090] For example, some of the functions provided in each device of the present embodiment may be provided in another device, and functions provided in another device may be provided in the same device.
[0091] Furthermore, the type of database managed by the data management device 10 is not limited to the one described in this embodiment, and other types of databases may be used.
[0092] In addition, in this embodiment, it is assumed that one type of database is stored in one database device 20, but it may also be possible that multiple types of databases are stored in one database device 20 and the data management device 10 accesses each database of the database device 20.
[0093] In addition, the data management device 10 has a data collection performance, a data compression performance, and a data collection performance. are calculated based on the data processing time, the data update time, and the data update period, but these performances may be calculated using other parameters.
[0094] Furthermore, the data management device 10 may calculate performance other than the data collection performance, the data compression performance, and the data collection performance.
[0095] Furthermore, although the data management device 10 employs the SQL format as the standard format, other formats may also be used. [Explanation of symbols]
[0096] 1 Data management system, 10 Data management device, 20 Database device, 212 Data processing simulation program, 213 Data relocation proposal creation program, 215 Data relocation execution program
Claims
1. A processor and a memory, a data processing simulation unit that calculates data of a predetermined item to be generated in a predetermined future period by analyzing processing target data of the predetermined item acquired from a database, and estimates at least one of a time required for the data processing, an execution frequency of the data processing, and an update frequency of the data in the predetermined future period as characteristics of data processing to be executed in the database including the calculated data; a data placement proposal creating unit that calculates a parameter value representing at least one of a data update processing performance, a data compression performance, and a data aggregation performance related to the calculated data based on the estimated data processing characteristics, and identifies a database that stores the data of the predetermined item among a plurality of databases having different data processing performances according to the calculated parameter value; a data placement execution unit that stores data including the processing target data in the specified database; A data management device comprising:
2. 2. The data management device according to claim 1, wherein the data processing simulator creates a trial database in which the calculated data is stored, and executes data processing on the created trial database, thereby estimating characteristics of the data processing.
3. the data processing simulator estimates, as a characteristic of the data processing, a data update frequency in the predetermined future period; the data placement proposal creation unit determines whether or not a parameter value representing an update frequency of the estimated data exceeds a predetermined threshold, and if the parameter value exceeds the threshold, identifies a row-oriented database as a database for storing the data of the predetermined item. The data management device according to claim 1 .
4. the data processing simulation unit estimates, as characteristics of the data processing, a data update frequency and a time required for data processing on a row-by-row basis in the predetermined future period; the data placement proposal creation unit determines whether a parameter value representing the estimated update frequency of the data exceeds a predetermined threshold, and if the parameter value exceeds the threshold, determines whether a parameter value representing a time required for data processing on a row-by-row basis exceeds a predetermined threshold, and if the parameter value exceeds the threshold, identifies a row-oriented database as a database for storing data of the predetermined item and identifies a column-oriented database as a database for processing data of the predetermined item. The data management device according to claim 3 .
5. the data processing simulation unit estimates, as a characteristic of the data processing, a time required for data processing of the time-series data in the predetermined future period; the data placement proposal creation unit determines whether or not a parameter value representing the estimated time required for data processing exceeds a predetermined threshold, and if the parameter value does not exceed the threshold, identifies a time-series database as a database for storing the data of the predetermined item. The data management device according to claim 1 .
6. the data processing simulator estimates, as a characteristic of the data processing, a time required for data processing on a column-by-column basis in the predetermined future period; the data placement proposal creation unit determines whether or not a parameter value representing the estimated time required for data processing exceeds a predetermined threshold, and if the parameter value does not exceed the threshold, identifies a column-oriented database as a database for storing the data of the predetermined item. The data management device according to claim 1 .
7. The data management device according to claim 1 , further comprising a data placement proposal output unit that displays information about the identified database on a screen.
8. a query transmission unit that generates queries corresponding to a plurality of databases having different data processing capabilities by creating a query in a predetermined format and performing a predetermined conversion on the created query, and transmits the generated queries to each of the plurality of databases, thereby receiving response data to each of the transmitted queries from the plurality of databases; a query result format conversion unit that converts each of the received response data into the predetermined format; the data processing simulation unit acquires each of the converted response data as processing target data of the predetermined item; The data management device according to claim 1 .
9. An information processing device, a data processing simulation process for calculating data of a predetermined item to be generated in a predetermined future period by analyzing data to be processed of a predetermined item obtained from a database, and estimating at least one of a time required for the data processing, an execution frequency of the data processing, and an update frequency of the data in the predetermined future period as characteristics of data processing to be executed in the database including the calculated data; a data placement proposal creation process for calculating a parameter value representing at least one of a data update processing performance, a data compression performance, and a data aggregation performance related to the calculated data based on the estimated data processing characteristics, and for identifying a database in which the data of the predetermined item is to be stored, among a plurality of databases having different data processing performances, in accordance with the calculated parameter value; and a data allocation execution process for storing data including the processing target data in the specified database; A data management method that performs the above.
Citation Information
Patent Citations
Method and device for converting data base operation program
JP1998091494A
Information processing apparatus
JP2010224824A
Access control device, access control method and program
JP2013182310A
Query mediator, method of querying polyglot data tier and computer program executable to implement method of querying polyglot data tier
JP2016207202A
Searching means selecting program, searching means selecting method and searching means selecting device
JP2018060379A