WO2015025401A1 - データベース管理システム及びデータベース管理方法 - Google Patents
データベース管理システム及びデータベース管理方法 Download PDFInfo
- Publication number
- WO2015025401A1 WO2015025401A1 PCT/JP2013/072404 JP2013072404W WO2015025401A1 WO 2015025401 A1 WO2015025401 A1 WO 2015025401A1 JP 2013072404 W JP2013072404 W JP 2013072404W WO 2015025401 A1 WO2015025401 A1 WO 2015025401A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- data table
- comparison
- determination process
- database
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Definitions
- the present invention generally relates to database management technology.
- Patent Document 1 each time a new data table is input, an area different from the existing area is secured as the storage destination of the new data table, and the new data table is stored in the secured area.
- Patent Documents 1 and 2 each time a new data table is input, a database area different from the existing database area storing the stored data table is secured, and the new data table is stored in the secured database area. After that, a process is performed to determine whether the target column of the new data table stored in the database area satisfies the unique constraint condition by comparing the data of the new data table with all stored data. Thus, it is conceivable to guarantee the uniqueness of the target column of the new data table. However, such processing has a high processing cost.
- an object of the present invention is to reduce the processing cost of guaranteeing the uniqueness of the target column of the new data table in an environment where the new data table is stored in a database area different from the existing database area. There is to do.
- the database management system accepts input of a new data table for the database, and each comparison source value registered in the target column of the new data table is stored in the data table already stored in the database. Performs a unique constraint determination process that determines whether each comparison value that is a value registered in the target column is different, and stores the result in the database if the determination result in the unique constraint determination process is true.
- the new data table is stored in a second database area that is different from the first database area in which the already-completed data table is stored.
- the present invention it is possible to reduce the processing cost of guaranteeing the uniqueness of a target column of a new data table in an environment in which the new data table is stored in a database area different from the existing database area. Can do.
- FIG. 14 is a schematic diagram for explaining the outline of the present embodiment.
- the server 10 is an example of a computer and includes a processor 21.
- An external storage device 12 is connected to the server 10.
- the external storage apparatus 12 stores a database 1000, and the database 1000 has a plurality of database areas 101.
- the database area 101 is composed of one or more segments having a predetermined size.
- the processor 21 secures the database area 101 based on the size of the input data table 210 (that is, determines the number of segments to be allocated). Then, the processor 21 stores the input data table 210 in the secured database area 101. This process is executed every time the data table 210 is input.
- the server 10 may have an input device (for example, I / F (communication interface device)) (not shown), and the data table 210 may be input from the input device.
- the data table 210 may be input from a client (not shown) or may be input (read out) from the external storage apparatus 12.
- a unique constraint condition is set for the target column 111 among a plurality of columns included in the data table 210.
- the “target column” is a target attribute column among one or more attributes (items) included in the data table 210.
- the plurality of target columns respectively corresponding to the plurality of data tables 210 have the same target attribute.
- the value registered in the target column is referred to as “target column value”.
- the data table 210 has a plurality of records, a plurality of target column values are usually registered in the target column.
- the “unique constraint condition” is a constraint condition that the target column values do not overlap each other.
- the data tables 210-1 and 110-2 are already stored in the database areas 101-1 and 101-2, respectively.
- the data table 210-3 is newly input to the server 10.
- the data tables 210-1 and 210-2 constitute one table.
- the processor 21 sets the target column value in the target column 111-3 of the input data table 210-3 (hereinafter referred to as “comparison source value”) to each target column of the stored data tables 210-1 and 210-2. Whether or not the unique constraint condition is satisfied for the value (that is, the comparison source value is the same as any target column value in the target columns 111-1 and 111-2 of the stored data tables 210-1 and 210-2) Whether they are different). When it is determined that the data table 210-3 satisfies the unique constraint condition, the data table 210-3 is added as a component of the table.
- the determination of whether or not the data table 210-3 satisfies the unique constraint condition includes, for example, the following first stage determination process and second stage determination process.
- the processor 21 determines that for each comparison source value, the same column value as the comparison source value corresponds to the column value range 120-1 corresponding to each of the stored data tables 210-1 and 210-2. And 120-2.
- the column value range 120 is a range between the minimum value and the maximum value among the target column values (hereinafter referred to as “comparison destination values”) registered in the corresponding stored data table 210.
- the column value range 120 includes a minimum value of comparison destination values and a maximum value of comparison destination values.
- the processor 21 determines that comparison source values not included in any column value range 120 satisfy the unique constraint condition.
- the comparison source value “1” is included in both the column value range 120-1 (“8” to “15”) and the column value range 120-2 (“5” to “10”). Since it does not, it satisfies the unique constraint condition.
- the comparison source value “6” is included in the data column value range 120-2 (“5” to “10”), the determination process of the next second stage is performed (S20-1).
- the comparison source value “14” is included in the column value range (“8” to “15”) 120-1, the next second stage determination process is performed (S20-2).
- the processor 21 determines that the comparison source value determined to be included in the column value range in the first stage determination process (hereinafter referred to as “in-range comparison source value”) It is determined whether or not it matches any of the comparison destination values of the data table to be configured.
- the in-range comparison source value that does not match any comparison destination value is determined to satisfy the unique constraint condition.
- An in-range comparison source value that matches any of the comparison destination values is determined not to satisfy the unique constraint condition.
- the in-range comparison source value “14” does not match any of the comparison destination values “8”, “12”, and “15” of the stored data table 210-1, and therefore satisfies the unique constraint condition.
- the in-range comparison source value “6” does not match any of the comparison destination values “5”, “7”, and “10” of the data table 210-2 stored in the database area 101-1. Satisfy the constraints.
- the processor 21 determines that the unique constraint condition is satisfied for all the comparison source values of the input data table 210-3, the processor 21 stores the input data table 210-3 in the database area for the data table 210-3 ( Any stored data table is stored in the database area 101-3. In FIG. 14, since all the comparison source values “1”, “6”, and “14” satisfy the unique constraint condition, the processor 21 stores the data table 210-3 in the database area 101-3. (S40). As a result, the data table 210-3 is newly inserted into the table composed of the data tables 210-1 and 210-2.
- the processor 21 determines that any one comparison source value does not satisfy the unique constraint condition (for example, when at least one in-range comparison source value does not satisfy the unique constraint condition), the processor 21 is input.
- the data table 210-3 is not stored in the database area.
- the uniqueness of the target column 111 can be guaranteed in the data tables stored in the plurality of storage areas 101. Further, the processor 21 roughly finds a comparison source value that satisfies the unique constraint condition in the determination process of the first step, and only the comparison source value that is not determined to be the comparison source value that satisfies the unique constraint condition By making a detailed determination in the second stage determination process after the determination process, the uniqueness of the target column 111-3 can be determined in a short time.
- processor 21 may determine whether or not the in-range comparison source value and the comparison target value match in the second-stage determination process as follows.
- the processor 21 stores the upper N bits of binary numbers (N is a natural number) in the comparison table 130 for each of the comparison source value and the comparison target value.
- the processor 21 determines whether or not the upper bit of the in-range comparison source value matches any of the upper N bits of the comparison target value.
- An in-range comparison source value that does not match the upper N bits of any comparison destination value is determined to satisfy the unique constraint condition.
- the processor 21 determines whether the in-range comparison source value matches the comparison destination value of the upper 3 bits. Determine whether or not. If none of these comparison destination values match, the in-range comparison source value is determined by the processor 21 if the unique constraint condition is satisfied. If the in-range comparison source value matches any of the comparison destination values, it is determined that the in-range comparison source value does not satisfy the unique constraint requirement. If there is an in-range comparison source value that does not satisfy the unique constraint condition, the processor 21 may not store the input data table 210-3 in the storage area 101, as in the second-stage determination process.
- the processor 21 prepares a comparison table 130-3 storing the upper 3 bits “000”, “011”, and “111” of the comparison source values “1”, “6”, and “14”, respectively. . Since the comparison source value “1” was not included in any of the column value ranges 120-1 and 120-2 in the determination process at the first stage, the determination using the comparison value is not performed. Since the comparison source value “6” is included in the column value range 120-2 in the determination process at the first stage, the processor 21 matches the upper 3 bits “011” of the comparison source value “6” within the range. It is determined whether the upper 3 bits exist in the comparison table 130-2 corresponding to the column value range 120-2.
- the processor 21 obtains the in-range comparison source value “6” and the comparison destination value whose upper 3 bits are “011”. Compare.
- the comparison destination value whose upper 3 bits are “011” is only “7” in the data table 210-2, and the comparison destination value matching the in-range comparison source value “6” is stored in the data table 210-2. You can see that it doesn't exist. Therefore, it is determined that the in-range comparison source value “6” satisfies the unique constraint condition (S30-1).
- the other in-range comparison source value “14” is processed in the same way, and it can be seen that the in-range comparison source value “14” does not match any of the comparison destination values in the data table 210-1. Therefore, it is determined that the in-range comparison source value “14” also satisfies the unique constraint condition (S30-2).
- a modified example of the determination process at the second stage may be a method other than comparing the above-described upper N bits.
- a modification of the determination process at the second stage may compare the hash values of the comparison source value and the comparison destination value. That is, the upper N bits or the hash value can be referred to as an information amount reduction value obtained by reducing the information amount of the attribute value of the target column, and a modified example of the determination process at the second stage is an information amount reduction value of the comparison source value. In other words, it can also be referred to as processing for comparing the information amount reduction value of the comparison destination value.
- the plurality of data tables stored in the plurality of storage areas 101 are each an element of a database, for example, an element of a kind of table of a database schema.
- the database may be stored in a storage device (for example, a memory or an auxiliary storage device) in the server 10 instead of the external storage apparatus 12.
- FIG. 1 is a block diagram showing an example of a computer system 1 according to this embodiment.
- the computer system 1 includes a server 10, an external storage device 12, and a client 11.
- the server 10, the external storage device 12, and the client 11 can transmit and receive data bidirectionally through the communication network 13.
- the client 11 serves as an input device that inputs information to the server 10 and a display device that displays information output from the server 10, but the server 10 has an input / output device, and the server 10 Information may be input or information may be output (displayed) via the input / output device.
- the server 10 includes the I / F (for example, NIC (Network Interface Card)) 1401, the memory 20, and the processor 21 connected thereto.
- I / F for example, NIC (Network Interface Card)
- the memory 20 for example, a hard disk drive, a solid state drive, or the like.
- Other types of storage devices may be employed instead of or in addition to the memory 20.
- the memory 20 stores the database management system 30.
- the database management system 30 may be loaded from an auxiliary storage device (not shown) or may be loaded from a remote device such as the external storage device 12.
- the processor 21 executes the database management system 30 stored in the memory 20.
- the processing may be described using the database management system 30 (or an element in the database management system 30) as the subject, but the subject of the processing performed by the database management system 30 is the processor 21 or the server 10. You can also.
- the database management system 30 controls the database 1000 stored in the external storage device 12.
- the client 11 can access the database 1000 through the database management system 30.
- the external storage apparatus 12 includes an I / F (for example, NIC) 1501, a memory 1503, a storage device group 1504, and a processor 1502 connected thereto. Communication with the server 10 and the client 11 is possible through the I / F 1501.
- the storage device group 1504 is composed of one or a plurality of storage devices, and stores the database 1000.
- the memory 1503 stores an insertion data table 210, a management point management table 500, a segment information management table 600, a table information management table 700, a first intermediate table 800, and a second intermediate table 900.
- the database 1000 includes one or more tables 3220 and may further include one or more indexes 3230.
- the table 3220 is a set of one or more records, and the record is composed of one or more columns.
- the index 3230 is a data structure created for one or more columns or the like of the table 3220, and is for speeding up access to the table 3220 by a selection condition including the column or the like targeted by the index 3230. is there.
- the index 3230 is a data structure that holds information for specifying a record including the value in the table for each value of the target column.
- a B-tree or the like is used as information for specifying a record, a physical address, a logical row ID, or the like may be used.
- the database 1000 may include database statistics.
- the database statistics include, for example, information included in the database 1000, such as information indicating the number of entries in the index 3230, information indicating the number of records in the table 3220, maximum value, average value, minimum value, and value distribution for each column. May contain information about.
- the insertion data table 210 has data to be inserted into the table 3220.
- the management point management table 500 manages operations for the database 1000.
- the segment information management table 600 and the table information management table 700 are used when the database 1000 is operated.
- the database related information is information including an insertion data table 210, a management point management table 500, a segment information management table 600, and a table information management table 700.
- a segment is a unit of data storage area in the database 1000.
- the database 1000 has a plurality of segments, and stores a data table in each segment.
- Each segment is associated with an ID assigned by the database management system 30.
- the segment information management table 600 manages information related to segments.
- the database management system 30 manages the data storage location using the table information management table 700 and the segment information management table 600.
- the insertion data table 210 is stored in the external storage apparatus 12 from the user (for example, administrator) of the database 1000 through the client 11, for example.
- the first intermediate table 800 and the second intermediate table 900 are used in a unique constraint determination process described later.
- the first intermediate data table 800 stores the result of the first stage determination process in the unique constraint determination process.
- the second intermediate data table 900 stores the result of the second stage determination process executed after the first stage determination process.
- the management point management table 500 includes a segment range in which the insertion data table 210 is inserted in a data table insertion process described later, a table to be inserted into the insertion data table 210, and a start time and an end of the data table insertion process. Manage time and information.
- the management point management table 500 is controlled by the management table processing unit 34 of the database management system 30. When the data table insertion process is executed once, one record (management point record) is added to the management point management table 500.
- the segment information management table 600 manages the state of segments in the database 1000.
- the segment information management table 600 is managed by the database management system 30.
- the table information management table 700 manages the state of the table 3220 of the database 1000.
- the table information management table 700 is managed by the database management system 30.
- the database management system 30 When the database management system 30 receives an insertion processing request or a data table deletion processing request from the client 11, the database management system 30 executes processing corresponding to the request.
- the database management system 30 When the database management system 30 receives an access request from the client 11, the database management system 30 accesses the database 1000 of the external storage apparatus 12.
- the database management system 30 includes a data operation request receiving unit 31, an information management table management unit 32, a table data insertion unit 33, and a management table processing unit 34.
- the data operation request reception unit 31 receives an insertion processing request or a data table deletion processing request from the client 11.
- the information management table management unit 32 manages data in each information management table of the external storage apparatus 12.
- the table data insertion unit 33 performs data insertion processing on the table 3220 during the data table insertion processing.
- the management table processing unit 34 manages processing for the management point management table 500.
- the management table processing unit 34 includes a management point record search process 35, a management point record generation process 36, a management point record deletion process 37, and a management point record update process 38, as will be described later.
- the memory 20 stores data used in data table insertion processing or data table deletion processing.
- the memory 20 includes, for example, the total number of segments 40, the segment range 50, the table name 60, the current time stamp 70, the holding segment 80, the target column name list 90, and the column value range list as such data. 300 and the comparison value list 400 are stored.
- the total number of segments 40 is the number of segments required for storing all data (insertion data table) during the data table insertion process.
- the segment range 50 includes a segment range in which data is stored in the data table insertion process or a segment range in which data to be deleted is stored in the data table deletion process.
- the segment range 50 has a start segment ID 51 indicating the ID of the first segment and an end segment ID 52 indicating the ID of the last segment.
- the table name 60 has information for specifying the table 3220 that is the target of data insertion during the data table insertion process.
- the current time stamp 70 has information on the current date and time.
- the holding segment 80 holds the segment ID that last stored the data.
- the target column name list 90 has a list of names of columns (target columns) that are targets of the unique constraint conditions in Table 3220.
- the value in the target column registered in the target column name list 909 is the target column value referred to in this embodiment.
- the column value range list 300 holds column value ranges for data tables already stored in each segment.
- the column value range is a range between the minimum value and the maximum value of the target column value of the data table.
- the comparison value list 400 holds a comparison value (information amount reduction value) calculated from the target column value for each stored data table (or each segment in which the data table is stored).
- the comparison target LD list 410 and the index confirmation threshold 420 are used in the unique constraint determination process described later. Stores the result information of the second stage determination process executed after the first stage determination process.
- the index confirmation threshold 420 is used for selecting a processing method for records stored in the second intermediate table in the processing after the determination processing in the second stage.
- “LD” is an abbreviation for load data.
- FIG. 2 is a flowchart showing an outline of the data table insertion process when there is no data list already stored in the database 1000.
- the target attribute (target column) is “ORDER_ID”.
- the data operation request accepting unit 31 accepts an insertion processing request 1100 from the client 11.
- This insertion processing request 1100 includes information (for example, a file name) that identifies the insertion data table 210 stored in the external storage apparatus 12.
- the data operation request accepting unit 31 activates the table data inserting unit 33.
- the table data insertion unit 33 acquires the current date and time from the current time stamp 70 and sets it as the start date and time (S901).
- the table data insertion unit 33 reads the insertion data table 210, calculates the number of segments necessary for storing the data to be inserted (S902), and stores the calculated number of segments in the total number of segments 3140.
- the table data insertion unit 33 secures an insertion segment in the database 1000 based on the total number of segments 40, and stores a start segment ID 31 and an end segment ID 32 for data insertion in the segment range 50 on the memory 20 (S903). ).
- the management table processing unit 34 secures storage areas for the column value range list 300 and the comparison value list 400 by the management point record generation processing 36 (S904).
- the table data insertion unit 33 stores the target column value range in the insertion data table 210 specified by the insertion processing request 1100 in the column value range list 300 (S905).
- the table data insertion unit 33 stores the comparison value (information amount reduction value) of the target column value in the insertion data table 210 designated by the insertion processing request 1100 in the comparison value list 400 (S906).
- the management table processing unit 34 generates a new record (management point record) in the management point management table 500 by the management point record generation processing 36. Then, the management table processing unit 34 stores the start date and time of the record (management point record) generated in S904 in S_TIME 511 (see FIG. 4) of the management point management table 500 by the management point record generation processing 36, and batch data insertion
- the start segment ID 51 is stored in S_SEG 513
- the end segment ID 52 is stored in F_SEG 514
- the name of the table 3220 into which the data batch insertion has been performed is stored in TABLE 515 (S907).
- the table data insertion unit 33 adds the insertion data table 210 specified by the insertion processing request 1100 from the start segment ID 51 secured in the table 3220 of the database 1000 to the end segment ID 52 (S908).
- the table data insertion unit 33 acquires the current date and time from the current time stamp 70 and sets it as the end date and time (S909).
- the management table processing unit 34 stores the end date and time of the record (management point record) generated in S905 in the F_TIME 512 by the management point record update unit 38, and updates a new record in the management point management table 500. (S910).
- the start date / time (S_TIME 511) and end date / time (F_TIME 512) of the data table insertion process the start segment (S_SEG 513) and end segment (F_SEG 514) of the data table for insertion, and the table name A new management point record storing (TABLE 515) is added to the management point management table 500.
- the management point management table 500 includes a table name (TABLE 515), a start date / time (S_TIME 511) and an end date / time (F_TIME 512) of the data table insertion process, and a start segment (S_SEG 513) and end indicating the insertion position of the insertion data table.
- the segment (F_SEG 514) is managed in a uniquely associated manner. Thereby, when the user deletes the data table at a later date, the storage position of the data table can be easily known by designating the start date and time and the end date and time of the data table insertion process as the search conditions.
- FIG. 3 is a flowchart showing an outline of the data table insertion process when a data list already stored in the database 1000 exists.
- the data operation request accepting unit 31 accepts an insertion processing request 1100 from the client 11.
- This insertion processing request 1100 includes information (for example, a file name) that identifies the insertion data table 210 stored in the external storage apparatus 12.
- the data operation request receiving unit 31 activates the table data inserting unit 33.
- the table data insertion unit 33 acquires the current date and time from the current time stamp 70 and sets it as the start date and time (S1201).
- the table data insertion unit 33 reads the insertion data table 210, calculates the number of segments necessary for storing the data to be inserted (S1202), and stores the calculated number of segments in the total number of segments 40.
- the table data insertion unit 33 secures a segment having a value of the total number of segments 40 in the database 1000 and stores the data insertion start segment ID 51 and end segment ID 52 in the segment range 50 on the memory 20 (S1203). .
- the management table processing unit 34 secures storage areas for the column value range list 300 and the comparison value list 400 by the management point record generation processing 36 (S1204).
- the table data insertion unit 33 stores the target column value range of the data in the insertion data table 210 designated by the insertion processing request 1100 in the column value range list 300 (S1205).
- the table data insertion unit 33 stores the comparison value (information amount reduction value) of the target column value of the data in the insertion data table 210 specified by the insertion processing request 1100 in the comparison value list 400 (S1206). ).
- the table data insertion unit 33 compares the target column value in the insertion data table 210 specified by the insertion processing request 1100 with the column value range registered in the column value range list 300, and the target column value Is included in the column value range.
- the table data insertion unit 33 registers the target column value and the LD_ID to which the target column value range including the target column value belongs in the first intermediate table 800. (S1207).
- LD_ID is an ID (identifier) of the insertion data table, and LD is an abbreviation for load data.
- the table data insertion unit 33 acquires the target column value and the LD_ID corresponding to the target column value from the first intermediate table 800. Then, the table data insertion unit 33 compares the comparison value corresponding to the target column value with a plurality of comparison values included in the comparison value list 400 corresponding to the LD_ID. Then, the table data insertion unit 33 registers the target column value matched in the comparison and the LD_ID to which the comparison value list 400 matched with the target column value belongs in the second intermediate table 900 (S1207).
- the table data insertion unit 33 acquires the target column value and the LD_ID corresponding to the target column value from the second intermediate table 900. Then, the table data insertion unit 33 determines whether the target column value matches any of the target column values belonging to the LD_ID. If it matches any of them, the table data insertion unit 33 stops the data table insertion process and notifies the processing request issuer program that the unique constraint condition has not been satisfied. If they do not match, the table data insertion unit 33 executes the following process.
- the management table processing unit 34 generates a new record (management point record) in the management point management table 500 by the management point record generation processing 36. Then, the management table processing unit 34 stores the start date and time of the record (management point record) generated in S1204 in S_TIME 511 (see FIG. 4) of the management point management table 500 by the management point record generation processing 36, and inserts the data.
- the start segment ID 51 and the end segment ID 52 for storing the table 210 are stored in S_SEG 513 and F_SEG 514, respectively, and the name of the table 3220 in which the insertion data table is inserted is stored in TABLE 515 (S1208).
- the table data insertion unit 33 stores the insertion data table 210 specified by the insertion processing request 1100 from the start segment ID 51 to the end segment ID 52 secured in the table 3220 of the database 1000 (S1209).
- the table data insertion unit 33 acquires the current date and time from the current time stamp 70 and sets it as the end date and time (S1210).
- management table processing unit 34 uses the management point record update unit 38 to store the end date and time of the record (management point record) generated in S1205 in the F_TIME 512, and updates a new record in the management point management table 500. (S1211).
- the start date / time (S_TIME 511) and end date / time (F_TIME 512) of the data table insertion process the start segment (S_SEG 513) and end segment (F_SEG 514) of the data table for insertion, and the table name A new management point record storing (TABLE 515) is added to the management point management table 510.
- the management point management table 500 includes a table name (TABLE 515), a start date / time (S_TIME 511) and an end date / time (F_TIME 512) of data table insertion processing, and a start segment (S_SEG 513) and an end segment ( F_SEG 514) is managed in association with each other.
- a table name TABLE 515
- S_TIME 511 start date / time
- F_TIME 512 end date / time
- F_SEG 513 and an end segment F_SEG 514
- the storage of the insertion data table 210 is stopped.
- the insertion data table 210 is stored when all target column values in the stored data table satisfy the unique constraint condition. Thereby, the uniqueness of the target column value of the insertion data table 210 can be guaranteed.
- FIG. 4 is a diagram showing a configuration example of the management point management table 500.
- the management table processing unit 34 generates and manages a management point management table 500 on the database 1000.
- the management point management table 500 has a plurality of records. This record has S_TIME 511, F_TIME 512, S_SEG 513, F_SEG 514, TABLE 515, and LD_ID 516 as data attributes.
- S_TIME 511 represents the date and time (start date and time) when the insertion process of the insertion data table 210 is started.
- F_TIME 512 represents the date and time (end date and time) when the data table insertion processing is completed.
- S_SEG 513 represents the ID (start segment ID) of the segment where insertion of the insertion data table 210 is started.
- E_SEG 514 represents the ID (end segment ID) of the segment in which insertion of the insertion data table 210 is completed.
- TABLE 515 represents the name or identifier (table name) of the table that is the target of the insertion processing of the insertion data table 210.
- the LD_ID 516 represents an ID that can uniquely identify the insertion data table registered in the data table insertion process.
- S_SEG 513 and F_SEG 514 may have a plurality of elements (repetition sequence) for one record.
- the start date and time (S_TIME 511) of the data table insertion process is “2009/01/02 06: 06: 00: 16” and the end date and time (F_TIME 512) of the data table insertion process is “2009”. “January 02, 08:05:16”, the insertion data table start segment ID (S_SEG513) is “4501”, and the insertion data table end segment ID (F_SEG514) is “5000”.
- the table name (TABLE 515) is “T1” and the LD_ID is “2”.
- FIG. 5 is a diagram showing a configuration example of the segment information management table 600.
- the segment information management table 600 is generated for each segment.
- the segment information management table 600 has SEGMENT_ID 611, TABLE_NAME 612, NEXTSEG_ID 613, PREVSEG_ID 614, and REST 615 as data attributes.
- SEGMENT_ID 611 represents a segment identifier SEGMENT_ID.
- TABLE_NAME 612 represents the name of a table having a segment indicated by SEGMENT_ID 611.
- NEXTSEG_ID 613 represents an identifier (SEGMENT_ID) of the segment next to the segment indicated by SEGMENT_ID 611.
- PREVSEG_ID 614 represents the identifier (SEGMENT_ID) of the segment preceding the segment indicated by SEGMENT_ID 611.
- REST 615 represents the amount of data (number of pages) that can be stored in the segment indicated by SEGMENT_ID 611.
- FIG. 6 is a diagram illustrating a configuration example of the table information management table 700.
- the table information management table 700 is generated for each table stored in the database 1000.
- the table information management table 700 has TABLE_NAME 711, TABLE_ID 712, and SEGMENT 713 as data attributes.
- TABLE_NAME 711 represents a table name which is a table name.
- TABLE_ID 712 represents an identifier of the table.
- SEGMENT 713 represents the range of segments used in the table. SEGMENT 713 may represent a range of multiple segments.
- the table information management table 700 shown in FIG. 6 indicates that the table indicated by TABLE_ID 712 uses the range of segment ID “1 to 2000” and the range of segment ID “4501 to 5000”.
- FIG. 7 is a diagram illustrating a configuration example of the column value range list 300.
- the column value range list 300 has a column value range (minimum value and maximum value) in the data table corresponding to the LD_ID as a record for each LD_ID.
- the column value range list 300 includes LD_ID 301, UC_ID 302, MIN 303, and MAX 304 as data attributes.
- LD_ID 301 represents an ID for uniquely identifying the insertion data table 210 as described above.
- the UC_ID 302 represents an ID for uniquely identifying the target column.
- MIN 303 represents the minimum value among the target list values of the target list (UC_ID 302) in the insertion data table corresponding to the LD_ID 301.
- MAX 304 represents the maximum value among the target list values of the target list (UC_ID 302).
- FIG. 7 shows that in the insertion data table 210 of LD_ID 301 “0”, the minimum value is “1” and the maximum value is “10” among the plurality of target column values corresponding to UC_ID 302 “0”. Show.
- FIG. 8 is a diagram showing a configuration example of the comparison value list 400.
- the comparison value list 400 has LD_ID 401 and HASH_V 402 indicating a comparison value as data attributes for each LD_ID.
- LD_ID 401 represents an ID for uniquely identifying the insertion data table 210 as described above.
- HASH_V 402 represents a comparison value of each target column value included in the data table corresponding to the LD_ID 401.
- the comparison value may be a hash bitmap value, for example, and may be a value of the upper 3 bits of a value (bit string) expressing the target column value in binary number.
- FIG. 17 is a diagram illustrating a configuration example of the comparison target LD list 410.
- the comparison target LD list 410 has, for each LD_ID, the number of column values stored in the second intermediate table in the data table corresponding to the LD_ID as a record.
- the comparison target LD list 410 includes LD_ID 411, UC_ID 412, and comparison target number 413 as data attributes.
- LD_ID 411 represents an ID for uniquely identifying the insertion data table 210 as described above.
- UC_ID 412 represents an ID for uniquely identifying the target column.
- the comparison target number 413 represents the number stored in the second intermediate table among the target list values of the target list (UC_ID 412) in the insertion data table corresponding to the LD_ID 411.
- FIG. 17 shows that one column value is stored in the second intermediate table among a plurality of target column values corresponding to UC_ID 412 “0” in the insertion data table 210 of LD_ID 411 “0”. .
- FIG. 8 shows that the comparison value of each target column value is “0”, “2”, “5” in the data table of LD_ID 401 “0”.
- FIG. 9 is a flowchart showing an example of a data table insertion process when there is no data table already stored in the database 1000.
- FIG. 9 is a detailed description of the processing of FIG.
- This process is started, for example, when the data operation request receiving unit 31 receives the insertion target table name and the insertion target insertion data table 210 name from the client 11.
- the table data insertion unit 33 acquires the current date and time from the current time stamp 70 (S101).
- the table data insertion unit 33 refers to the number of records and the capacity of the specified insertion data table 210, and calculates the number of segments required to add the insertion data table 210 to the specified table 3220 (S102). ). Then, the table data insertion unit 33 stores the calculated number of segments in the total number of segments 40 on the memory 20.
- the table data insertion unit 33 secures a segment for storing the insertion data table 210 in the area of the database 1000 of the external storage device 12 (S103).
- the table data insertion unit 33 stores the first segment ID in the start segment ID 51 of the segment range 50 and the last segment ID in the end segment ID 52 for the secured segment.
- the management table processing unit 34 secures storage areas for the column value range list 300 and the comparison value list 400 by the management point record generation processing 36 (S104).
- the table data insertion unit 33 stores the minimum value and the maximum value of the target column value in the insertion data table 210 in the column value range list 300 (S105). Details of this processing will be described later.
- the insertion data table 210 may be a data table read from the external storage apparatus 12 or a data table input from the client 11.
- the table data insertion unit 33 stores the comparison value of the target column value in the insertion data table 210 in the comparison target column value list 400 (S106). Details of this processing will be described later.
- the management table processing unit 34 generates a new management point record by the management point record generation processing 36 and adds it to the management point management table 500.
- the management point record generation processing 36 stores the value of the current time stamp 70 acquired in S101 in S_TIME 511 and the value of the start segment ID 51 acquired in S103 in S_SEG 513 for the newly generated management point record. Then, the value of the end segment ID 52 acquired in S103 is stored in F_SEG 514 (S107).
- the table data insertion unit 33 stores the insertion data table 210 in the segment secured in S103 (S108). Then, the table data insertion unit 33 acquires the current time stamp 70 (S109).
- the management table processing unit 34 stores the acquired current time stamp value in F_TIME 512 by the management point record update processing 38, and updates the record in the management point management table 500 added in S107 (S110).
- the server 10 collectively adds the insertion data table 210 prepared by the user to the table 3220 and manages the start date and time and end date and time of data batch insertion as information for identifying the record added by the user. Register in the point management table 500.
- FIG. 10 is an example of a flowchart showing details of setting processing of the target column value range list 300.
- FIG. 10 shows details of the processing in S105 of FIG.
- the table data insertion unit 33 acquires the minimum value and the maximum value of the target column registered in the target column name list 90 from the insertion data table 210 (S201).
- the table data insertion unit 33 registers the LD_ID corresponding to the insertion data table 210 and the acquired minimum and maximum values in the column value range list 300 (S202), and returns to S105.
- FIG. 11 is an example of a flowchart showing details of the setting process of the comparison target column value list 400.
- FIG. 11 shows details of the processing in S106 of FIG.
- the table data insertion unit 33 selects one of the unselected records (initially the first record) from the insertion data table 210 (S301).
- the table data insertion unit 33 creates a hash bitmap value from the target column value registered in the target column name list 90 for the record selected in S301, and registers the hash bitmap value in the comparison value list. (S302).
- the table data insertion unit 33 determines whether or not an unselected record exists in the insertion data table 210 (S303).
- the table data insertion unit 33 returns to S301, and executes S301 to S303 for the remaining unselected records.
- the table data insertion unit 33 ends the process. This is because all the records are registered in the comparison target column value list.
- the server 10 confirms that the record of the insertion data table 210 satisfies the unique constraint condition, and then inserts the insertion data table into the target table 3220 at a time.
- the management point management table 500 the start date and time, the end date and time, and the storage position (segment ID) related to the insertion data table are registered.
- FIG. 12 is a flowchart showing an example of data table insertion processing when a data table already stored in the database 1000 exists.
- FIG. 12 is a detailed description of the processing of FIG.
- This process is started, for example, when the data operation request receiving unit 31 receives the insertion target table name and the insertion target insertion data table 210 name from the client 11.
- the table data insertion unit 33 performs a unique constraint determination process on the insertion data table 210 (S407). Although details of this processing will be described later, when the unique constraint condition is satisfied by this unique constraint determination processing, the table data insertion unit 33 proceeds to the next S408.
- the server 10 adds the insertion data table 210 prepared by the administrator or the like in a batch in the table 3220, and starts and ends the data table insertion processing as information for identifying the record added by the administrator.
- the date and time is registered in the management point management table 500.
- the storage of the insertion data table 210 is stopped.
- the insertion data table 210 is stored when the unique constraint condition is satisfied for the target column value in the stored data table. Thereby, the uniqueness of the target column value of the insertion data table 210 can be guaranteed.
- FIG. 13 is a flowchart showing an example of the unique constraint determination process for the insertion data table.
- FIG. 13 corresponds to the details of the processing of S407 in FIG.
- the table data insertion unit 33 selects one of the unselected records (initially the first record) from the insertion data table 210 (S1301).
- the table data insertion unit 33 determines whether the target column value (comparison source value) corresponding to the target column name list 90 is included in any column value range registered in the column value range list 300. (S1302). When the comparison source value is not included in any column value range (S1302: NO), the table data insertion unit 33 proceeds to S1305.
- the table data insertion unit 33 sets the comparison source value and the LD_ID to which the column value range including the comparison source value belongs to the first intermediate value. Register in the data table 800 and go to S1305.
- the table data insertion unit 33 determines whether or not an unselected record exists in the insertion data table 210 (S1305). If there is an unselected record in the insertion data table (S1305: YES), the table data insertion unit 33 returns to S1301.
- the table data insertion unit 33 proceeds to S1307. This is because the determination in S1302 is completed for all the records in the insertion data table.
- the table data insertion unit 33 determines whether or not an unselected record exists in the first intermediate table 800 (S1307). First, a case where an unselected record exists in the first intermediate table 800 (S1307: YES) will be described.
- the table data insertion unit 33 selects one of the unselected records from the first intermediate table 800 and creates a hash bitmap value (HASH_V) that is a comparison value from the target column value (comparison source value) of the selected record. (S1308). Then, the table data insertion unit 33 specifies the LD_ID related to the selected record, and the HASH_V of the comparison source value matches one of the plurality of HASH_Vs corresponding to the specified LD_ID in the comparison target column value list 400. It is determined whether or not. (S1309).
- HASH_V hash bitmap value
- the table data insertion unit 33 sets the comparison source value and the specified LD_ID to the second intermediate value. It registers in the table 900 (S1310), and returns to S1307.
- the table data insertion unit 33 determines whether or not an unselected record exists in the second intermediate table 900 (S1311). If there is no unselected record (S1311: NO), it is determined that all target column values in the insertion data table satisfy the unique constraint condition (S1315), and the process proceeds to S408 in FIG. 12 (proceeds to S408).
- the table data insertion unit 33 selects one of the unselected records from the second intermediate table 900 and compares the selected records. The original value is compared with a plurality of comparison destination values included in the LD_ID related to the selected record (S1312).
- the table data insertion unit 33 determines whether or not the comparison source value matches any of the plurality of comparison destination values included in the LD_ID (S1313). When the comparison source value does not match any of the comparison destination values (S1313: NO), the table data insertion unit 33 returns to S1311.
- the table data insertion unit 33 determines that the unique constraint condition is not satisfied (S1314), and stops registration of the insertion data table (END).
- FIG. 15 is a flowchart showing an example of the unique constraint determination process for the insertion data table.
- FIG. 15 corresponds to the details of the processing of S407 in FIG.
- the table data insertion unit 33 selects one of the unselected records (initially the first record) from the insertion data table 210 (S1501).
- the table data insertion unit 33 determines whether the target column value (comparison source value) corresponding to the target column name list 90 is included in any column value range registered in the column value range list 300. (S1502). When the comparison source value is not included in any column value range (S1502: NO), the table data insertion unit 33 proceeds to S1505.
- the table data insertion unit 33 sets the comparison source value and the LD_ID to which the column value range including the comparison source value belongs to the first intermediate value. Register in the data table 800 and go to S1505.
- the table data insertion unit 33 determines whether an unselected record exists in the insertion data table 210 (S1505). If there is an unselected record in the insertion data table (S1505: YES), the table data insertion unit 33 returns to S1501.
- the table data insertion unit 33 proceeds to S1507. This is because the determination in S1502 is completed for all the records in the insertion data table.
- the table data insertion unit 33 determines whether or not an unselected record exists in the first intermediate table 800 (S1507). First, a case where an unselected record exists in the first intermediate table 800 (S1507: YES) will be described.
- the table data insertion unit 33 selects one of the unselected records from the first intermediate table 800 and creates a hash bitmap value (HASH_V) that is a comparison value from the target column value (comparison source value) of the selected record. (S1508). Then, the table data insertion unit 33 specifies the LD_ID related to the selected record, and the HASH_V of the comparison source value matches one of the plurality of HASH_Vs corresponding to the specified LD_ID in the comparison target column value list 400. It is determined whether or not. (S1509).
- HASH_V hash bitmap value
- the table data insertion unit 33 sets the comparison source value and the specified LD_ID to the second intermediate value. Registered in the table 900, the corresponding number of comparison targets in the comparison target LD list 410 is increased by 1 (S1510), and the process returns to S1507.
- the table data insertion unit 33 determines whether or not an unselected record exists in the second intermediate table 900 (S1511). When there is no unselected record (S1511: NO), it is determined that all target column values in the insertion data table satisfy the unique constraint condition (S1515), and the process proceeds to S408 in FIG. 12 (proceeds to S408).
- the table data insertion unit 33 When there is an unselected record in the second intermediate table 900 (S1511: YES), the table data insertion unit 33, for all the records in the second intermediate table 900, the comparison source value for each record and the LD_ID for that record Are compared with a plurality of comparison target values (S1512).
- the table data insertion unit 33 determines whether or not the comparison source value matches any of the plurality of comparison destination values included in the LD_ID (S1513). If the comparison source value does not match any of the comparison destination values (S1513: NO), the table data insertion unit 33 returns to S1511.
- the table data insertion unit 33 determines that the unique constraint condition is not satisfied (S1514), and stops registration of the insertion data table (END).
- FIG. 16 is a flowchart showing an example of the unique constraint determination process for the insertion data table.
- FIG. 16 corresponds to the details of the processing of S1512 of FIG.
- the table data insertion unit 33 determines whether or not an unselected record exists in the comparison target LD list 410 (S1601). If there is no unselected record (S1601: NO), it is determined that all target column values in the insertion data table satisfy the unique constraint condition (S1603), and the process proceeds to S1513 in FIG. 15 (proceeds to S1513).
- the table data insertion unit 33 selects one of the unselected records from the comparison target LD list 410 and compares the selected record with a comparison target. Whether the number 413 is greater than the search confirmation threshold 420 is compared (S1604). If the comparison target number 413 is equal to or smaller than the search confirmation threshold 420 (S1604: NO), it is determined whether or not an unselected record exists in the database area corresponding to the LD_ID 411 of the record selected from the comparison target LD list 410 (S1606). ).
- the insertion data table that does not satisfy the unique constraint condition is not stored in the segment.
- the insertion data table 210 is stored in the segment. Thereby, the uniqueness of the target column value of the insertion data table 210 can be guaranteed.
- a database area may be secured for each target column type.
- the target database “ORDER_ID” of the insertion data table 210 satisfies the unique constraint condition.
- the insertion data table 210 may be stored in the second database area. That is, the same insertion data table 210 includes different database areas (for example, including at least one of the column value range list 300, the comparison value list 400, the first intermediate table 800, and the second intermediate table 900). May be stored. Alternatively, the insertion data table 210 may be stored in a common database area even if a plurality of types of target columns respectively satisfy the unique constraint conditions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (17)
- データベースに対する新規のデータテーブルの入力を受け付ける受付部と、
前記新規のデータテーブルのうちの対象カラムに登録されている各値である各比較元値が、前記データベースに格納済みのデータテーブルのうちの対象カラムに登録されている各値である各比較先値と異なっている否かを判定するユニーク制約判定処理を行い、前記ユニーク制約判定処理における判定の結果が真の場合に、前記データベースにおける、前記格納済みのデータテーブルが格納されている第1のデータベース領域とは異なる第2のデータベース領域に、前記新規のテータテーブルを格納する挿入部と
を有するデータベース管理システム。 - 前記ユニーク制約判定処理は、1段階目の判定処理と、前記1段階目の判定処理における判定結果が真の場合に行われる2段階目の判定処理とを含み、
前記1段階目の判定処理は、前記新規データテーブルの何れかの比較元値が前記格納済みデータテーブルのカラム値範囲に含まれるか否かを判定する処理であり、前記カラム値範囲の最大値が、比較先値の最大値であり、前記カラム値範囲の最小値が、比較先値の最小値であり、
前記2段階目の判定処理は、前記新規データテーブルのうちの全ての範囲内比較元値が前記格納済みデータテーブルにおける全ての比較先値と異なっているか否かを判定する処理であり、前記範囲内比較元値は、前記カラム値範囲に含まれる比較元値であり、
前記2段階目の判定処理における判定結果が真の場合が、前記ユニーク制約判定処理における判定結果が真の場合である、
請求項1に記載のデータベース処理システム。 - 前記1段階目の判定処理は、前記格納済みデータテーブル毎のカラム値範囲を示す第1判定用情報を用いて行われ、
前記挿入部は、前記第2のデータベース領域に格納される前記新規データテーブルのカラム値範囲を前記第1判定用情報に登録する、
請求項2に記載のデータベース処理システム。 - 前記第2段階目の判定処理は、前記新規データテーブルにおける全ての範囲内比較元値をそれぞれ情報量を削減することにより得られた全ての比較元削減値が、前記格納済みデータテーブルの全ての比較先値をそれぞれ情報量を削減することにより得られた全ての比較先削減値と異なっているか否かを判定する処理である、
請求項1に記載のデータベース処理システム。 - 前記2段階目の判定処理は、前記格納済みデータテーブルの比較先値に対応した比較削減値を有する第2判定用情報を用いて行われ、
前記挿入部は、前記第2のデータベース領域に格納される前記新規データテーブルの範囲内比較元値に対応した比較元削減値を前記第2判定用情報に登録する、
請求項4に記載のデータベース処理システム。 - 前記比較元削減値は、前記比較元値を二進数で表現した値の所定の上位Nビット(Nは2以上の整数)であり、
前記比較先削減値は、前記比較先値を二進数で表現した値の所定の上位Nビットである、
請求項4に記載のデータベース処理システム。 - 前記比較元削減値は、前記比較元値のハッシュ値であり、
前記比較先削減値は、前記比較先値のハッシュ値である、
請求項4に記載のデータベース処理システム。 - データベースに対する新規のデータテーブルを入力する入力デバイスと、
前記新規のデータテーブルのうちの対象カラムに登録されている各値である各比較元値が、前記データベースに格納済みのデータテーブルのうちの対象カラムに登録されている各値である各比較先値と異なっているか否かを判定するユニーク制約判定処理を行い、前記ユニーク制約判定処理における判定の結果が真の場合に、前記データベースにおける、前記格納済みのデータテーブルが格納されている第1のデータベース領域とは異なる第2のデータベース領域に、前記新規のテータテーブルを格納するプロセッサと
を有する計算機。 - 前記ユニーク制約判定処理は、1段階目の判定処理と、前記1段階目の判定処理における判定結果が真の場合に行われる2段階目の判定処理とを含み、
前記1段階目の判定処理は、前記新規データテーブルの何れかの比較元値が前記格納済みデータテーブルのカラム値範囲に含まれるか否かを判定する処理であり、前記カラム値範囲の最大値が、比較先値の最大値であり、前記カラム値範囲の最小値が、比較先値の最小値であり、
前記2段階目の判定処理は、前記新規データテーブルのうちの全ての範囲内比較元値が前記格納済みデータテーブルにおける全ての比較先値と異なっているか否かを判定する処理であり、前記範囲内比較元値は、前記カラム値範囲に含まれる比較元値であり、
前記2段階目の判定処理における判定結果が真の場合が、前記ユニーク制約判定処理における判定結果が真の場合である、
請求項8に記載の計算機。 - 前記1段階目の判定処理は、前記格納済みデータテーブル毎のカラム値範囲を示す第1判定用情報を用いて行われ、
前記挿入部は、前記第2のデータベース領域に格納される前記新規データテーブルのカラム値範囲を前記第1判定用情報に登録する、
請求項9に記載の計算機。 - 前記第2段階目の判定処理は、前記新規データテーブルにおける全ての範囲内比較元値をそれぞれ情報量を削減することにより得られた全ての比較元削減値が、前記格納済みデータテーブルの全ての比較先値をそれぞれ情報量を削減することにより得られた全ての比較先削減値と異なっているか否かを判定する処理である、
請求項8に記載の計算機。 - 前記2段階目の判定処理は、前記格納済みデータテーブルの比較先値に対応した比較削減値を有する第2判定用情報を用いて行われ、
前記挿入部は、前記第2のデータベース領域に格納される前記新規データテーブルの範囲内比較元値に対応した比較元削減値を前記第2判定用情報に登録する、
請求項9に記載の計算機。 - 前記比較元削減値は、前記比較元値を二進数で表現した値の所定の上位Nビット(Nは2以上の整数)であり、
前記比較先削減値は、前記比較先値を二進数で表現した値の所定の上位Nビットである、
請求項12に記載の計算機。 - 前記比較元削減値は、前記比較元値のハッシュ値であり、
前記比較先削減値は、前記比較先値のハッシュ値である、
請求項12に記載の計算機。 - データベースに対する新規のデータテーブルの入力を受け付け、
前記新規のデータテーブルのうちの対象カラムに登録されている各値である各比較元値が、前記データベースに格納済みのデータテーブルのうちの対象カラムに登録されている各値である各比較先値と異なっている否かを判定するユニーク制約判定処理を行い、前記ユニーク制約判定処理における判定の結果が真の場合に、前記データベースにおける、前記格納済みのデータテーブルが格納されている第1のデータベース領域とは異なる第2のデータベース領域に、前記新規のテータテーブルを格納する
データベース管理方法。 - 前記ユニーク制約判定処理は、前記1段階目の判定処理と前記2段階目の判定処理に加えて、3段階目の判定処理を含み、
前記3段階目の判定処理は、前記2段階目の判定処理における判定結果が真であったカラム値の数とそのカラム値が属するデータベース領域によって、判定対象カラム値を含むレコードが格納されているテーブルを全て読み込んで各比較元値と一致するか確認することと、判定対象カラム値を含む索引を読み込んで各比較元値と一致するか確認することのどちらかが選択される、
請求項2に記載のデータベース処理システム。 - 前記ユニーク制約判定処理は、前記1段階目の判定処理と前記2段階目の判定処理に加えて、3段階目の判定処理を含み、
前記3段階目の判定処理は、前記2段階目の判定処理における判定結果が真であったカラム値の数とそのカラム値が属するデータベース領域によって、判定対象カラム値を含むレコードが格納されているテーブルを全て読み込んで各比較元値と一致するか確認することと、判定対象カラム値を含む索引を読み込んで各比較元値と一致するか確認することのどちらかが、確認を行うデータベース領域毎に選択される、
請求項2に記載のデータベース処理システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/072404 WO2015025401A1 (ja) | 2013-08-22 | 2013-08-22 | データベース管理システム及びデータベース管理方法 |
JP2015532652A JP6111337B2 (ja) | 2013-08-22 | 2013-08-22 | データベース管理システム及びデータベース管理方法 |
US14/771,369 US9971793B2 (en) | 2013-08-22 | 2013-08-22 | Database management system and database management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/072404 WO2015025401A1 (ja) | 2013-08-22 | 2013-08-22 | データベース管理システム及びデータベース管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015025401A1 true WO2015025401A1 (ja) | 2015-02-26 |
Family
ID=52483210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/072404 WO2015025401A1 (ja) | 2013-08-22 | 2013-08-22 | データベース管理システム及びデータベース管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9971793B2 (ja) |
JP (1) | JP6111337B2 (ja) |
WO (1) | WO2015025401A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016173717A (ja) * | 2015-03-17 | 2016-09-29 | 日本電気株式会社 | カラムストア型データベース管理システム |
CN111177476A (zh) * | 2019-12-05 | 2020-05-19 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
JP2021506012A (ja) * | 2017-12-08 | 2021-02-18 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | データ記憶およびクエリ方法並びにデバイス |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9588978B2 (en) | 2013-09-30 | 2017-03-07 | International Business Machines Corporation | Merging metadata for database storage regions based on overlapping range values |
US9519687B2 (en) * | 2014-06-16 | 2016-12-13 | International Business Machines Corporation | Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices |
US10042887B2 (en) | 2014-12-05 | 2018-08-07 | International Business Machines Corporation | Query optimization with zone map selectivity modeling |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2583010B2 (ja) | 1993-01-07 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法 |
US8799305B2 (en) * | 2008-08-22 | 2014-08-05 | Disney Enterprises, Inc. | System and method for optimized filtered data feeds to capture data and send to multiple destinations |
US8301583B2 (en) * | 2008-10-09 | 2012-10-30 | International Business Machines Corporation | Automated data conversion and route tracking in distributed databases |
US8145652B2 (en) * | 2008-10-09 | 2012-03-27 | International Business Machines Corporation | Automated propagation of non-conflicting queries in distributed databases |
JP5199948B2 (ja) * | 2009-05-22 | 2013-05-15 | 日本電信電話株式会社 | データベース管理方法、データベース装置、およびプログラム |
JP5534461B2 (ja) | 2011-01-17 | 2014-07-02 | 株式会社日立製作所 | データベースの管理方法、データベースの管理装置及びプログラム |
US9274936B2 (en) * | 2013-05-29 | 2016-03-01 | Sap Portals Israel Ltd | Database code testing framework |
-
2013
- 2013-08-22 WO PCT/JP2013/072404 patent/WO2015025401A1/ja active Application Filing
- 2013-08-22 JP JP2015532652A patent/JP6111337B2/ja active Active
- 2013-08-22 US US14/771,369 patent/US9971793B2/en active Active
Non-Patent Citations (3)
Title |
---|
JUN'ICHI NIINO: "SQL Server7.0 de Risoteki na Database o Kochiku shiyo DBA [Database Administrator] ni naru Tameno SQL Dojo Dai 6 Kai", WINDOWS NT WORLD, vol. 4, no. 10, 1 October 1999 (1999-10-01), pages 184 - 187 * |
STANEK, WILLIAM: "Microsoft SQL Server 2008 Official Manual", 19 October 2009 (2009-10-19), pages 376 - 377 * |
YASUHIRO IMAMURA: "DB Beginner mo, 2000/2005 User mo! SQL Server 2008 de Ittemiyo", vol. 19, no. 6, 1 October 2009 (2009-10-01), pages 84 - 90 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016173717A (ja) * | 2015-03-17 | 2016-09-29 | 日本電気株式会社 | カラムストア型データベース管理システム |
JP2021506012A (ja) * | 2017-12-08 | 2021-02-18 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | データ記憶およびクエリ方法並びにデバイス |
JP7453143B2 (ja) | 2017-12-08 | 2024-03-19 | アリババ・グループ・ホールディング・リミテッド | データ記憶およびクエリ方法並びにデバイス |
CN111177476A (zh) * | 2019-12-05 | 2020-05-19 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
JP2021089704A (ja) * | 2019-12-05 | 2021-06-10 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | データ照会方法、装置、電子機器、可読記憶媒体、及びコンピュータープログラム |
JP7047228B2 (ja) | 2019-12-05 | 2022-04-05 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | データ照会方法、装置、電子機器、可読記憶媒体、及びコンピュータープログラム |
CN111177476B (zh) * | 2019-12-05 | 2023-08-18 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9971793B2 (en) | 2018-05-15 |
JPWO2015025401A1 (ja) | 2017-03-02 |
JP6111337B2 (ja) | 2017-04-05 |
US20160004727A1 (en) | 2016-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6111337B2 (ja) | データベース管理システム及びデータベース管理方法 | |
JP4739786B2 (ja) | データの再配置方法 | |
US20130304770A1 (en) | Method and system for storing data in a database | |
US8407185B2 (en) | Computer, its processing method, and computer system | |
WO2011033734A1 (en) | File search system and program | |
US20150310129A1 (en) | Method of managing database, management computer and storage medium | |
US20220083618A1 (en) | Method And System For Scalable Search Using MicroService And Cloud Based Search With Records Indexes | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN109446160A (zh) | 一种文件读取方法、系统、装置及计算机可读存储介质 | |
US8880463B2 (en) | Standardized framework for reporting archived legacy system data | |
CN110245145A (zh) | 关系型数据库到Hadoop数据库的结构同步方法和装置 | |
CN108628885B (zh) | 一种数据同步方法、装置及存储设备 | |
KR101640733B1 (ko) | 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법 | |
US20140067853A1 (en) | Data search method, information system, and recording medium storing data search program | |
JP5448412B2 (ja) | 情報処理装置およびその方法、プログラム、記録媒体 | |
US20100235383A1 (en) | Storage system and data migration-compatible search system | |
KR101358793B1 (ko) | 인덱스 파일 생성방법, 사전 인덱스 파일을 이용한 데이터 검색 방법 및 데이터 관리 시스템, 기록매체 | |
KR101588375B1 (ko) | 데이터베이스 관리 방법 및 데이터베이스 관리 시스템 | |
JP2009211403A (ja) | ファイル検索プログラム | |
JP6467826B2 (ja) | 帳票データ管理プログラム、帳票データ管理方法、及び情報処理装置 | |
KR20130126012A (ko) | 비즈니스 인텔리전스의리포트 제공 방법 및 장치 | |
JP2010160577A (ja) | 検索装置及びその制御方法、並びにコンピュータプログラム | |
JP2012123574A (ja) | 帳票システムとその処理方法及びプログラム。 | |
US9916373B2 (en) | Dynamic data partitioning extension | |
JP4731928B2 (ja) | データ管理装置、データ管理システム、データ処理装置、データ管理方法、プログラム、及び記憶媒体 |
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: 13891707 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015532652 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14771369 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13891707 Country of ref document: EP Kind code of ref document: A1 |