WO2017017748A1 - Computer system and sampling method - Google Patents
Computer system and sampling method Download PDFInfo
- Publication number
- WO2017017748A1 WO2017017748A1 PCT/JP2015/071196 JP2015071196W WO2017017748A1 WO 2017017748 A1 WO2017017748 A1 WO 2017017748A1 JP 2015071196 W JP2015071196 W JP 2015071196W WO 2017017748 A1 WO2017017748 A1 WO 2017017748A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sampling
- data
- index
- characteristic
- computer system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Definitions
- the present invention generally relates to a sampling technique using a computer.
- Patent Document 1 describes a stratified extraction mechanism provided in a database system.
- the stratification extraction mechanism defines a phrase meaning a request for stratification extraction in a query.
- Data from the source table is classified into different subgroups based on the stratification conditions in the query. Sampling is performed by subgroup.
- the work accuracy (for example, analysis accuracy) may be greatly reduced as compared to the case where the entire population is the search target. This problem is not limited to cases where the population is a database.
- the computer system identifies a task associated with a sampling candidate data group that is one or more sampling candidate data.
- the computer system sets the sampling conditions according to the sampling rule corresponding to the specified business characteristics based on the management information, which is information including information indicating the relationship between the business including the data search and the business characteristics and the sampling rule. decide.
- the computer system samples data that meets the determined sampling condition from the sampling candidate data group. Sampling results are referenced during data retrieval performed in the identified business. At least one of a sampling data group that is one or more sampling data including the sampled data and a sampling index that is an index of the sampling data group is used in a data search performed in the specified job. Referenced sampling result.
- sampling condition is a condition that follows a sampling rule corresponding to the characteristics of the business for which data search is to be performed. For this reason, high accuracy is expected as the accuracy of the work including the search with the sampling result as the search target.
- summary of embodiment is shown.
- a configuration example of the entire system is shown.
- the structural example of business management information is shown.
- the structural example of characteristic management information is shown.
- the structural example of a sampling index is shown.
- the structural example of rule management information is shown.
- the structural example of relationship management information is shown.
- An example of characteristic input GUI is shown.
- An example of the flow of a data addition process is shown.
- An example of the flow of a sampling process is shown.
- An example of the flow of a sampling condition determination process is shown.
- An example of the flow of maintenance processing is shown.
- An example of the flow of a thinning process is shown.
- An example of the flow of search processing is shown.
- the structural example of the search query by which the sampling index was designated is shown.
- An example of the flow of a definition process is shown.
- a configuration example of a definition query in which a sampling index is specified is shown.
- bbb unit or bbb accelerator
- these functional units perform processing determined by being executed by the processor as a memory and a communication port (network). I / F) can be used, and therefore the description may be made with the processor as the subject.
- the processor typically includes a microprocessor (for example, CPU (Central Processing Unit)), and further includes dedicated hardware (for example, ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)). Good.
- the processing disclosed with these functional units as the subject may be processing performed by a computer. In addition, some or all of these functional units may be realized by dedicated hardware.
- Various functional units may be installed in each computer by a program distribution server or a computer-readable storage medium.
- Various functional units and servers may be installed and executed on one computer, or may be installed and executed on a plurality of computers.
- the processor is an example of a control unit, and may include a hardware circuit that performs part or all of the processing.
- the program may be installed in a computer-like device from a program source.
- the program source may be, for example, a storage medium that can be read by a program distribution server or a computer.
- the program distribution server may include a processor (for example, a CPU) and a storage unit, and the storage unit may further store a distribution program and a program to be distributed.
- the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
- two or more programs may be realized as one program, or one program may be realized as two or more programs.
- the “storage unit” may be one or more storage devices including a memory.
- the storage unit may be at least a main storage device of a main storage device (typically a volatile memory) and an auxiliary storage device (typically a nonvolatile storage device).
- a “population” is a data group (one or more data).
- the “additional data group” is one or more additional data.
- Additional data is data added to the population.
- “Sampling” refers to extracting data from at least one of a population and an additional data group.
- “Sampling data” is data extracted from at least one of the population and the additional data group, that is, sampled data.
- the “sampling data group” is one or more sampling data.
- FIG. 1 shows an example of an outline of the embodiment.
- Table 221 (table name “Table1”) is an example of a population.
- An additional data group that is one or more additional data 232 is repeatedly added to the table 221 (for example, regularly or irregularly).
- the number of additional data 232 constituting the additional data group may not be constant.
- the table 221 and at least the table 221 of the additional data group may be so-called big data.
- the sampling index 223 is associated.
- the sampling index 223 is an index of a part of the population (sampling data group), not the entire population.
- the sampling index 223 may be a set of a plurality of data IDs (for example, pointers) respectively indicating a plurality of sampling data constituting the sampling data group.
- the data composition ratio of the sampling index 223 is maintained to be the same as the data composition ratio of the table 221.
- the “data composition ratio” is a plurality of data ratios respectively corresponding to a plurality of value ranges, and may be a frequency distribution, for example.
- the “value range” may be a range composed of a minimum value and a maximum value, but may be a single value.
- the data ratio in the value range is the ratio of the number of target data to the total number of source data.
- the “total number of source data” is the number of data constituting the source data group (for example, the number of data IDs constituting the sampling index 223 or the number of data constituting the table 221 (eg, the number of records)).
- the “number of target data” in the value range is the number of data (or data ID of the data) including the values belonging to the value range.
- the computer performs data addition processing (S101), sampling processing (S102), maintenance processing (S103), and search processing (S104).
- the data addition process for example, the following process is performed. That is, the computer adds an additional data group to the table 221.
- a sampling process (S102) and a maintenance process (S103) are performed.
- Sampling processing includes, for example, data acquisition (S102-1), condition determination (S102-2), and data sampling (S102-3).
- the computer acquires the business ID “BID1” corresponding to the sampling index name “S-Index1” of the sampling index 223 in the addition destination table 221 from the business management information 224 indicating the relationship between the sampling index name and the business ID. . Further, the computer acquires the characteristic details “PID1 / Y” and “PID2 / N” corresponding to the business ID “BID1” from the characteristic management information 225 indicating the relationship between the business ID and the characteristic details.
- the computer acquires the sampling rules “rule F” and “rule G” corresponding to the characteristics “PID1 / Y” and “PID2 / N” from the rule management information 226 representing the relationship between the characteristics and the sampling rules. . Further, the computer obtains the inter-characteristic relationship “PID1 AND ⁇ PID2” corresponding to the business type of the business ID “BID1” from the relationship management information 227 indicating the relationship between the business type and the inter-characteristic relationship.
- the relationship between characteristics is a relationship between characteristics, for example, a combination of a characteristic ID and a logical operator.
- the computer combines the sampling rules “Rule F” and “Rule G” corresponding to the characteristics “PID1 / Y” and “PID2 / N”, respectively, according to the inter-characteristic relationship “PID1 AND ⁇ PID2”.
- the AND rule G is determined. That is, each of the plurality of characteristic IDs in the inter-characteristic relationship “PID1 AND PID2” is replaced with a sampling rule corresponding to the characteristic details including the characteristic ID, and as a result, the sampling condition “rule F AND rule G” is generated. Is done.
- the “sampling condition” is a condition of data to be sampled.
- data sampling for example, the following processing is performed. That is, the computer samples data that satisfies the sampling condition “rule F AND rule G” from the additional data group.
- the computer adds the data ID (for example, a pointer) of sampling data (data sampled from the additional data group) added to the table 221 to the sampling index 223 of the table 221. That is, the computer maintains the sampling index 223 associated with the table 221 to which the sampling data is added based on the result of the sampling process (S102).
- the data ID for example, a pointer
- sampling data data sampled from the additional data group
- the computer determines whether or not the sampling index 223 is specified by a search query from a query issuer (for example, a client computer). If there is a description (for example, “QUICK S-Index1”) that means the sampling index 223 in the search query, the determination result is affirmative. If the determination result is affirmative, the computer obtains data that matches the search condition specified by the search query from only a part (sampling data group) of the table 221 through the sampling index 223 of the table 221 specified by the search query. look for. If the determination result is negative, the computer searches the entire table 221 specified by the search query for data that matches the search condition specified by the search query.
- a query issuer for example, a client computer.
- the computer according to the present embodiment is applied to a computer of an electric power company.
- a power company computer receives power consumption data (data representing power consumption) in a first period (for example, every minute) from sensors installed on the switchboards of each household.
- the computer accumulates the received power consumption data in the DB table at a second period that is the same as or different from the first period (for example, every 5 minutes). Therefore, the table is an example of the population, and the power consumption data group stored in the table is an example of the additional data group.
- the amount of power consumption data group depends on the number of households, but is generally large. It takes a long time to calculate the latest average power consumption using all of the power consumption data group. Therefore, a sampling index corresponding to a part of the table 221 is prepared, and when the power consumption data group is added, the computer samples and samples data from the power consumption data group according to the characteristics of the analysis work described above.
- the sampling index is maintained based on the collected power consumption data. Sampling indexes are referenced in searches in analytical work. Since the sampling index is updated when the power consumption data group is added, it is expected that the sampling index to be referenced is always maintained in the latest state. Further, since the sampling index is used instead of the sampling data group, the used capacity (consumed storage capacity) can be suppressed. Since the sampling index is maintained based on the data sampled according to the characteristics of the analysis work, it is expected that the work including the search using the sampling index has high accuracy.
- the additional data group is an example of a sampling candidate data group (one or more sampling candidate data).
- a population as shown in Table 221 may be adopted instead of or in addition to the additional data group.
- the sampling index 223 is an example of the sampling result.
- a sampling data group such as a part of the table 221 may be adopted. That is, the sampling index 223 may not be provided. In that case, however, the sampling data group is stored in the storage device in addition to the table 221. As a result, the used capacity of the storage device is large. This problem is even greater when table 221 is big data. For this reason, it is preferable to employ the sampling index 223 instead of the sampling data group as the sampling result as in this embodiment.
- FIG. 2 shows a configuration example of the entire system.
- the terminal device 201 and the external storage device 220 are connected to the computer 209.
- the terminal device 201 is an example of a client system.
- the terminal device 201 includes an I / F (interface device) 11, an input device 202, a display device 203, a memory 12, and a CPU 207 connected thereto.
- the I / F 11 is connected to the computer 209 via the first communication network 208.
- the input device 202 may be a keyboard and a pointing device.
- the display device 203 may be a liquid crystal display or the like.
- the input device 202 and the display device 203 may be integrated like a touch panel.
- the memory 12 stores an OS (Operating System) 206 and a business program 205.
- the CPU 207 executes these programs.
- the business program 205 issues a query such as a search query to the computer 209 for business.
- the query is described in, for example, SQL (Structured Query Language).
- the computer 209 is an example of a computer system.
- the computer 209 includes an FE-I / F (front end interface device) 210, a BE-I / F (back end interface device) 241, a memory 200, and a CPU 219 connected to them.
- the FE-I / F 210 and the BE-I / F 241 are examples of interface devices.
- the memory 200 is an example of a storage unit.
- the CPU 219 is an example of a processor.
- the terminal device 201 is connected to the FE-I / F 210 via the first communication network 208.
- An external storage device 220 is connected to the BE-I / F 241 via a second communication network (not shown). There may be no at least one of the first and second communication networks, or they may be the same communication network.
- the memory 200 stores an OS 211 and a DBMS (Database Management System) 212.
- the CPU 219 executes those programs.
- the DBMS 212 includes a query control unit 213, a search unit 214, a definition unit 215, a data addition unit 216, a sampling unit 217, and a maintenance unit 218.
- the query control unit 213 receives a query and processes the query. For query processing, the query control unit 213 can call at least one of the search unit 214, the definition unit 215, the data addition unit 216, the sampling unit 217, and the maintenance unit 218 as necessary.
- the search unit 214 can execute a search with reference to the sampling index 223.
- the definition unit 215 can execute the definition of the sampling index 223.
- the data addition unit 216 performs addition of an additional data group, specifically, the above-described data addition process (S101).
- the sampling unit 217 performs sampling of data from the additional data group, specifically, the above-described sampling process (S102).
- the maintenance unit 218 performs maintenance of the sampling index 223, specifically, the above-described maintenance process (S103).
- the external storage device 220 may be a storage system having a plurality of storage devices, for example.
- a plurality of storage devices may constitute one or more RAID (Redundant Array of Independent (or Inexpensive) Disks) groups.
- Each storage device in the RAID group is a non-volatile storage device, and may be, for example, an HDD (Hard Disk Drive) or an SSD (Solid Disk Drive).
- the external storage device 220 stores a DB 242, business management information 224, characteristic management information 225, rule management information 226, relationship management information 227, DB management information 228, and characteristic GUI (Graphical User Interface) information 230.
- At least one of the DB 242, business management information 224, characteristic management information 225, rule management information 226, relationship management information 227, DB management information 228, and characteristic GUI information 230 may be stored in the memory 200 of the computer 209. That is, for example, the computer 209 may be an in-memory database system. Further, for example, a combination of the computer 209 and at least a part of the external storage device 220 may be an example of a computer system. For example, at least a part of the external storage device 220 may be a part of the storage unit. Further, the different types of information described above may be integrated into the same information, or may be divided into further different information. For example, the characteristic management information 225 (see FIG. 4) and the relationship management information 227 (see FIG. 7) may be integrated into one.
- the DB 242 includes a table 221, a normal index 222, and a sampling index 223.
- the table 221 typically includes a plurality of columns and a plurality of records. At least a part of the record is an example of data constituting the table 221.
- One or more normal indexes 222 are associated with the table 221.
- One or more sampling indexes 223 are associated with at least one table 221. All normal indexes 222 associated with the table 221 refer to the entire table 221. All sampling indexes 223 associated with the table 221 refer to a part of the table 221.
- the normal index 222 is any index other than the sampling index 223, and is typically a general index.
- the sampling index 223 is an index having a data ID of sampled data.
- both the normal index 222 and the sampling index 223 may have a list structure or a B-tree structure (FIG. 5 shows a configuration example of the sampling index 223).
- the business management information 224, characteristic management information 225, rule management information 226, relationship management information 227, and characteristic GUI information 230 will be described later.
- Information including business management information 224, characteristic management information 225, rule management information 226, and relationship management information 227 is an example of management information.
- the characteristic GUI information 230 may be included in the management information.
- the management information may further include DB management information 228.
- the DB management information 228 includes information related to the DB 242.
- the DB management information 228 is information that represents the number of data IDs (for example, the number of pointers) that the sampling index 223 has for each sampling index 223, and information that represents the relationship between the table 221 and the indexes (the normal index 222 and the sampling index 223).
- Index management information that is:
- FIG. 3 shows a configuration example of the business management information 224.
- the business management information 224 represents the relationship between the sampling index 223 and the business. Specifically, for example, the business management information 224 has entries corresponding to the sampling indexes 223, respectively. Each entry includes information such as a sampling index name 301 and a business ID 302.
- the sampling index name 301 represents the name of the sampling index 223 (may be another type of ID).
- the business ID 302 is a business ID.
- FIG. 4 shows a configuration example of the characteristic management information 225.
- the characteristic management information 225 represents the relationship between the business and the business characteristics. Specifically, for example, the characteristic management information 225 has an entry corresponding to each business. Each entry includes information such as a business ID 401, a characteristic ID 402, and an input value 403. A combination of the characteristic ID 402 and the input value 403 is characteristic details. A characteristic ID 402 is an ID of the characteristic. An input value 403 is a value input for the characteristic. The entry includes all the characteristic details belonging to the corresponding business. In other words, a business may be represented with one or more characteristic details. There are one or more characteristics per job.
- FIG. 6 shows a configuration example of the rule management information 226.
- the rule management information 226 represents the relationship between characteristics (characteristic details) and sampling rules. Specifically, for example, the rule management information 226 has an entry corresponding to each characteristic. Each entry includes information of a characteristic ID 601, an input value 602, a sampling rule 603, an external input 604, and an acquisition source 605.
- the sampling rule 603 represents a data sampling rule.
- the “data generation ID” is an ID that uniquely identifies a subject that generates data (for example, a sensor ID that uniquely identifies a sensor that generates sensor data)
- the “sampling ratio” is This is the ratio of the number of additional sampled data (number of sampled additional data 232) to the total number of additional data (number of additional data 232 constituting the additional data group).
- the external input 604 represents a value input from the outside of the sampling unit 217 (DBMS 212) when the sampling condition is determined.
- An acquisition source 605 represents an acquisition source 605 (input source) of a value represented by the external input 604.
- the characteristic details and the sampling rule 603 correspond one-to-one. According to the example of FIG. 6, for example, the following can be said.
- the sampling rule 603 corresponding to the characteristic detail “PID4 / Y” the data is sampled so that the composition ratio of the sampling index 223 is the same as that of the table 221 with which the sampling index 223 is associated. (Sampling index 223 is maintained).
- the external input 604, and the acquisition source 605 corresponding to the characteristic details “PID5 / Y” the priority of the additional data 232 is input by the user, and the higher the input priority, the higher the priority. Will be sampled.
- the “user” referred to in the present embodiment is a user of the terminal device 201, but may be an administrator of the computer 209.
- “external storage” of the acquisition source 605 means the external storage device 220.
- the characteristic details are classified into two, “Y” or “N”, for each characteristic.
- the number of characteristic details is not limited to two for at least one characteristic, and even one An integer of 3 or more may be used.
- FIG. 7 shows a configuration example of the relationship management information 227.
- the relationship management information 227 represents the relationship between the business and the relationship between characteristics. Specifically, for example, the relationship management information 227 has an entry corresponding to each business type. Each entry includes information such as a job type 701, a job ID 702, a characteristic ID 703, and a characteristic relationship 704.
- the business type 701 represents the business type 701.
- the business ID 702 is an ID of a business that belongs to the corresponding business type 701.
- a characteristic ID 703 is an ID of a characteristic belonging to the corresponding business type 701.
- the inter-characteristic relationship 704 represents a relationship between characteristics belonging to the corresponding business type 701.
- the inter-characteristic relationship 704 is that one characteristic ID.
- the inter-characteristic relationship 704 is a plurality of characteristic IDs connected in series with one or more logical operators (for example, “AND” or “OR”).
- the inter-characteristic relationship 704 is not limited to concatenation of a plurality of characteristic IDs by a logical operator, but according to such a configuration of the inter-characteristic relationship 704, elements such as a logical operator and a characteristic ID are added, deleted, or changed It is considered that the convenience is high because the relationship 704 between the characteristics is changed by simply doing.
- the DBMS 212 determines from the relationship management information 227 the inter-characteristic relationship “PID1 AND PID2 AND PID5 AND PID6 corresponding to the business type“ sensor data analysis ”to which the business ID“ BID2 ”belongs. ”Is specified. Further, it is assumed that the DBMS 212 specifies the characteristic details “PID1 / Y”, “PID2 / Y”, “PID5 / Y”, and “PID6 / Y” corresponding to the business ID “BID2” from the characteristic management information 225.
- the sampling condition is “sampling rule corresponding to PID1 / Y sampling rule corresponding to PID2 / Y sampling rule corresponding to AND PID5 / Y sampling rule corresponding to AND PID6 / Y”. That is, each characteristic ID in the inter-characteristic relationship is replaced with a sampling rule (sampling rule 603 specified from the rule management information 226) corresponding to the characteristic details including the characteristic ID. As a result, the sampling condition is a set of sampling rules that follow the relationship between characteristics.
- FIG. 8 shows an example of the characteristic input GUI.
- the characteristic input GUI 800 is a GUI generated and displayed based on the characteristic GUI information 230 corresponding to the GUI.
- the characteristic input GUI 800 is an example of a UI (user interface) that receives an input of business characteristics.
- the characteristic input GUI 800 is provided to the terminal device 201 by the DBMS 212 and displayed on the display device 203 of the terminal device 201.
- the characteristic input GUI 800 may be provided and displayed on the terminal device 201 used by the administrator of the computer 209.
- the characteristic input GUI 800 (characteristic GUI information 230), the characteristic detail sub-UI 802 is displayed.
- the sub UI 802 for at least one characteristic, a characteristic ID, a characteristic content, an input value, and supplementary items are displayed.
- the sub UI for the input value may be a plurality of radio buttons respectively corresponding to a plurality of selectable input values.
- the supplementary matter is an example of providing the necessity of input for at least one characteristic.
- the supplementary items indicate whether or not the characteristics corresponding to the supplementary items are required to be input according to the business type specified by the user.
- the supplementary matter may further include a sentence representing a specific example (for example, for the characteristic ID “PID4”, “maintaining the composition ratio of 20% male data and 80% female data”).
- the characteristic input GUI 800 may include a sub UI 801 that receives a job type from the user.
- the DBMS 212 enables input only for characteristics that are required to be input (for example, only for a characteristic ID corresponding to the input business type), and for characteristics that do not require input (for example, (For characteristic IDs that do not correspond to the entered business type), the input may be disabled (for example, “no input” may be automatically selected).
- Automatic enabling / disabling of inputs may also be an example of providing input necessity for at least one characteristic.
- FIG. 9 shows an example of the flow of data addition processing (S101).
- the data adding unit 216 adds an additional data group to the table 221 (S901).
- the data adding unit 216 refers to the index management information in the DB management information 228, and acquires all sampling index names associated with the addition destination table 221 (S902). For each acquired sampling index name (for each sampling index 223), a sampling process (S102) and a maintenance process (S103) are performed.
- sampling index 223 corresponding to one sampling index name is taken as an example.
- the sampling index 223 employed as an example is referred to as “target sampling index 223” in the description of FIGS.
- FIG. 10 shows an example of the flow of the sampling process (S102).
- the sampling process (S102) may be performed, for example, by calling the sampling unit 217 by the data adding unit 216 in the data adding process (S101).
- the sampling unit 217 refers to the business management information 224 and acquires the business ID 302 associated with the target sampling index name 301 (S1001).
- the sampling unit 217 refers to the characteristic management information 225, and acquires characteristic details (a combination of the characteristic ID 402 and the input value 403) associated with the business ID 302 acquired in S1001 (S1002).
- the sampling unit 217 executes a sampling condition determination process using the characteristic details acquired in S1002 (S1003).
- the sampling unit 217 performs the following processing for each additional data included in the additional data group. That is, the sampling unit 217 determines whether or not the additional data meets the sampling condition determined in S1003 (S1011). If the determination result in S1011 is affirmative, the sampling unit 217 samples the additional data from the additional data group (S1012). The additional data sampled in S1012 is sampling data.
- FIG. 11 shows an example of the flow of sampling condition determination processing (S1003).
- the sampling unit 217 refers to the rule management information 226, and acquires the sampling rule 603 associated with each of the characteristic details acquired in S1002 (S1101).
- the sampling unit 217 refers to the relationship management information 227, and acquires the inter-characteristic relationship 704 associated with the job type 701 to which the job ID acquired in S1001 belongs (1102).
- the sampling unit 217 generates (determines) a sampling condition by combining the sampling rule 603 acquired in S1101 according to the inter-characteristic relationship 704 acquired in S1102 (S1103). Specifically, for example, each characteristic ID in the inter-characteristic relationship 704 acquired in S1102 is replaced with the sampling rule 603 associated with the characteristic details including the characteristic ID in the sampling rule 603 acquired in S1101. . The result is a sampling condition.
- FIG. 12 shows an example of the flow of the maintenance process (S103).
- the maintenance process (S103) may be performed, for example, by calling the maintenance unit 218 by the data adding unit 216 in the data adding process (S101).
- the maintenance unit 218 acquires a data ID (for example, a pointer) for each sampled data (S1201). The maintenance unit 218 adds the data ID acquired in S1201 to the target sampling index 223 (S1202). Then, the maintenance unit 218 performs a thinning process (S1203).
- a data ID for example, a pointer
- FIG. 13 shows an example of the flow of the thinning process (S1203).
- the maintenance unit 218 determines whether the number of data IDs held by the target sampling index 223 after S1202 is greater than a certain number (S1301).
- the number of data IDs that the target sampling index 223 has may be specified from the DB management information 228, for example, or may be specified by scanning the target sampling index 223.
- the maintenance unit 218 deletes the excess number of data IDs from the target sampling index 223, thereby determining the number of data IDs of the target sampling index 223, It is made below a certain number (S1302).
- the maintenance unit 218 updates information indicating the number of data IDs of the target sampling index 223 in the DB management information 228 to the number of data IDs after S1302 (S1303).
- the deletion target candidate (data ID that can be deleted) may be any data ID in the target sampling index 223. Further, in the target sampling index 223, the data ID added in the immediately preceding S1203 (that is, the data ID of additional data (sampling data) that meets the latest sampling condition) may be excluded from the deletion target candidates.
- the deletion condition may be, for example, a data ID indicating data that does not conform to the latest sampling condition, or may be an old data ID.
- the maintenance unit 218 preferentially deletes the data ID of data that does not conform to the latest sampling condition from the target sampling index 223, and the number of data IDs of the target sampling index 223 is still a fixed number. If it exceeds, the older data ID may be deleted from the target sampling index 223 with priority. Since the data ID of data that does not conform to the latest sampling conditions is preferentially deleted, as a result, the data ID of the latest sampling data is automatically excluded from the deletion target, and the existing data that conforms to the latest sampling conditions The data ID of the data can be left preferentially.
- the “latest sampling condition” is the sampling condition determined in the sampling process (S102) of the current data addition process (S101). At least one of the inter-characteristic relationship 704 and the sampling rule 603 may be changed during the data addition process. For this reason, even if the work is the same, the determined sampling conditions are not always the same. Therefore, the “latest sampling condition” may be given priority over the past sampling condition in at least one of the deletion target candidate and the deletion condition.
- FIG. 14 shows an example of the flow of search processing.
- the query control unit 213 analyzes the query.
- the query control unit 213 calls the search unit 214, thereby starting a search process.
- the search process data that matches the search condition specified by the search query is acquired as a result set, and the search result is returned to the terminal device 201.
- the search result may be the acquired result set itself, or may be a result of the acquired result set being classified or aggregated.
- the search unit 214 determines whether or not a hint indicating that the sampling index 223 is used is specified in the search query (S1401).
- the “hint” referred to here is an example of a description meaning the use of the sampling index 223.
- FIG. 15 shows a configuration example of a search query. According to the example, there is “QUICK-S-Index1” as a hint.
- the sampling index 223 to be used may be individually specified, or only the use of the sampling index 223 may be specified. In the latter case, all the sampling indexes 223 related to the table 221 to be searched are used.
- the search query is a query generated by a query issuer such as the business program 205.
- the search unit 214 identifies the sampling index 223 from the search query (S1402), and matches the search condition specified in the search query through the specified sampling index 223. Data is acquired as a result set (S1403). Specifically, for example, for each data ID of the specified sampling index 223, the search unit 214 refers to data specified from the data ID (data in the table 221), and whether the data meets the search condition. Judge whether or not. A set of data that meets the search condition is a result set. The search unit 214 returns a result set (S1405).
- the search unit 214 uses the normal index 222 associated with the table 221 identified from the search query for data that matches the search condition specified in the search query. To obtain a result set (S1404). The search unit 214 returns a result set (S1405).
- FIG. 16 shows an example of the flow of definition processing.
- the query control unit 213 analyzes the query. If the input query is a definition query, the query control unit 213 calls the definition unit 215, thereby starting the definition process.
- the definition unit 215 adds the table 221 name, the index name, and the index type described in the definition query to the DB management information 228 (for example, index management information) (S1601).
- the definition unit 215 determines whether or not a hint indicating that the definition of the sampling index 223 is specified in the definition query (S1602). For example, according to the example of the definition query shown in FIG. 17, the hint is “ON Table1 QUICK”.
- the definition unit 215 provides (displays) the characteristic input GUI 800 to the terminal device 201 (S1603).
- the definition unit 215 receives a business characteristic (input value) via the provided characteristic input GUI 800 (S1604), and receives a business ID and characteristic details (for example, a characteristic in which an input value other than “no input” is input). Then, it is registered in the characteristic management information 225 (S1605).
- the business ID 702 may be specified by a definition query, or may be an ID automatically assigned by the definition unit 215.
- the definition unit 215 registers the business ID and the sampling index name (index name specified by the definition query) in the business management information 224 (S1606).
- the computer 209 includes a memory 200 for storing management information, which is information including information indicating the relationship between a job including data search, a property of the job, and a sampling rule, and a CPU 219 connected to the memory 200.
- the CPU 219 specifies (A) the business associated with the table 221 to which the additional data group is added, and (B) the sampling condition according to the sampling rule corresponding to the business characteristics specified in (A) based on the management information (C) and data that meet the sampling conditions determined in (B) are sampled from the additional data group.
- a sampling index 223, which is an index of sampled data, is referred to during data retrieval performed in the specified job.
- the sampling index 223 depends on the sampling conditions.
- the sampling condition is a condition that follows a sampling rule corresponding to the characteristics of the business for which data search is to be performed. For this reason, high accuracy is expected as the accuracy of the business (for example, analysis) including the search using the sampling index 223 as the search target.
- the total amount of data referred in the sampling process is typically smaller than sampling from the table 221.
- the sampling index 223 is referred to, the use capacity can be suppressed as compared with storing a copy of the sampling data group which is a part of the table 221.
- the CPU 219 executes maintenance including processing for adding data indicating the data sampled in (D) and (C) to the sampling index 223.
- the sampling index 223 can be updated in every sampling.
- the CPU 219 executes (A) to (D) when the additional data group is added to the table 221. Since sampling and maintenance are performed during the data addition process, it can be expected that the sampling index 223 is maintained in the latest state.
- Table 221 and at least the table 221 of the additional data group are big data.
- the above-described embodiment is considered to be more effective as the size of the table 221 is larger.
- the CPU 219 specifies (b1) a sampling rule corresponding to each specified business characteristic and a relationship between the specified business characteristics based on the management information, and (b2) according to the specified inter-characteristic relationship. Combine the specified sampling rules. A combination of the specified sampling loops is a sampling condition. As a result, it is possible to expect a sampling condition that is optimal for the relationship between business characteristics.
- the relationship between characteristics is a combination of characteristics and logical operators. For this reason, the configuration of the inter-characteristic relationship can be changed only by changing at least one of the characteristic and the logical operator, which is highly convenient.
- the specified sampling rule combination is a combination of a sampling rule corresponding to each characteristic included in the specified inter-characteristic relationship and a logical operator included in the inter-characteristic relationship. If a sampling rule is prepared for each characteristic, the sampling condition can be generated by a simple process of replacing the characteristic in the inter-characteristic relationship with the sampling rule corresponding to the characteristic according to the inter-characteristic relationship.
- the CPU 219 provides a characteristic input GUI 800 that receives an input of business characteristics.
- the characteristic input GUI 800 provides the necessity of input corresponding to the business type specified by the user for at least one characteristic.
- the user can immediately specify a characteristic that requires input value input, and can input the input value of the characteristic for the specified characteristic.
- At least one characteristic of the identified business is that the data composition ratio represented by the sampling index 223 is the same as the data composition ratio in the table 221. Thereby, it can be expected that the accuracy of the business including the search using the sampling index 223 is close to (for example, equivalent to) the accuracy of the business including the search referring to the entire table 221.
- the CPU 219 starts from the sampling index 223 so that the number of data IDs in the sampling index 223 is equal to or less than the certain number. Delete the data ID. Thereby, the size of the sampling index 223 can be suppressed to a certain size or less.
- the CPU 219 preferentially deletes the data ID of data that does not conform to the sampling conditions determined in (e1) and (B) from the sampling index 223, and (e2) the sampling index 223 after (e1). If the number of data IDs still exceeds a certain number, older data IDs are deleted from the sampling index 223 with higher priority. Since the data ID of data that does not conform to the latest sampling conditions is preferentially deleted, as a result, the data ID of the latest sampling data is automatically excluded from the deletion target, and the existing data that conforms to the latest sampling conditions The data ID of the data can be preferentially left in the sampling index 223.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、概して、コンピュータを用いたサンプリング技術に関する。 The present invention generally relates to a sampling technique using a computer.
膨大な量のデータ群(母集団)の全てを検索対象(検索範囲)とすると、検索に長い時間を要する。そこで、母集団から予めサンプリングされたデータのみで構成されたサンプリングデータ群を検索対象とすることで、検索時間を短縮する方法が考えられる。 If a huge amount of data group (population) is the search target (search range), it takes a long time to search. Therefore, a method of shortening the search time by considering a sampling data group composed only of data sampled in advance from the population as a search target can be considered.
例えば、特許文献1には、データベースシステムに設けられた層化抽出機構が記載されている。特許文献1によれば、層化抽出機構は、層化抽出の依頼を意味する句をクエリに定義する。ソース表からのデータは、クエリにおける層化条件に基づき異なるサブグループに分類される。サンプリングが、サブグループ別に行われる。
For example,
母集団より小さいサンプリングデータ群を検索対象とすると、母集団全体が検索対象であることに比べて業務精度(例えば分析精度)が大きく落ちるおそれがある。この問題は、母集団がデータベースである場合に限られない。 If a sampling data group smaller than the population is set as a search target, the work accuracy (for example, analysis accuracy) may be greatly reduced as compared to the case where the entire population is the search target. This problem is not limited to cases where the population is a database.
計算機システムは、1以上のサンプリング候補データであるサンプリング候補データ群に関連付けられた業務を特定する。計算機システムは、その特定した業務の特性に対応したサンプリングルールに従うサンプリング条件を、データ検索を含んだ業務と業務の特性とサンプリングルールとの関係を表す情報を含んだ情報である管理情報を基に決定する。そして、計算機システムは、決定したサンプリング条件に適合するデータをサンプリング候補データ群からサンプリングする。特定された業務において行われるデータ検索の際に、サンプリング結果が参照される。サンプリングされたデータを含んだ1以上のサンプリングデータであるサンプリングデータ群と、そのサンプリングデータ群のインデクスであるサンプリングインデクスとのうちの少なくとも1つが、上記特定された業務において行われるデータ検索の際に参照されるサンプリング結果である。 The computer system identifies a task associated with a sampling candidate data group that is one or more sampling candidate data. The computer system sets the sampling conditions according to the sampling rule corresponding to the specified business characteristics based on the management information, which is information including information indicating the relationship between the business including the data search and the business characteristics and the sampling rule. decide. Then, the computer system samples data that meets the determined sampling condition from the sampling candidate data group. Sampling results are referenced during data retrieval performed in the identified business. At least one of a sampling data group that is one or more sampling data including the sampled data and a sampling index that is an index of the sampling data group is used in a data search performed in the specified job. Referenced sampling result.
サンプリング結果はサンプリング条件に依存している。サンプリング条件は、データ検索が行われることになる業務の特性に対応したサンプリングルールに従う条件である。このため、サンプリング結果を検索対象とした検索を含んだ業務の精度として高い精度が期待される。 * Sampling results depend on sampling conditions. The sampling condition is a condition that follows a sampling rule corresponding to the characteristics of the business for which data search is to be performed. For this reason, high accuracy is expected as the accuracy of the work including the search with the sampling result as the search target.
以下の説明では、「データベース」が適宜「DB」と略記される。 In the following description, “database” is abbreviated as “DB” as appropriate.
また、以下の説明では、「bbb部」(又はbbbアクセラレータ)を主語として説明を行う場合があるが、これら機能部は、プロセッサによって実行されることで定められた処理をメモリ及び通信ポート(ネットワークI/F)を用いながら行うことができるため、プロセッサを主語とした説明としてもよい。プロセッサは、典型的には、マイクロプロセッサ(例えばCPU(Central Processing Unit))を含んでおり、更に、専用ハードウェア(例えばASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable GateArray))を含んでもよい。また、これら機能部を主語として開示された処理は、計算機が行う処理としてもよい。また、これら機能部の一部又は全ては、専用ハードウェアによって実現されてもよい。また、各種機能部は、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。また、各種機能部及びサーバは1つの計算機にインストールされ実行されても良いし、複数の計算機にインストールされ実行されても良い。プロセッサは、制御部の一例であり、処理の一部又は全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶部を含み、記憶部はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。 In the following description, there is a case where “bbb unit” (or bbb accelerator) is used as the subject. However, these functional units perform processing determined by being executed by the processor as a memory and a communication port (network). I / F) can be used, and therefore the description may be made with the processor as the subject. The processor typically includes a microprocessor (for example, CPU (Central Processing Unit)), and further includes dedicated hardware (for example, ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)). Good. Further, the processing disclosed with these functional units as the subject may be processing performed by a computer. In addition, some or all of these functional units may be realized by dedicated hardware. Various functional units may be installed in each computer by a program distribution server or a computer-readable storage medium. Various functional units and servers may be installed and executed on one computer, or may be installed and executed on a plurality of computers. The processor is an example of a control unit, and may include a hardware circuit that performs part or all of the processing. The program may be installed in a computer-like device from a program source. The program source may be, for example, a storage medium that can be read by a program distribution server or a computer. When the program source is a program distribution server, the program distribution server may include a processor (for example, a CPU) and a storage unit, and the storage unit may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers. In the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.
また、以下の説明において、「記憶部」は、メモリを含んだ1以上の記憶デバイスでよい。例えば、記憶部は、主記憶デバイス(典型的には揮発性のメモリ)及び補助記憶デバイス(典型的には不揮発性の記憶デバイス)のうちの少なくとも主記憶デバイスでよい。 In the following description, the “storage unit” may be one or more storage devices including a memory. For example, the storage unit may be at least a main storage device of a main storage device (typically a volatile memory) and an auxiliary storage device (typically a nonvolatile storage device).
また、以下の説明において、「母集団」は、データ群(1以上のデータ)である。「追加データ群」は、1以上の追加データである。「追加データ」は、母集団に追加されるデータである。「サンプリング」とは、母集団及び追加データ群のうちの少なくとも1つからデータを抽出することである。「サンプリングデータ」とは、母集団及び追加データ群のうちの少なくとも1つから抽出されたデータ、つまり、サンプリングされたデータである。「サンプリングデータ群」は、1以上のサンプリングデータである。 In the following description, a “population” is a data group (one or more data). The “additional data group” is one or more additional data. “Additional data” is data added to the population. “Sampling” refers to extracting data from at least one of a population and an additional data group. “Sampling data” is data extracted from at least one of the population and the additional data group, that is, sampled data. The “sampling data group” is one or more sampling data.
以下、図面を参照しながら、一実施形態を説明する。 Hereinafter, an embodiment will be described with reference to the drawings.
図1は、実施形態の概要の一例を示す。 FIG. 1 shows an example of an outline of the embodiment.
表221(表名“Table1”)が、母集団の一例としてある。表221に、1以上の追加データ232である追加データ群が繰り返し(例えば定期的に又は不定期的に)追加される。追加データ群を構成する追加データ232の数は、一定でなくてよい。表221及び追加データ群のうちの少なくとも表221が、いわゆるビッグデータでよい。
Table 221 (table name “Table1”) is an example of a population. An additional data group that is one or more
表221に、サンプリングインデクス223が関連付けられている。サンプリングインデクス223は、母集団全体ではなく、母集団の一部(サンプリングデータ群)のインデクスである。具体的には、例えば、サンプリングインデクス223は、サンプリングデータ群を構成する複数のサンプリングデータをそれぞれ指す複数のデータID(例えばポインタ)の集合でよい。サンプリングインデクス223のデータ構成比は、例えば、表221のデータ構成比となるべく同じになるよう維持される。「データ構成比」とは、複数の値範囲にそれぞれ対応した複数のデータ比率であり、例えば、度数分布でよい。「値範囲」は、最小値と最大値とで構成された範囲でよいが、1つの値であってもよい。値範囲のデータ比率は、ソースデータ総数に対する対象データ数の比率である。「ソースデータ総数」とは、ソースデータ群を構成するデータの数(例えば、サンプリングインデクス223を構成するデータIDの数、又は、表221を構成するデータ数(例えばレコード数))である。値範囲の「対象データ数」は、その値範囲に属する値を含んだデータ(又はそのデータのデータID)の数である。
In Table 221, the
計算機が、データ追加処理(S101)、サンプリング処理(S102)、メンテナンス処理(S103)、及び、検索処理(S104)を行う。 The computer performs data addition processing (S101), sampling processing (S102), maintenance processing (S103), and search processing (S104).
データ追加処理(S101)では、例えば次の処理が行われる。すなわち、計算機が、追加データ群を表221に追加する。そして、データ追加処理において、サンプリング処理(S102)及びメンテナンス処理(S103)が行われる。 In the data addition process (S101), for example, the following process is performed. That is, the computer adds an additional data group to the table 221. In the data addition process, a sampling process (S102) and a maintenance process (S103) are performed.
サンプリング処理(S102)は、例えば、データ取得(S102-1)、条件決定(S102-2)、及びデータサンプリング(S102-3)を含む。 Sampling processing (S102) includes, for example, data acquisition (S102-1), condition determination (S102-2), and data sampling (S102-3).
データ取得(S102-1)では、例えば次の処理が行われる。すなわち、計算機が、追加先の表221のサンプリングインデクス223のサンプリングインデクス名“S-Index1”に対応した業務ID“BID1”を、サンプリングインデクス名と業務IDの関係を表す業務管理情報224から取得する。また、計算機が、業務ID“BID1”に対応した特性詳細“PID1/Y”及び“PID2/N”を、業務IDと特性詳細の関係を表す特性管理情報225から取得する。
In the data acquisition (S102-1), for example, the following processing is performed. That is, the computer acquires the business ID “BID1” corresponding to the sampling index name “S-Index1” of the
条件決定(S102-2)では、例えば次の処理が行われる。すなわち、計算機が、特性“PID1/Y”及び“PID2/N”にそれぞれ対応したサンプリングルール“ルールF”及び“ルールG”を、特性とサンプリングルールとの関係を表すルール管理情報226から取得する。また、計算機が、業務ID“BID1”の業務種別に対応した特性間関係“PID1 AND PID2”を、業務種別と特性間関係との関係を表す関係管理情報227から取得する。特性間関係は、特性間の関係であり、例えば、特性IDと論理演算子との組合せである。計算機が、特性“PID1/Y”及び“PID2/N”にそれぞれ対応したサンプリングルール“ルールF”及び“ルールG”を、特性間関係“PID1 AND PID2”に従い組み合わせることで、サンプリング条件“ルールF AND ルールG”を決定する。すなわち、特性間関係“PID1 AND PID2”における複数の特性IDの各々が、その特性IDを含んだ特性詳細に対応したサンプリングルールに差し替えられ、結果として、サンプリング条件“ルールF AND ルールG”が生成される。「サンプリング条件」とは、サンプリングされるデータの条件である。
In the condition determination (S102-2), for example, the following processing is performed. That is, the computer acquires the sampling rules “rule F” and “rule G” corresponding to the characteristics “PID1 / Y” and “PID2 / N” from the
データサンプリング(S102-3)では、例えば次の処理が行われる。すなわち、計算機が、サンプリング条件“ルールF AND ルールG”に適合するデータを追加データ群からサンプリングする。 In data sampling (S102-3), for example, the following processing is performed. That is, the computer samples data that satisfies the sampling condition “rule F AND rule G” from the additional data group.
メンテナンス処理(S103)では、例えば次の処理が行われる。すなわち、計算機が、表221に追加されるサンプリングデータ(追加データ群からサンプリングされたデータ)のデータID(例えばポインタ)を、表221のサンプリングインデクス223に追加する。つまり、計算機が、サンプリング処理(S102)の結果を基に、サンプリングデータの追加先の表221に関連付けられたサンプリングインデクス223をメンテナンスする。
In the maintenance process (S103), for example, the following process is performed. That is, the computer adds the data ID (for example, a pointer) of sampling data (data sampled from the additional data group) added to the table 221 to the
以上で、サンプリング処理(S102)及びメンテナンス処理(S103)を含んだデータ追加処理(S101)が終了する。 This completes the data addition process (S101) including the sampling process (S102) and the maintenance process (S103).
検索処理(S104)では、例えば次の処理が行われる。すなわち、計算機が、クエリ発行元(例えばクライアント計算機)からの検索クエリで、サンプリングインデクス223が指定されているか否かを判断する。検索クエリに、サンプリングインデクス223を意味する記述(例えば、“QUICK S-Index1”)があれば、判断結果が肯定となる。判断結果が肯定の場合、計算機は、検索クエリで指定された検索条件に適合するデータを、その検索クエリで指定された表221のサンプリングインデクス223を通じて表221の一部(サンプリングデータ群)のみから探す。判断結果が否定の場合、計算機は、検索クエリで指定された検索条件に適合するデータを、その検索クエリで指定された表221全体から探す。
In the search process (S104), for example, the following process is performed. That is, the computer determines whether or not the
以上が、本実施形態の概要である。 The above is the outline of this embodiment.
本実施形態の適用範囲として様々な範囲が期待できる。例えば、所定地域の全世帯の平均消費電力量を算出する分析業務に本実施形態を適用することで、その分析業務を短時間で実行することが期待できる。具体的には、例えば、本実施形態に係る計算機が、電力会社の計算機に適用される。電力会社の計算機が、各世帯の配電盤に設置されているセンサから、第1周期で(例えば1分毎に)、消費電力量データ(消費電力量を表すデータ)を受信する。計算機が、受信した消費電力量データを、第1周期と同じ又は異なる第2周期で(例えば5分毎に)、DBの表に蓄積する。このため、表が、母集団の一例であり、表に格納される消費電力量データ群が、追加データ群の一例である。消費電力量データ群の量は、世帯数に依存するが、一般には大きい。消費電力量データ群の全てを用いて直近の平均消費電力量を算出するには、長い時間が必要とされる。そこで、表221の一部に対応したサンプリングインデクスが用意され、計算機が、消費電力量データ群の追加時に、上記の分析業務の特性に応じて消費電力量データ群からデータをサンプリングし、サンプリングされた消費電力量データを基に、サンプリングインデクスをメンテナンスする。分析業務における検索では、サンプリングインデクスが参照される。消費電力量データ群の追加の際にサンプリングインデクスが更新されるので、参照されるサンプリングインデクスは常に最新の状態が維持されていると期待される。また、サンプリングデータ群に代えてサンプリングインデクスが使用されるため、使用容量(消費される記憶容量)を抑えることができる。そして、サンプリングインデクスは、分析業務の特性に応じてサンプリングされたデータを基にメンテナンスされているので、サンプリングインデクスを使用した検索を含んだ業務の精度が高いことが期待される。 Various ranges can be expected as the application range of this embodiment. For example, by applying this embodiment to an analysis work for calculating the average power consumption of all households in a predetermined area, it can be expected that the analysis work will be executed in a short time. Specifically, for example, the computer according to the present embodiment is applied to a computer of an electric power company. A power company computer receives power consumption data (data representing power consumption) in a first period (for example, every minute) from sensors installed on the switchboards of each household. The computer accumulates the received power consumption data in the DB table at a second period that is the same as or different from the first period (for example, every 5 minutes). Therefore, the table is an example of the population, and the power consumption data group stored in the table is an example of the additional data group. The amount of power consumption data group depends on the number of households, but is generally large. It takes a long time to calculate the latest average power consumption using all of the power consumption data group. Therefore, a sampling index corresponding to a part of the table 221 is prepared, and when the power consumption data group is added, the computer samples and samples data from the power consumption data group according to the characteristics of the analysis work described above. The sampling index is maintained based on the collected power consumption data. Sampling indexes are referenced in searches in analytical work. Since the sampling index is updated when the power consumption data group is added, it is expected that the sampling index to be referenced is always maintained in the latest state. Further, since the sampling index is used instead of the sampling data group, the used capacity (consumed storage capacity) can be suppressed. Since the sampling index is maintained based on the data sampled according to the characteristics of the analysis work, it is expected that the work including the search using the sampling index has high accuracy.
なお、本実施形態によれば、追加データ群が、サンプリング候補データ群(1以上のサンプリング候補データ)の一例である。サンプリング候補データ群の一例は、追加データ群に代えて又は加えて、表221のような母集団が採用されてよい。 Note that according to the present embodiment, the additional data group is an example of a sampling candidate data group (one or more sampling candidate data). As an example of the sampling candidate data group, a population as shown in Table 221 may be adopted instead of or in addition to the additional data group.
また、サンプリングインデクス223が、サンプリング結果の一例である。サンプリング結果の一例は、サンプリングインデクス223に代えて、表221の一部のようなサンプリングデータ群が採用されてよい。すなわち、サンプリングインデクス223が無くてもよい。しかし、その場合、表221に加えてサンプリングデータ群が、記憶装置に格納されることになる。結果として、記憶装置の使用容量が大きい。この問題は、表221がビッグデータの場合には一層大きい。このため、本実施形態のように、サンプリング結果として、サンプリングデータ群ではなくサンプリングインデクス223が採用されることが好ましい。
Also, the
以下、本実施形態を詳細に説明する。 Hereinafter, this embodiment will be described in detail.
図2は、システム全体の構成例を示す。 FIG. 2 shows a configuration example of the entire system.
計算機209に、端末装置201と外部記憶装置220が接続されている。
The
端末装置201は、クライアントシステムの一例である。端末装置201は、I/F(インターフェースデバイス)11、入力デバイス202、表示デバイス203、メモリ12及びそれらに接続されたCPU207を有する。I/F11は、第1通信ネットワーク208を介して計算機209に接続される。入力デバイス202は、キーボード及びポインティングデバイス等でよい。表示デバイス203は、液晶ディスプレイ等でよい。入力デバイス202及び表示デバイス203は、タッチパネルのように一体でもよい。メモリ12は、OS(Operating System)206及び業務プログラム205を記憶する。CPU207が、それらのプログラムを実行する。業務プログラム205は、業務のために検索クエリ等のクエリを計算機209に発行する。クエリは、例えば、SQL(Structured Query Language)で記述される。
The
計算機209は、計算機システムの一例である。計算機209は、FE-I/F(フロントエンドインターフェースデバイス)210、BE-I/F(バックエンドインターフェースデバイス)241、メモリ200、及びそれらに接続されたCPU219を有する。FE-I/F210及びBE-I/F241が、インターフェースデバイスの一例である。メモリ200が、記憶部の一例である。CPU219が、プロセッサの一例である。FE-I/F210に、第1通信ネットワーク208を介して端末装置201が接続される。BE-I/F241に、第2通信ネットワーク(図示せず)を介して外部記憶装置220が接続される。第1及び第2通信ネットワークのうちの少なくとも1つが無くてもよいし、それらが同一の通信ネットワークであってもよい。メモリ200は、OS211及びDBMS(Database Management System)212を記憶する。CPU219が、それらのプログラムを実行する。
The
DBMS212は、クエリ制御部213、検索部214、定義部215、データ追加部216、サンプリング部217及びメンテナンス部218を有する。クエリ制御部213は、クエリを受け付け、そのクエリを処理する。クエリの処理のために、クエリ制御部213は、必要に応じて、検索部214、定義部215、データ追加部216、サンプリング部217及びメンテナンス部218のうちの少なくとも1つを呼び出すことができる。検索部214は、サンプリングインデクス223を参照した検索を実行できる。定義部215は、サンプリングインデクス223の定義を実行できる。データ追加部216は、追加データ群の追加、具体的には、上述したデータ追加処理(S101)を実行する。サンプリング部217は、追加データ群からのデータのサンプリング、具体的には、上述したサンプリング処理(S102)を実行する。メンテナンス部218は、サンプリングインデクス223のメンテナンス、具体的には、上述したメンテナンス処理(S103)を実行する。
The
外部記憶装置220は、例えば、複数の記憶デバイスを有するストレージシステムでよい。複数の記憶デバイスにより、1以上のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループが構成されてもよい。RAIDグループにおける各記憶デバイスは、不揮発性の記憶デバイスであり、例えば、HDD(Hard Disk Drive)であってもよいしSSD(Solid State Drive)であってもよい。外部記憶装置220は、DB242、業務管理情報224、特性管理情報225、ルール管理情報226、関係管理情報227、DB管理情報228、及び特性GUI(Graphical User Interface)情報230を記憶する。DB242、業務管理情報224、特性管理情報225、ルール管理情報226、関係管理情報227、DB管理情報228及び特性GUI情報230のうちの少なくとも1つが、計算機209のメモリ200に記憶されてもよい。すなわち、例えば、計算機209が、インメモリデータベースシステムでもよい。また、例えば、計算機209と、外部記憶装置220の少なくとも一部との組合せが、計算機システムの一例でもよい。また、例えば、外部記憶装置220の少なくとも一部が、記憶部の一部でもよい。また、上述した異なる種類の情報が、同一の情報に統合されてもよいし、更なる異なる情報に分割されてもよい。例えば、特性管理情報225(図4参照)と関係管理情報227(図7参照)は1つに統合されていてもよい。
The
DB242は、表221、通常インデクス222、及びサンプリングインデクス223を含む。表221は、典型的には、複数のカラムと複数のレコードで構成される。レコードの少なくとも一部が、表221を構成するデータの一例である。表221に、1以上の通常インデクス222が関連付けられている。また、少なくとも1つの表221に、1以上のサンプリングインデクス223が関連付けられている。表221に関連付けられている全ての通常インデクス222が、その表221全体を指す。表221に関連付けられている全てのサンプリングインデクス223が、表221の一部を指す。通常インデクス222は、サンプリングインデクス223以外のいずれかのインデクスであり、典型的には一般的なインデクスである。サンプリングインデクス223は、サンプリングされたデータのデータIDを有するインデクスである。通常インデクス222及びサンプリングインデクス223のいずれも、データ構造は限定されない。すなわち、通常インデクス222及びサンプリングインデクス223のいずれも、リスト構造でもよいし、B木構造でもよい(図5が、サンプリングインデクス223の構成例を示す)。
The
業務管理情報224、特性管理情報225、ルール管理情報226、関係管理情報227及び特性GUI情報230については、後述する。業務管理情報224、特性管理情報225、ルール管理情報226及び関係管理情報227を含んだ情報が、管理情報の一例である。管理情報に、特性GUI情報230が含まれてもよい。管理情報に、更に、DB管理情報228が含まれてもよい。
The
DB管理情報228は、DB242に関する情報を含む。例えば、DB管理情報228は、サンプリングインデクス223毎にサンプリングインデクス223が持つデータID数(例えばポインタ数)を表す情報と、表221とインデクス(通常インデクス222及びサンプリングインデクス223)との関係を表す情報であるインデクス管理情報とを含んでよい。
The
図3は、業務管理情報224の構成例を示す。
FIG. 3 shows a configuration example of the
業務管理情報224は、サンプリングインデクス223と業務との関係を表す。具体的には、例えば、業務管理情報224は、サンプリングインデクス223にそれぞれ対応したエントリを有する。各エントリが、サンプリングインデクス名301及び業務ID302という情報を含む。サンプリングインデクス名301は、サンプリングインデクス223の名称(他種のIDでもよい)を表す。業務ID302は、業務のIDである。
The
図4は、特性管理情報225の構成例を示す。
FIG. 4 shows a configuration example of the
特性管理情報225は、業務と業務の特性との関係を表す。具体的には、例えば、特性管理情報225は、業務にそれぞれ対応したエントリを有する。各エントリが、業務ID401、特性ID402及び入力値403という情報を含む。特性ID402及び入力値403の組が、特性詳細である。特性ID402が、特性のIDである。入力値403が、特性に関して入力された値である。エントリには、対応する業務に属する全ての特性詳細が含まれている。言い換えれば、業務は、1以上の特性詳細で表現されてよい。1つの業務につき、1以上の特性がある。
The
図6は、ルール管理情報226の構成例を示す。
FIG. 6 shows a configuration example of the
ルール管理情報226は、特性(特性詳細)とサンプリングルールとの関係を表す。具体的には、例えば、ルール管理情報226は、特性にそれぞれ対応したエントリを有する。各エントリが、特性ID601、入力値602、サンプリングルール603、外部入力604及び取得元605という情報を含む。サンプリングルール603は、データのサンプリングのルールを表す。サンプリングルール603において、「データ生成ID」は、データを生成する主体を一意に特定するID(例えば、センサデータを生成するセンサを一意に特定するセンサIDなど)であり、「サンプリング割合」は、追加データ総数(追加データ群を構成する追加データ232の数)に対するサンプリング追加データ数(サンプリングされた追加データ232の数)の割合である。外部入力604は、サンプリング条件決定の際にサンプリング部217(DBMS212)の外部から入力される値を表す。取得元605は、外部入力604が表す値の取得元605(入力元)を表す。
The
図6の例によれば、特性詳細とサンプリングルール603が1対1で対応している。図6の例によれば、例えば次のことが言える。特性詳細“PID4/Y”に対応したサンプリングルール603によれば、サンプリングインデクス223の構成比が、そのサンプリングインデクス223が関連付けられた表221の構成比となるべく同じになるよう、データがサンプリングされる(サンプリングインデクス223がメンテナンスされる)ことになる。また、特性詳細“PID5/Y”に対応したサンプリングルール603、外部入力604及び取得元605によれば、追加データ232の優先度がユーザにより入力され、その入力された優先度が高いデータほど優先的にサンプリングされることになる。なお、本実施形態で言う「ユーザ」は、端末装置201のユーザであるが、計算機209の管理者であってもよい。また、取得元605の「外部記憶」は、外部記憶装置220を意味する。
According to the example of FIG. 6, the characteristic details and the
図6の例によれば、特性毎に、特性詳細が“Y”又は“N”の2つに分類されるが、少なくとも1つの特性について、特性詳細の数は、2に限られず、1でも3以上の整数でもよい。 According to the example of FIG. 6, the characteristic details are classified into two, “Y” or “N”, for each characteristic. However, the number of characteristic details is not limited to two for at least one characteristic, and even one An integer of 3 or more may be used.
図7は、関係管理情報227の構成例を示す。
FIG. 7 shows a configuration example of the
関係管理情報227は、業務と特性間関係との関係を表す。具体的には、例えば、関係管理情報227は、業務種別にそれぞれ対応したエントリを有する。各エントリは、業務種別701、業務ID702、特性ID703及び特性間関係704という情報を含む。業務種別701は、業務種別701を表す。業務ID702は、対応する業務種別701に属する業務のIDである。特性ID703は、対応する業務種別701に属する特性のIDである。特性間関係704は、対応する業務種別701に属する特性間の関係を表す。
The
図7の例によれば、例えば次のことが言える。すなわち、業務種別によって、業務を構成する特性と特性間の関係が異なる。特性IDが1つであれば、特性間関係704は、その1つの特性IDである。一方、特性IDが複数あれば、特性間関係704は、1以上の論理演算子(例えば、“AND”又は“OR”)で直列に連結された複数の特性IDである。特性間関係704は、論理演算子による複数の特性IDの連結に限らないが、特性間関係704のこのような構成によれば、論理演算子及び特性IDのような要素を追加、削除又は変更するだけで特性間関係704の変更が済むので、利便性が高いと考えられる。
According to the example of FIG. 7, for example, the following can be said. In other words, the characteristics that make up a business and the relationship between the characteristics differ depending on the business type. If there is one characteristic ID, the
図7の例によれば、例えば次のことが言える。すなわち、業務ID“BID2”が特定された場合、DBMS212が、関係管理情報227から、業務ID“BID2”が属する業務種別“センサデータ分析”に対応した特性間関係“PID1 AND PID2 AND PID5 AND PID6”を特定する。また、DBMS212が、業務ID“BID2”に対応する特性詳細“PID1/Y”、“PID2/Y”、“PID5/Y”及び“PID6/Y”を、特性管理情報225から特定したとする。この場合、サンプリング条件は、“PID1/Yに対応したサンプリングルール AND PID2/Yに対応したサンプリングルール AND PID5/Yに対応したサンプリングルール AND PID6/Yに対応したサンプリングルール”となる。つまり、特性間関係における各特性IDが、その特性IDを含んだ特性詳細に対応するサンプリングルール(ルール管理情報226から特定されたサンプリングルール603)に差し替えられる。結果として、サンプリング条件は、特性間関係に従うサンプリングルール集合である。
According to the example of FIG. 7, for example, the following can be said. In other words, when the business ID “BID2” is specified, the
図8は、特性入力GUIの一例を示す。 FIG. 8 shows an example of the characteristic input GUI.
特性入力GUI800は、そのGUIに対応する特性GUI情報230に基づき生成され表示されたGUIである。特性入力GUI800は、業務の特性の入力を受け付けるUI(ユーザインタフェース)の一例である。特性入力GUI800は、例えば、DBMS212により端末装置201に提供され、端末装置201の表示デバイス203に表示される。特性入力GUI800は、計算機209の管理者が使用する端末装置201に提供され表示されてもよい。
The
特性入力GUI800(特性GUI情報230)によれば、特性詳細サブUI802が表示される。そのサブUI802によれば、少なくとも1つの特性について、特性IDと、特性の内容と、入力値と、補足事項とが表示される。入力値について、サブUIがある。入力値についてのサブUIは、選択可能な複数の入力値にそれぞれ対応した複数のラジオボタンであってよい。補足事項は、少なくとも1つの特性についての入力要否を提供することの一例である。すなわち、補足事項は、その補足事項に対応する特性について、ユーザが指定する業務種別に応じた入力要否を表す。なお、補足事項は、更に、具体例(例えば、特性ID“PID4”について、“男性のデータ数20%、女性のデータ数80%という構成比を維持する”)を表す文章を含んでもよい。
According to the characteristic input GUI 800 (characteristic GUI information 230), the
特性入力GUI800は、ユーザから業務種別を受け付けるサブUI801を有してもよい。DBMS212は、サブUI801に業務種別が入力された場合、入力必須の特性についてのみ(例えば、入力された業務種別に対応した特性IDについてのみ)、入力をイネーブルとし、入力不要の特性については(例えば、入力された業務種別に対応していない特性IDについては)、入力をディスエーブルとしてもよい(例えば自動的に「入力なし」が選択されてもよい)。入力の自動的なイネーブル/ディスエーブルも、少なくとも1つの特性についての入力要否を提供することの一例でよい。
The
以下、本実施形態で行われる処理の一例を説明する。 Hereinafter, an example of processing performed in the present embodiment will be described.
図9は、データ追加処理(S101)の流れの一例を示す。 FIG. 9 shows an example of the flow of data addition processing (S101).
データ追加部216が、追加データ群を表221に追加する(S901)。データ追加部216が、DB管理情報228内のインデクス管理情報を参照し、追加先の表221に関連付けられている全てのサンプリングインデクス名を取得する(S902)。取得されたサンプリングインデクス名毎に(サンプリングインデクス223毎に)、サンプリング処理(S102)及びメンテナンス処理(S103)が行われる。
The
以下、サンプリング処理(S102)及びメンテナンス処理(S103)を説明する。その際、1つのサンプリングインデクス名に対応したサンプリングインデクス223を例に取る。例として採用されたサンプリングインデクス223を、図10~図13の説明において、「対象サンプリングインデクス223」と呼ぶ。
Hereinafter, the sampling process (S102) and the maintenance process (S103) will be described. At that time, a
図10は、サンプリング処理(S102)の流れの一例を示す。サンプリング処理(S102)は、例えば、データ追加処理(S101)においてデータ追加部216によりサンプリング部217が呼び出されることにより行われてよい。
FIG. 10 shows an example of the flow of the sampling process (S102). The sampling process (S102) may be performed, for example, by calling the
サンプリング部217は、業務管理情報224を参照し、対象サンプリングインデクス名301に関連付いた業務ID302を取得する(S1001)。
The
サンプリング部217は、特性管理情報225を参照し、S1001で取得した業務ID302に関連付いた特性詳細(特性ID402と入力値403との組)を取得する(S1002)。
The
サンプリング部217は、S1002で取得された特性詳細を用いてサンプリング条件決定処理を実行する(S1003)。
The
サンプリング部217は、追加データ群に含まれる追加データ毎に、次の処理を行う。すなわち、サンプリング部217は、S1003で決定されたサンプリング条件に、追加データが適合するか否かを判断する(S1011)。S1011の判断結果が肯定の場合、サンプリング部217は、その追加データを追加データ群からサンプリングする(S1012)。S1012でサンプリングされた追加データが、サンプリングデータである。
The
図11は、サンプリング条件決定処理(S1003)の流れの一例を示す。 FIG. 11 shows an example of the flow of sampling condition determination processing (S1003).
サンプリング部217は、ルール管理情報226を参照し、S1002で取得された特性詳細にそれぞれ関連付いたサンプリングルール603を取得する(S1101)。
The
サンプリング部217は、関係管理情報227を参照し、S1001で取得された業務IDが属する業務種別701に関連付いた特性間関係704を取得する(1102)。
The
サンプリング部217は、S1101で取得したサンプリングルール603を、S1102で取得した特性間関係704に従って組み合わせることで、サンプリング条件を生成(決定)する(S1103)。具体的には、例えば、S1102で取得した特性間関係704における各特性IDが、S1101で取得したサンプリングルール603のうちの、その特性IDを含んだ特性詳細に関連付いたサンプリングルール603に差し替えられる。その結果が、サンプリング条件である。
The
図12は、メンテナンス処理(S103)の流れの一例を示す。メンテナンス処理(S103)は、例えば、データ追加処理(S101)においてデータ追加部216によりメンテナンス部218が呼び出されることにより行われてよい。
FIG. 12 shows an example of the flow of the maintenance process (S103). The maintenance process (S103) may be performed, for example, by calling the
メンテナンス部218は、サンプリングされたデータ毎に、データID(例えばポインタ)を取得する(S1201)。メンテナンス部218は、S1201で取得したデータIDを、対象サンプリングインデクス223に追加する(S1202)。そして、メンテナンス部218は、間引き処理を実行する(S1203)。
The
図13は、間引き処理(S1203)の流れの一例を示す。 FIG. 13 shows an example of the flow of the thinning process (S1203).
メンテナンス部218は、S1202後の対象サンプリングインデクス223が持つデータIDの数が一定数より多いか否かを判断する(S1301)。対象サンプリングインデクス223が持つデータIDの数は、例えばDB管理情報228から特定されてもよいし、対象サンプリングインデクス223をスキャンすることで特定されてもよい。
The
S1301の判断結果が否定の場合(S1301:NO)、対象サンプリングインデクス223からデータIDを削除する必要は無いため、間引き処理が終了する。
If the determination result in S1301 is negative (S1301: NO), it is not necessary to delete the data ID from the
一方、S1301の判断結果が肯定の場合(S1301:YES)、メンテナンス部218は、超過数分のデータIDを対象サンプリングインデクス223から削除することで、対象サンプリングインデクス223が持つデータIDの数を、一定数以下にする(S1302)。メンテナンス部218は、DB管理情報228のうち、対象サンプリングインデクス223が持つデータIDの数を表す情報を、S1302後のデータID数に更新する(S1303)。
On the other hand, when the determination result of S1301 is affirmative (S1301: YES), the
S1302において削除されるデータID数は、超過数分のデータIDより多くのデータIDが削除されてもよい。 As for the number of data IDs deleted in S1302, more data IDs than the excess number of data IDs may be deleted.
また、S1302では、削除対象候補及び削除条件のうちの少なくとも1つについて幾つかのバリエーションがあり得る。 In S1302, there may be some variations for at least one of the deletion target candidates and the deletion conditions.
例えば、削除対象候補(削除され得るデータID)は、対象サンプリングインデクス223におけるいずれのデータIDであってよい。また、対象サンプリングインデクス223のうち、直前のS1203で追加されたデータID(すなわち、最新のサンプリング条件に適合する追加データ(サンプリングデータ)のデータID)は、削除対象候補から除外されてもよい。
For example, the deletion target candidate (data ID that can be deleted) may be any data ID in the
一方、削除条件は、例えば、最新のサンプリング条件に適合しなかったデータを指すデータIDであってもよいし、古いデータIDであってもよい。より具体的には、例えば、メンテナンス部218は、最新のサンプリング条件に適合しないデータのデータIDを対象サンプリングインデクス223から優先的に削除し、それでも未だ対象サンプリングインデクス223のデータID数が一定数を超えていれば、古いデータIDほど優先的に対象サンプリングインデクス223から削除してよい。最新のサンプリング条件に適合しないデータのデータIDが優先的に削除されるので、結果として、最新のサンプリングデータのデータIDが自動的に削除対象から除外されると共に、最新のサンプリング条件に適合する既存データのデータIDを優先的に残すことができる。
On the other hand, the deletion condition may be, for example, a data ID indicating data that does not conform to the latest sampling condition, or may be an old data ID. More specifically, for example, the
なお、「最新のサンプリング条件」とは、今回のデータ追加処理(S101)のサンプリング処理(S102)において決定されたサンプリング条件である。特性間関係704とサンプリングルール603のうちの少なくとも1つが、データ追加処理間に変更されることがある。そのため、業務が同じであっても、決定されるサンプリング条件が毎回同じとは限らない。そこで、削除対象候補及び削除条件のうちの少なくとも1つにおいて、「最新のサンプリング条件」が過去のサンプリング条件よりも優先されてよい。
The “latest sampling condition” is the sampling condition determined in the sampling process (S102) of the current data addition process (S101). At least one of the
図14は、検索処理の流れの一例を示す。 FIG. 14 shows an example of the flow of search processing.
例えば、端末装置201から計算機209にクエリが入力されると、クエリ制御部213が、そのクエリを解析する。入力されたクエリが検索クエリの場合は、クエリ制御部213が検索部214を呼び出し、それにより、検索処理が開始される。検索処理では、検索クエリで指定された検索条件に適合したデータが結果集合として取得され、検索結果が端末装置201に返される。検索結果は、取得された結果集合それ自体でもよいし、取得された結果集合が分類又は集約された結果でもよい。
For example, when a query is input from the
検索部214は、検索クエリにサンプリングインデクス223を使用することを示すヒントが指定されているか否かを判断する(S1401)。ここで言う「ヒント」は、サンプリングインデクス223の使用を意味する記述の一例である。図15が、検索クエリの構成例を示すが、その例によれば、ヒントとして、「QUICK S-Index1」がある。検索クエリでは、使用されるサンプリングインデクス223が個々に指定されていてもよいし、サンプリングインデクス223の使用だけが指定されていてもよい。後者の場合、検索対象の表221に関連付いた全てのサンプリングインデクス223が使用されることになる。検索クエリは、業務プログラム205のようなクエリ発行元により生成されたクエリである。
The
S1401の判断結果が肯定の場合(S1401:YES)、検索部214は、検索クエリからサンプリングインデクス223を特定し(S1402)、特定したサンプリングインデクス223を通じて、検索クエリで指定された検索条件に適合するデータを結果集合として取得する(S1403)。具体的には、例えば、検索部214は、特定したサンプリングインデクス223のデータID毎に、そのデータIDから特定されるデータ(表221におけるデータ)を参照し、そのデータが検索条件に適合するか否かを判断する。検索条件に適合するデータの集合が、結果集合である。検索部214は、結果集合を返す(S1405)。
If the determination result in S1401 is affirmative (S1401: YES), the
S1401の判断結果が否定の場合(S1401:NO)、検索部214は、検索クエリで指定された検索条件に適合するデータを、検索クエリから特定された表221に関連付いている通常インデクス222を使用して、結果集合として取得する(S1404)。検索部214は、結果集合を返す(S1405)。
If the determination result in S1401 is negative (S1401: NO), the
図16は、定義処理の流れの一例を示す。 FIG. 16 shows an example of the flow of definition processing.
例えば、端末装置201から計算機209にクエリが入力されると、クエリ制御部213が、そのクエリを解析する。入力されたクエリが定義クエリの場合は、クエリ制御部213が定義部215を呼び出し、それにより、定義処理が開始される。
For example, when a query is input from the
定義部215は、定義クエリに記述されている表221名、インデクス名及びインデクス種別を、DB管理情報228(例えばインデクス管理情報)に追加する(S1601)。
The
定義部215は、定義クエリに、サンプリングインデクス223の定義であることを示すヒントが指定されているか否かを判断する(S1602)。ヒントは、例えば図17に示す定義クエリの一例によれば、“ON Table1 QUICK”である。
The
S1602の判断結果が肯定の場合(S1602:YES)、定義部215は、端末装置201に、特性入力GUI800を提供(表示)する(S1603)。
When the determination result in S1602 is affirmative (S1602: YES), the
定義部215は、提供された特性入力GUI800経由で、業務の特性(入力値)を受け(S1604)、業務IDと特性詳細(例えば「入力なし」以外の入力値が入力された特性)とを、特性管理情報225に登録する(S1605)。業務ID702は、定義クエリで指定されていてもよいし、定義部215により自動で割り振られたIDでもよい。定義部215は、業務IDとサンプリングインデクス名(定義クエリで指定されたインデクス名)とを、業務管理情報224に登録する(S1606)。
The
以下、実施形態を総括する。なお、総括の説明において、適宜、実施形態の変形例等の新たな記載を追加することができる。 Hereinafter, the embodiments will be summarized. Note that in the general description, new descriptions such as modifications of the embodiment can be added as appropriate.
計算機209が、データ検索を含んだ業務と業務の特性とサンプリングルールとの関係を表す情報を含んだ情報である管理情報を記憶するメモリ200と、メモリ200に接続されたCPU219とを有する。CPU219が、(A)追加データ群の追加先の表221に関連付けられた業務を特定し、(B)管理情報を基に、(A)で特定した業務の特性に対応したサンプリングルールに従うサンプリング条件を決定し、(C)(B)で決定したサンプリング条件に適合するデータを追加データ群からサンプリングする。サンプリングされたデータのインデクスであるサンプリングインデクス223が、上記特定された業務において行われるデータ検索の際に参照される。サンプリングインデクス223は、サンプリング条件に依存している。サンプリング条件は、データ検索が行われることになる業務の特性に対応したサンプリングルールに従う条件である。このため、サンプリングインデクス223を検索対象とした検索を含んだ業務(例えば分析)の精度として高い精度が期待される。また、追加データ群からサンプリングされるため、サンプリング処理において参照されるデータ総量は、表221からサンプリングすることに比べれば典型的には小さくて済む。また、データ検索では、サンプリングインデクス223が参照されるため、表221の一部であるサンプリングデータ群の複製を格納することに比べて、使用容量を抑えることができる。
The
CPU219は、(D)(C)でサンプリングされたデータを指すデータをサンプリングインデクス223に追加する処理を含んだメンテナンスを実行する。これにより、サンプリングの都度にサンプリングインデクス223を最新の状態にすることができる。
The
CPU219は、追加データ群が表221に追加されるときに、(A)乃至(D)を実行する。データ追加処理のときにサンプリング及びメンテナンスが行われるので、サンプリングインデクス223を最新の状態に維持することが期待できる。
The
表221及び追加データ群のうちの少なくとも表221は、ビッグデータである。上述の実施形態は、表221のサイズが大きいほど効果的であると考えられる。 Table 221 and at least the table 221 of the additional data group are big data. The above-described embodiment is considered to be more effective as the size of the table 221 is larger.
(B)において、CPU219は、(b1)特定した業務の特性にそれぞれ対応したサンプリングルールと、特定した業務の特性間関係とを管理情報を基に特定し、(b2)特定した特性間関係に従い、特定したサンプリングルールを組み合わせる。特定したサンプリングループの組合せが、サンプリング条件である。これにより、業務の特性間関係に最適なサンプリング条件が期待できる。
In (B), the
特性間関係は、特性と論理演算子との組合せである。このため、特性及び論理演算子の少なくとも1つを変更するだけで特性間関係の構成を変更でき、利便性が高い。 The relationship between characteristics is a combination of characteristics and logical operators. For this reason, the configuration of the inter-characteristic relationship can be changed only by changing at least one of the characteristic and the logical operator, which is highly convenient.
特定したサンプリングルールの組合せは、特定した特性間関係に含まれる特性にそれぞれ対応したサンプリングルールと、特性間関係に含まれる論理演算子との組合せである。特性毎にサンプリングルールが用意されていれば、特性間関係に従い、特性間関係における特性をその特性に対応したサンプリングルールに差し替えるという簡単な処理で、サンプリング条件を生成することができる。 The specified sampling rule combination is a combination of a sampling rule corresponding to each characteristic included in the specified inter-characteristic relationship and a logical operator included in the inter-characteristic relationship. If a sampling rule is prepared for each characteristic, the sampling condition can be generated by a simple process of replacing the characteristic in the inter-characteristic relationship with the sampling rule corresponding to the characteristic according to the inter-characteristic relationship.
CPU219が、業務の特性の入力を受け付ける特性入力GUI800を提供する。特性入力GUI800が、少なくとも1つの特性について、ユーザが指定する業務種別に応じた入力要否を提供する。ユーザは、入力値の入力が必要とされる特性をすぐに特定でき、特定された特性について、特性の入力値を入力できる。
The
特定された業務の少なくとも1つの特性は、サンプリングインデクス223が表すデータ構成比が、表221のデータ構成比と同じになることである。これにより、サンプリングインデクス223を使用した検索を含む業務の精度が、表221全体を参照する検索を含んだ業務の精度に近い(例えば同等である)ことが期待できる。
At least one characteristic of the identified business is that the data composition ratio represented by the
CPU219は、(E)(D)のメンテナンス後のサンプリングインデクス223を構成するデータIDの数が一定数を超えている場合、サンプリングインデクス223のデータID数が一定数以下になるようサンプリングインデクス223からデータIDを削除する。これにより、サンプリングインデクス223のサイズを一定サイズ以下に抑えることができる。
When the number of data IDs constituting the
(E)において、CPU219は、(e1)(B)で決定されたサンプリング条件に適合しないデータのデータIDをサンプリングインデクス223から優先的に削除し、(e2)(e1)の後のサンプリングインデクス223のデータID数が未だ一定数を超えている場合、古いデータIDほど優先的にサンプリングインデクス223から削除する。最新のサンプリング条件に適合しないデータのデータIDが優先的に削除されるので、結果として、最新のサンプリングデータのデータIDが自動的に削除対象から除外されると共に、最新のサンプリング条件に適合する既存データのデータIDを優先的にサンプリングインデクス223に残すことができる。
In (E), the
以上、一実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、母集団は、データベースの表221に限定されない。 As mentioned above, although one embodiment was described, it cannot be overemphasized that this invention can be variously changed in the range which is not limited to this embodiment and does not deviate from the summary. For example, the population is not limited to the table 221 of the database.
209…計算機 209 ... Calculator
Claims (15)
前記記憶部に接続されたプロセッサと
を有し、
前記プロセッサが、
(A)1以上のサンプリング候補データであるサンプリング候補データ群に関連付けられた業務を特定し、
(B)前記管理情報を基に、前記特定した業務の特性に対応したサンプリングルールに従うサンプリング条件を決定し、
(C)前記決定したサンプリング条件に適合するデータを前記サンプリング候補データ群からサンプリングし、
前記サンプリングされたデータを含んだ1以上のサンプリングデータであるサンプリングデータ群と前記サンプリングデータ群のインデクスであるサンプリングインデクスとのうちの少なくとも1つが、前記特定された業務において行われるデータ検索の際に参照されるサンプリング結果である、
計算機システム。 A storage unit for storing management information that is information including information indicating a relationship between a job including data search, a characteristic of the job, and a sampling rule;
A processor connected to the storage unit,
The processor is
(A) identifying a task associated with a sampling candidate data group that is one or more sampling candidate data;
(B) Based on the management information, determine a sampling condition in accordance with a sampling rule corresponding to the specified business characteristics;
(C) sampling data that meets the determined sampling conditions from the sampling candidate data group;
At least one of a sampling data group that is one or more sampling data including the sampled data and a sampling index that is an index of the sampling data group is used in a data search performed in the specified job. The referenced sampling result,
Computer system.
前記サンプリング候補データ群に関連付けられた業務は、前記サンプリング候補データ群の追加先の母集団に関連付けられた業務である、
請求項1記載の計算機システム。 The sampling candidate data group is one or more data added to a population that is one or more data,
The work associated with the sampling candidate data group is a work associated with the population to which the sampling candidate data group is added.
The computer system according to claim 1.
前記サンプリングインデクスは、前記母集団のうちのサンプリングデータ群のインデクスである、
請求項2記載の計算機システム。 The sampling result is the sampling index;
The sampling index is an index of a sampling data group in the population.
The computer system according to claim 2.
(D)(C)でサンプリングされたデータを指すデータを前記サンプリングインデクスに追加する処理を含んだメンテナンスを実行する、
請求項3記載の計算機システム。 The processor is
(D) performing maintenance including processing for adding data indicating the data sampled in (C) to the sampling index;
The computer system according to claim 3.
請求項4記載の計算機システム。 The processor executes (A) to (D) when the sampling candidate data group is added to the population.
The computer system according to claim 4.
請求項5記載の計算機システム。 At least the population of the population and the sampling candidate data group is big data.
The computer system according to claim 5.
(b1)前記管理情報を基に、前記特定した業務の特性にそれぞれ対応したサンプリングルールと、前記特定した業務の特性間の関係とを特定し、
(b2)前記特定した特性間関係に従い前記特定したサンプリングルールを組み合わせ、
前記特定したサンプリングループの組合せが、前記サンプリング条件である、
請求項1記載の計算機システム。 The processor in (B),
(B1) Based on the management information, specify a sampling rule corresponding to each of the specified business characteristics and a relationship between the specified business characteristics;
(B2) combining the specified sampling rules according to the specified relationship between characteristics,
The combination of the specified sampling loops is the sampling condition.
The computer system according to claim 1.
請求項7記載の計算機システム。 The inter-characteristic relationship is a combination of a characteristic and a logical operator.
The computer system according to claim 7.
請求項8記載の計算機システム。 The specified sampling rule combination is a combination of a sampling rule corresponding to each characteristic included in the specified inter-characteristic relationship and a logical operator included in the inter-characteristic relationship.
The computer system according to claim 8.
前記プロセッサが、業務の特性の入力を受け付けるユーザインタフェースを提供し、
前記ユーザインタフェースが、少なくとも1つの特性について、ユーザが指定する業務種別に応じた入力要否を提供する、
請求項7記載の計算機システム。 The management information includes information representing the relationship between the business type and the relationship between characteristics,
The processor provides a user interface for accepting input of business characteristics;
The user interface provides, for at least one characteristic, whether or not an input is required according to a business type specified by the user;
The computer system according to claim 7.
請求項1記載の計算機システム。 At least one characteristic of the identified work is that a data composition ratio represented by the sampling result is the same as a data composition ratio of a population that is a plurality of data.
The computer system according to claim 1.
前記サンプリングインデクスは、前記母集団のうちのサンプリングされたデータのインデクスである、
請求項1記載の計算機システム。 The sampling result is the sampling index;
The sampling index is an index of sampled data of the population;
The computer system according to claim 1.
(D)(C)の結果を基に前記サンプリング結果を更新するメンテナンスを実行し、
(E)(D)のメンテナンス後のサンプリング結果を構成するデータ数が一定数を超えている場合、前記サンプリング結果を構成するデータ数が前記一定数以下になるよう前記サンプリング結果からデータを削除する、
請求項1記載の計算機システム。 The processor is
(D) performing maintenance to update the sampling result based on the result of (C);
(E) When the number of data constituting the sampling result after the maintenance in (D) exceeds a certain number, the data is deleted from the sampling result so that the number of data constituting the sampling result is equal to or less than the certain number. ,
The computer system according to claim 1.
前記サンプリング候補データ群に関連付けられた業務は、前記サンプリング候補データ群の追加先の母集団に関連付けられた業務であり、
前記プロセッサは、(E)において、
(e1)(B)で決定されたサンプリング条件に適合しないデータを前記サンプリング結果から優先的に削除し、
(e2)(e1)の後のサンプリング結果を構成するデータ数が未だ一定数を超えている場合、古いデータほど優先的に前記サンプリング結果から削除する、
請求項13記載の計算機システム。 The sampling candidate data group is one or more data added to a population that is one or more data,
The work associated with the sampling candidate data group is a work associated with the population to which the sampling candidate data group is added,
The processor in (E),
(E1) Data that does not conform to the sampling condition determined in (B) is preferentially deleted from the sampling result,
(E2) When the number of data constituting the sampling result after (e1) still exceeds a certain number, the older data is preferentially deleted from the sampling result.
The computer system according to claim 13.
(B)データ検索を含んだ業務と業務の特性とサンプリングルールとの関係を表す情報を含んだ情報である管理情報を基に、前記特定した業務の特性に対応したサンプリングルールに従うサンプリング条件を決定し、
(C)前記決定したサンプリング条件に適合するデータを前記サンプリング候補データ群からサンプリングし、
前記サンプリングされたデータを含んだ1以上のサンプリングデータであるサンプリングデータ群と前記サンプリングデータ群のインデクスであるサンプリングインデクスとのうちの少なくとも1つが、前記特定された業務において行われるデータ検索の際に参照されるであるサンプリング結果である、
サンプリング方法。
(A) identifying a task associated with a sampling candidate data group that is one or more sampling candidate data;
(B) Based on the management information, which is information including the relationship between the business including the data search, the business characteristics, and the sampling rule, the sampling condition according to the sampling rule corresponding to the specified business characteristics is determined. And
(C) sampling data that meets the determined sampling conditions from the sampling candidate data group;
At least one of a sampling data group that is one or more sampling data including the sampled data and a sampling index that is an index of the sampling data group is used in a data search performed in the specified job. The sampling result that is referenced is
Sampling method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2015/071196 WO2017017748A1 (en) | 2015-07-27 | 2015-07-27 | Computer system and sampling method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2015/071196 WO2017017748A1 (en) | 2015-07-27 | 2015-07-27 | Computer system and sampling method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017017748A1 true WO2017017748A1 (en) | 2017-02-02 |
Family
ID=57884193
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2015/071196 Ceased WO2017017748A1 (en) | 2015-07-27 | 2015-07-27 | Computer system and sampling method |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2017017748A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107506383A (en) * | 2017-07-25 | 2017-12-22 | 中国建设银行股份有限公司 | A kind of audit data processing method and computer equipment |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020198863A1 (en) * | 1999-12-08 | 2002-12-26 | Vijayakumar Anjur | Stratified sampling of data in a database system |
| WO2010095457A1 (en) * | 2009-02-20 | 2010-08-26 | 日本電気株式会社 | Analysis preprocessing system, analysis preprocessing method, and analysis preprocessing program |
| JP2012194894A (en) * | 2011-03-17 | 2012-10-11 | Fujitsu Ltd | Data analysis program, data analysis method, and data analysis device |
-
2015
- 2015-07-27 WO PCT/JP2015/071196 patent/WO2017017748A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020198863A1 (en) * | 1999-12-08 | 2002-12-26 | Vijayakumar Anjur | Stratified sampling of data in a database system |
| WO2010095457A1 (en) * | 2009-02-20 | 2010-08-26 | 日本電気株式会社 | Analysis preprocessing system, analysis preprocessing method, and analysis preprocessing program |
| JP2012194894A (en) * | 2011-03-17 | 2012-10-11 | Fujitsu Ltd | Data analysis program, data analysis method, and data analysis device |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107506383A (en) * | 2017-07-25 | 2017-12-22 | 中国建设银行股份有限公司 | A kind of audit data processing method and computer equipment |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10585915B2 (en) | Database sharding | |
| US11797483B2 (en) | Data pruning based on metadata | |
| US9411840B2 (en) | Scalable data structures | |
| US8527556B2 (en) | Systems and methods to update a content store associated with a search index | |
| US20170206265A1 (en) | Distributed Consistent Database Implementation Within An Object Store | |
| US10552378B2 (en) | Dividing a dataset into sub-datasets having a subset of values of an attribute of the dataset | |
| US10127272B2 (en) | Modifying a database query | |
| US20190057133A1 (en) | Systems and methods of bounded scans on multi-column keys of a database | |
| US10635668B2 (en) | Intelligently utilizing non-matching weighted indexes | |
| US10706022B2 (en) | Space-efficient secondary indexing on distributed data stores | |
| US9734177B2 (en) | Index merge ordering | |
| US20170046353A1 (en) | Database management system and database management method | |
| Mathew et al. | Analysis of data management and query handling in social networks using NoSQL databases | |
| US20140379636A1 (en) | Automated resolution of database dictionary conflicts | |
| JP6111337B2 (en) | Database management system and database management method | |
| US20180018346A1 (en) | Computer system and data management method | |
| WO2017017748A1 (en) | Computer system and sampling method | |
| US20220365905A1 (en) | Metadata processing method and apparatus, and a computer-readable storage medium | |
| US11914612B2 (en) | Selective synchronization of linked records | |
| US10762139B1 (en) | Method and system for managing a document search index | |
| JP2016062522A (en) | Database management system, database system, database management method, and database management program | |
| JP2017142672A (en) | Database system | |
| US20200226131A1 (en) | Extended storage of text analysis source tables | |
| JP5810982B2 (en) | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM | |
| US11194817B2 (en) | Enterprise object search and navigation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15899582 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15899582 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |