WO2004025475A1 - データベースの再編成システム、並びに、データベース - Google Patents
データベースの再編成システム、並びに、データベース Download PDFInfo
- Publication number
- WO2004025475A1 WO2004025475A1 PCT/JP2003/011592 JP0311592W WO2004025475A1 WO 2004025475 A1 WO2004025475 A1 WO 2004025475A1 JP 0311592 W JP0311592 W JP 0311592W WO 2004025475 A1 WO2004025475 A1 WO 2004025475A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- key
- primary
- location
- reorganization
- Prior art date
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Definitions
- the present invention relates to a database storage and retrieval system using a computer, and more particularly to a database system that enables automatic, nonstop, database reorganization during system operation.
- Conventional technology relates to a database storage and retrieval system using a computer, and more particularly to a database system that enables automatic, nonstop, database reorganization during system operation.
- the index Since the index has a hierarchical structure, if the index update is performed by data insertion or deletion, the upper index may be changed, resulting in a wider range of other indexes. There was a disadvantage such as causing a deadlock, etc.
- the data storage and retrieval method of the present invention is to retrieve a target record by using a location 'table and an alternative key table and performing a binary search on them. Records are stored in fixed-length storage areas called blocks. Location 'The table is secured in a continuous area. Here, continuous areas are in a logical order, and may be separated in physical areas. Records are stored in blocks. The address of each block is held by the location 'tape' entry. Records are stored in blocks in the order of primary keys (in some types of databases, such as unique keys, such as employee codes in an employee database), and the primary key of the record in the previous block is Less than the primary key of the record in the block immediately following.
- primary keys in some types of databases, such as unique keys, such as employee codes in an employee database
- Records are initially stored in the primary 'block, but after the primary block is full, no records can be stored for the primary' block if an insertion record occurs, so the primary database For squeeze, create and connect overflow blocks, move some records to overflow, and then store the records in the primary block. If the overflow 'block becomes full and further record insertions occur, for the overflow' block, an overflow 'block is created and concatenated.
- concatenation does not mean that they are physically linked, but the primary one block holds the address of the second overflow one block, and the first overflow block is the second one.
- Such a representation is used because the condition that holds the overflow and block addresses can be treated as if the blocks are physically connected (the same applies hereinafter).
- records are stored in the order of primary key values in a block. This is also true within the overflow 'block linked to the primary' block, and between the primary block and the overflow block. Because the order of primary key values is stored in this way, when inserting a record, if many overflow blocks are concatenated, it is necessary to move the record across multiple overflow blocks. This will take extra time compared to the case where there is only a primary block.
- This re-creation or reorganization was as follows. In other words, completely stop the system and copy all the records (data) recorded on the system to another medium. It then erases the original data (record, primary key index, alternate key index) and writes the record. Next, create a primary key index and an alternate key index. To create a primary key index, read the primary key from all the records, create an entry paired with the address of the block containing the record, etc., and then sort by the primary key, and Create an index, and then create the top indexes sequentially.
- index for alternate keys reading alternate keys from records, creating an entry in pairs with the address of the block in which records are stored, etc. Then, sort by alternate keys, The layer index was created, and then the top indexes were created sequentially. This had to be done each time there were multiple alternative key types.
- non-stop operation has become possible, for example, because hardware itself has been duplicated, and it has been a problem that non-stop operation of the database is difficult.
- re-creation in the data storage and retrieval method proposed by the present inventor is basically equivalent to the data storage and retrieval method using a conventional hierarchical index
- the data storage search method proposed by the present inventor does not use a complex index like the data storage search method using a conventional hierarchical index, and it is called location table and alternate key table. Due to the configuration, although re-creation is completed in a much shorter time, compared with the conventional data storage search method using hierarchical indexes, the database is not available during re-creation. It was the same that it could not be used.
- re-creation in the data storage search method proposed by the present invention stops the operation of the primary system, reads the records stored in the block, stores them in another device, and then Primary 'system location' table, alternate key for each alternate key type, model, alternate key type. Re-create the table and store the record stored in another device in the newly created block. Entry in the location table After the data storage is completed, the alternative key alternative key for each type is created by creating an entry in the 'table'.
- This method is equivalent to the conventional data storage and retrieval method, and since it is necessary to stop the operation of the primary system, it has been difficult to apply to non-stop systems.
- the present invention has been made in view of the above-described points, and it is an object of the present invention to provide a database system which can perform data and database reorganization automatically without interruption during system operation. .
- the present invention is as follows.
- a target record is searched by using a location table and a substitute key table, and performing a binary search.
- This record is stored in a fixed-length storage area called a block.
- this block only the primary block is managed by the location 'tape', and the overflow block is managed by the primary 'block.
- Location tables and alternate keys tables are flat tables that do not have a hierarchical structure.
- reorganization means data insertion, addition, modification, and deletion of data stored on the system, which causes data configuration changes and data access to be delayed.
- To organize data and indexes, and (i) overflow There are three things: releasing the lock, (ii) releasing the fragmentation, and (iii) securing an appropriate initial storage rate. In the following, the contents of the above (i) to (iii) will be explained.
- Overflow The elimination of a block is as follows. An 'overflow' block is caused by the insertion of a record. In other words, if a record is full in a primary block, and you try to insert a record into that primary block, you can not enter as it is. In order to enable such import, assign an overflow 'block to the relevant primary and block, move the necessary number of records from the primary' block to an overflow 'block, and change the original primary' Records can be stored by inserting the desired record into the block.
- inserting records requires moving the records in order to arrange the records in the order of primary key in the block, but when the number of overflowed blocks is large, the number of records to be moved increases and the efficiency is increased. It was a problem.
- Fragmentation elimination is as follows. Fragmentation is the decentralization of storage area. The records stored in the blocks (primary 'blocks and overflow blocks) are no longer needed, and deleting them frees up the storage area for the blocks. If there is no record to be inserted, the storage area will be wasted while empty. In addition, when an overflow 'block occurs and a small number of records are stored compared to the storage capacity of the overflow block, if the record insertion does not occur thereafter, the free space is also not used and wasted. It becomes an area.
- the record stored in the next block is moved to the previous block so that the record is stored in the block in + minutes. It is possible to eliminate the waste on using.
- the initial storage rate is intended to prevent an occurrence of an overflow block to some extent by leaving a fixed percentage of the block area in advance when the block is first created and a record is written.
- the invention relating to the primary key relates to the reorganization of location tables and blocks and is described below.
- one entry of the location 'table is, besides the block number and the block address pointed to by the entry, the block pointed to by the entry and the block if necessary. Focus on the fact that both the minimum and maximum primary key values, or one of the primary key values, is stored in the records stored in all the overflow blocks connected to the block, as follows: I have to.
- a new location table is created for the location table, and sequentially transferred from the entry of the currently used location table to the new location table.
- “transfer” refers to both copying information as it is and changing some information as necessary to write the changed information.
- the concatenation of the overflow block connected to the primary block is disconnected, and a new entry is added to the new location 'table, Make the new location table a primary block without moving the block. In the invention relating to the primary key, this has eliminated overflow and block.
- the fragmentation is eliminated as follows.
- elimination of fragmentation involves checking the storage rate of multiple blocks (primary blocks and overflow blocks), moving records between blocks for multiple blocks, and making them necessary. It is realized by adding a new block and adding it from the location table entry or making an unused block unused and removing it from the location 'table entry. above The operation is performed with exclusion applied to one or more blocks. Ensuring the proper initial storage rate is similar to the elimination of fragmentation, and is realized by moving the record so that the space occupied by the record in the block is the defined initial storage rate.
- the reorganization will be implemented by applying exclusion to one or more blocks at the point of unit processing (hereinafter sometimes referred to as “temporary point”). That is to simultaneously implement three items: elimination of overflow blocks, elimination of fragmentation, and securing of a proper initial storage rate.
- temporary point point of unit processing
- reorganization since reorganization is performed in the above manner, reorganization can be performed automatically without stopping access to data.
- access to one or more blocks at one time becomes exclusive waiting for reorganization, so that access can always be made to other blocks.
- the situation where access to one or more blocks being reorganized becomes exclusive wait is also generated during normal record update, and it is not a special problem.
- a reorganization pointer is used to access a record during reorganization.
- One reorganization pointer is provided in each of the current location 'table and the new location' table.
- Reorganization A pointer is used to indicate how far the reorganization of the location 'tables and blocks has progressed.
- the target primary key value of the entry pointed to by the reorganization pointer Primary 'block and overflow ⁇ Compares whether the primary key value of the record contained in the block is greater or smaller than the desired primary key value is greater than or equal to the primary key value of the record stored in the block pointed to by the reorganization pointer. At the same time, the current record of the current-use table is searched, and when it is less than the primary key, a new location-table is used to search for the desired record.
- the target record when the target record is searched, when using the current location 'table, a binary' search is performed between the current location 'table reorganization pointer and the final pointer.
- the location 'table is secured in advance, and among them, which entry is used It is intended to indicate what is being done.
- the binary between the new location' first pointer of the table and the reorganization pointer for the new location table is ⁇ Perform a search.
- the reorganization pointer in this way, it is possible to retrieve the target record even during the reorganization.
- the invention relating to the substitute key relates to reorganization of the substitute key table.
- the alternative key table is in the form of only the alternative key block, but in the present invention, the alternative key table is added to the alternative key table, and the table is added to the alternative key table.
- the reorganization of the alternative key table is as follows. That is, in the invention relating to the alternative key, the reorganization of the alternative key table can also be solved by the same means as that for the reorganization of the location table and the block.
- the data storage search method proposed by the present inventor it is possible to store a plurality of entries, each including an alternate key, a block number storing a record of the alternate key value, and a primary key of the record, in the order of alternate keys.
- the entry table for the alternate key table is stored in the alternate key 'block in the order of alternate keys.
- the alternate key table with the same alternate key is stored in the same alternate key block, and the number of entries with the same alternate key is large or the alternate key is inserted.
- the alternate key 'overflow' block is added to the alternate key block to store the entry.
- the alternate key table is itself stored in the continuous area as described above, and a binary search is performed on the alternate key 'table. It is decided to search for the desired alternative key 'block.
- further reorganization is further performed by newly adding an alternative key. Location 'table to the alternative key' table.
- the alternative key 'table is composed of an alternative key' block and an alternative key 'overflow block'. (Invention pertaining to alternative key)
- the invention relating to the alternative key is to reorganize the alternative key table with respect to the alternative key table, the alternative key table location, and the format for maintaining the table. Specifically, as shown below: Obviously, as shown below: Obviously, as shown below: Obviously, as shown below: Obviously, as shown below: Obviously, as shown below: Obviously, as shown below: Obviously, as shown below: Obviously, as shown below: Obviously, as shown below: Obviously, Become.
- the substitute key 'location' table 'entry is not only the number and address of the substitute key block that the entry points to, but, if necessary, the substitute key that the entry points to' Holds both the minimum value and the maximum value of the primary key value, or any one of the records stored in the block and the alternative key overflow that is concatenated to the alternative key block.
- a new alternate key 'location' table is created for the current alternate key 'location' table, and the current alternate key / location 'table' entry one is a new alternate key We will sequentially transfer to the location table.
- the concatenation of the alternative key 'overflow.block' is disconnected, a new entry is added to the new alternative key 'location' table, and a new alternative key ⁇ ⁇ ⁇ Use as the alternate key block for the location table.
- the fragmentation is eliminated as follows. That is, elimination of fragmentation is performed by examining the rate of space used in multiple alternate key blocks and alternate key overflows blocks, multiple alternate key blocks and alternate key overflows blocks To move the record between alternate keys / blocks and alternate keys / overflows / blocks, and, if necessary, add new alternate key / blocks, alternate keys / plugs used Alternatively, the alternative key overflow block is made unused and is realized by deleting it from the alternative key location.table entry.
- Ensuring the proper initial storage rate is performed simultaneously with clearing the overflow 'block and clearing the fragmentation, and moving the entry so that the capacity occupied by the entry in the block becomes the initial storage rate. I do.
- the above operation is performed with exclusion applied to one or more alternative key blocks.
- a reorganization pointer is used to access a record during reorganization.
- One reorganization pointer is provided for each of the working alternate key ⁇ mouth ⁇ table and the new alternate key ⁇ location ⁇ table.
- the reorganization pointer is used to show how far the reorganization of the alternate key location table and alternate key block has progressed.
- the target alternative key value when searching for a record with an alternative key performing reorganization during substitution, is an alternative to the entry pointed to by the reorganization pointer.
- the target alternate key value is greater than or equal to the alternate key value of the entry stored in the alternate key block pointed to by the reorganization pointer.
- the current alternative key table is used, and when it is less than the entry key value, a new alternative key is used to search for the desired entry using the location key table.
- the current alternate key.location table when searching records for alternate keys that are being reorganized, the current alternate key.location table's reorganization pointer and final pointer Binary 'search against.
- a new alternate key ⁇ mouth case 'head pointer of the table Perform a binary search between the reorganization pointer for the new alternate key location and the table.
- the present invention has the following configuration.
- a block for sequentially storing a record having one unique primary key and zero or more non-unique alternate keys, position control of the block, access to the block and random ⁇ address on memory A computer-based system for managing a database stored in the random 'access' memory, using the location table corresponding to the current location table when the database reorganization command is received.
- the first means for creating a new location table, and one or more blocks at the time of unit processing When an entry of the case table is sequentially transferred to a new location table and transferred sequentially, when an overflow 'block is detected, the connection of the overflow block is disconnected, and a new location table is created.
- a database reorganization system characterized by: a second means for tracking a new entry and creating a new location table as a primary block.
- a block for sequentially storing a record having one unique primary key and zero or more non-unique alternate keys, position control of the block, random access with the block and address on the memory A system based on a computer that manages a database stored in the random ⁇ access memory, using a location table corresponding to the computer, and the storage rate in the block is outside a predetermined value range.
- a database reorganization system comprising: means for moving records of previous and subsequent blocks to eliminate fragmentation.
- a reorganization pointer is provided in each of the currently used oral communication table and the new location table, and for each reorganization pointer, one or more blocks are sequentially targeted at unit processing time.
- the database according to any one of the above (1) to (2), further comprising means for storing the position at which the reorganization process is completed and completing the reorganization process when the reorganization reaches the final pointer. Reorganization system.
- the target primary key is the entry to which the reorganization binder is pointing.
- the target primary key value by the comparing means is the main of the record stored in the block pointed by the reorganization pointer
- a database reorganization system comprising: search means for searching.
- An entree consisting of a substitute key, a block number storing the record of the substitute key value, and a primary key of the record is arranged in the order of the substitute key, and a plurality of entries can be stored.
- the alternate key 'store' is stored, and the entry of the alternate key table is stored in the alternate key block in the order of the alternate key, and the alternate key table having the same alternate key is stored. If one entry is stored in the same alternate key block and the number of entries with the same alternate key is too large or the alternate key can not be stored in the alternate key, the alternate key can not be stored.
- a data retrieval and storage system that adds a bar flow block to an alternate key block and stores an entry, and receives a database reorganization command.
- Said current use alternative key - ⁇ Location ⁇ First alternative means for creating a new alternative key location for the table, and one or more blocks at the time of unit processing
- the table of 'Syungeon' is sequentially transferred to the new alternate key location and table, and then sequentially transferred, when an alternate key 'overflow' block connected to the alternate key block is detected.
- the corresponding alternate key, overflow, unlink the block, add a new entry to the new alternate key location table, and create a second alternate key block for the new alternate key location tag table.
- a database reorganization system characterized in that it comprises:
- the entry consisting of the substitute key, the block number storing the record of the substitute key value, and the primary key of the record is arranged in the order of the substitute key to enable multiple storage, and the same size is made in advance.
- a data retrieval storage system for adding an alternate key block to an alternate key block to store an entry, wherein the alternate ⁇ ⁇
- a database re-organizing system comprising: means for moving a record of alternate key blocks before and after when the storage rate in the block is out of a predetermined value range and eliminating fragmentation. .
- a reorganization binder is provided in each of the current alternative key ⁇ location ⁇ table and the new alternate key ⁇ location 'table, and a position at which reorganization has been completed at the unit processing time point in each reorganization binder
- the database reorganization system according to any one of (4) to (5), further comprising means for storing the information.
- the comparison means for comparing whether it is larger or smaller than the alternative key value of the entry included in the and the alternative key value of the target alternate key pointed by the comparison means is the entry key stored in the alternative key 'block pointed to by the reorganization pointer.
- the current alternative key ⁇ location ⁇ table is used to search for the target record, and when it is determined to be less than the alternative key value of the above entry, a new alternative key ⁇ location ⁇
- a database reorganization system comprising: a search means for searching for a target record using a table. (9) Database in computer In the 'system, it is possible to store multiple entries consisting of alternative keys, block numbers storing the corresponding records, and primary keys of the corresponding records, and also necessary numbers with the same size in advance.
- the number assigned to the alternate key block and the physical position in the storage device When the alternative key is stored in the order of alternative keys in the key block using the corresponding alternative key ⁇ location ⁇ table and when the key can not be stored in the alternative key block, Assign a new alternate key overflow block to store alternate key 'entries' and the alternate key' locus ® down 'database system and performs location management within the memory of the alternate-key proc Ri by the table.
- (10) A block sequentially storing a record having one unique primary key and zero or more non-unique alternate keys, position control of the block, random access with the relevant block and ' Use a location table corresponding to the address on the memory to create a row record, and move forward and backward records of the block if the storage rate in the block is out of the range of a predetermined value to fragment
- a system by means of a computer that manages the database stored in the random 'access memory, and has a means for eliminating the random block, in order to store the addresses of unused blocks resulting from the elimination of the fragmentation. And a continuous region, and a boundary point indicating a start position and an end position with respect to the region. Database system.
- a block sequentially storing a record having one unique primary key and zero or more non-unique alternate keys, position control of the block, random access with the block and random access memory
- the system is a computer-based system, which uses a location, a tape, and a corresponding tape, and uses a tape, and manages a database stored in the random access memory.
- a database system characterized by holding the percentage of space used in the block in the block.
- the system is a computer-based system that manages the database stored in the random access memory using the oral communication and the corresponding tape, and when the database reorganization command is received, the current use
- a database reorganization system comprising: a third means for sequentially transferring data to a new database.
- the table entry is sequentially transferred to the new entry table. If an overflow block is detected while sequentially transferring the entry, the connection of the overflow block is disconnected, and the new location '
- a database reorganization system comprising: a second means for tracking new entries in a table and making the new location table primary.
- a block sequentially storing a record having one unique primary key and zero or more non-unique alternate keys, position control of the block, the block and random access on memory
- This is a secondary system that updates its own data by using log data sent from the primary system, using location tapes corresponding to the address of the host system.
- the current location ⁇
- an entry in the table is sequentially transferred to a new entry 'table and then transferred sequentially, when an overflow' block is detected, the concatenation of the overflow 'block is disconnected, and a new location is generated.
- 'A database reorganization system comprising a second means of adding a new entry to a table and making it a new location table and a primary block for the table.
- FIG. 1 is a block diagram showing an example of a primary, system to which a database reorganization system according to an embodiment of the invention relating to a primary key is applied.
- FIG. 2 is a schematic view showing only the part of the primary system shown in FIG. 1 to which the database reorganization system according to the embodiment of the invention related to the primary key is applied.
- FIG. 3 is a diagram for explaining the operation of the database reorganization system according to the embodiment of the invention related to the primary key.
- FIG. 4 is a diagram for explaining the operation of reorganization that eliminates fragmentation in the database reorganization system according to the embodiment of the invention related to the primary key.
- FIG. 5 is a view for explaining a method for eliminating the overall fragmentation in the database reorganization system according to the embodiment of the invention relating to the primary key.
- FIG. 6 is a view for explaining a method of eliminating the overall fragmentation in the database reorganization system according to the embodiment of the invention relating to the primary key.
- FIG. 7 is a diagram for explaining a search / read / write operation of data during reorganization in the database reorganization system according to the embodiment of the invention relating to a primary key.
- FIG. 8 is a diagram for describing an operation to cope with a case where reorganization progresses during search in the database reorganization system according to the embodiment of the invention relating to the primary key.
- FIG. 9 is a diagram for explaining a database reorganization system according to an embodiment of the invention relating to a substitute key.
- FIG. 10 is a diagram for explaining one of the alternate key.
- FIG. 11 is a view for explaining a method of reorganization of the database reorganization system according to the embodiment of the invention concerning the alternative key.
- FIG. 12 is a view for explaining a method of eliminating fragmentation in the database reorganization system according to the embodiment of the invention relating to the substitute key.
- FIG. 13 is a view for explaining a method of eliminating an overall fragmentation in the database reorganization system according to the embodiment of the invention relating to the substitute key.
- FIG. 14 is a diagram for explaining block reuse in the database reorganization system according to the embodiment of the invention relating to a substitute key.
- FIG. 15 shows that, in the database reorganization system according to the embodiment of the invention relating to the alternative key, reorganization proceeds while searching for the alternative key, and the current reorganization pointer at the start of the search and the search It is explanatory drawing about operation
- FIG. 16 is a diagram showing an example of exclusive use of the location table in the database reorganization system according to the invention of the primary key or alternative key.
- FIG. 17 is a flow chart for explaining the operation in the case of adopting the synchronous close coupling method in the data 'pack-up / recovery method to which the invention relating to the primary key or the alternative key is applied.
- FIG. 18 is a flow chart for explaining the operation in the case of adopting an asynchronous loose coupling method in the data backup / recovery method to which the invention relating to the primary key or the alternative key is applied.
- FIG. 19 is a diagram of a scheme for transferring blocks at the time of reorganization.
- FIG. 20 is a flowchart of reorganization.
- FIG. 21 is a diagram when the 'primary' system and the 'secondary' system perform reorganization asynchronously. Explanation of sign
- the invention relating to the primary key or the invention relating to the alternative key is based on the ideas of the inventions described in Japanese Patent Application Laid-Open Nos. 1 1 0 3 1 0 9 6 and US Pat.
- the purpose is to automatically carry out reorganization without stopping the operation of the data storage search method while using the basic part as it is.
- the first feature of the “data storage search method” described in JP-A 1 1 0 3 1 0 9 6 is the location 'table' block for storing records (primary 'block and overflow'
- the block is managed by using a flat table (without a hierarchical structure) called 'location'. Between blocks, the primary key value of the record stored in the block before the block is smaller than the primary key value of the record stored in the block.
- the block should store records in the order of the record's primary key. This is the case within the primary block, within the overflow block linked to the primary block, and between each other. This will improve the efficiency of searching for records in the block.
- a "primary key” is a unique key on data of one ⁇ type, and one that is required for a record.
- employee code in employee master For example, employee code in employee master, partner code in customer master, etc.
- "Alternate key” is a non-unique key on data, and multiple alternative keys may exist in a record. For example, The employee's name, affiliation, joining date etc. in the employee master.
- an 'overflow' block is added to the block, and the record is stored by using both continuously. . If one overflow 'block is not enough, the overflow' block is further connected to the overflow 'block, and by sequentially connecting the overflow' block, any number of record insertions can be performed. It is possible. These overflow 'blocks are linked to the first primary block.
- the mouth table is secured in a continuous area.
- the continuous area is a logical order, and may be separated in the physical area.
- the location table only manages the primary block, and the overflow block is not managed in the location 'table as a dependency of the primary' block. Therefore, even if an overflow block occurs, structural changes in the location table do not occur.
- the second feature of the above “data storage search method” is that the primary key search does not use the old index, but by using binary search of the location table to find the target block. The point is to make search and store faster.
- the third feature of the above “data storage search method” adopts a flat table called alternative key 'table for alternative keys.
- "Alternate key” is a non-unique key on data as described above, and multiple alternative keys may exist in the record. For example, the employee's name, affiliation, and date of joining in the employee master. Even if the key value entry is increased by adding or changing an alternative key, adding an alternative key 'overflow .block' to the alternative key tape nore block makes the old partition similar to the old dictionary by adding the block. It is an efficiency issue that eliminates index management for alternate keys. Also, if there is a shortage of alternate key overflow blocks, substitute the alternate key 'overflow block' to the alternate key 'overflow' block, and substitute the alternate key ' There is no restriction on insertion of an entry.
- the fourth feature of the above “data storage search method” is that the search by alternative key is speeded up by searching the alternative key table by binary search. Furthermore, the fifth feature of the above “data storage search method” is that the search efficiency may decrease because the number of alternate key overflow blocks increases when the key value is added to the alternate key table frequently. However, the use of pre-alternative key tables has been devised to reduce search efficiency.
- the data storage file (set of blocks) indicated by the "data storage search method" disclosed in Japanese Patent Laid-Open No. 1 1 0 3 0 6 6 The location 'table and the alternate key table are used to search for records.
- the alternative key value may be changed along with the addition' update 'deletion of the record, and the alternative key ⁇ overflow' block is added or the alternative key 'block And free space occurs in the alternate key 'overflow' block.
- the 'primary' system is considered to be composed of multiple sets, but the method of reorganizing one set may be applied to the other set.
- the invention relating to the primary key or the invention relating to the alternative key is easy to understand with the so-called database in mind, but it is intended not only for the database but for the data storage search system and the whole system.
- Conventional computers use a method in which programs and data stored in an external storage device are loaded into main memory and executed. For this reason, the external database and the internal main memory were divided dramatically, but when non-volatile memory becomes widespread in the future, high speed random 'access' memory will be adopted for the external storage device as well. Become. When this happens, there is no reason to separate external and internal memories. This method and system can be applied regardless of where the data is stored outside the external storage device. [Purpose and reason of reorganization]
- the purpose of the reorganization is the following three items.
- An 'overflow' block ' is caused by the insertion of a record. If a record is full in a primary 'block, and you try to insert a record into that primary block, you will not be able to insert it as it is. To enable this kind of import, assign an overflow block to the primary 'block, move the necessary number of records from the primary block to the overflow block, and make the original primary. ⁇ By inserting the target record into the block, it is possible to store the record.
- the use of such an overflow block is described in "Data storage search method" described in Japanese Patent Application Laid-Open No. 11-130.
- an overflow block is linked to a primary block
- the location. Table is searched by a binary search to find the desired primary 'block', and then the primary 'block and its linked overflow are detected.
- the operation to search for the target record in one flow block is needed more than when only the primary block exists. Managing the overflow 'block as a primary block and using a location table will be necessary to achieve fast access.
- inserting records requires moving the records in order to arrange the records in the order of primary key in the block, but when there are many overflow 'blocks, the number of records to be moved increases, which increases efficiency. It was a problem.
- fragmentation is the decentralization of storage area.
- the records stored in blocks are no longer needed, and deleting them frees up the storage area for the blocks. If there is no record to be inserted, the storage area will be uselessly empty. To eliminate such waste, move the record stored in the next block to the previous block so that the correct number of records are stored in the block. The waste in using can be eliminated.
- the overflow 'block occurs and a small number of records are stored compared to the storage capacity of the' overflow 'block, if the record insertion does not occur after that, the free space is also unused and wasted. It becomes a storage area.
- the “initial storage rate” is intended to prevent the occurrence of overflow and block by previously leaving a fixed percentage of the in-block area when creating a block and writing a record first.
- the appropriate initial storage rate can be applied either when (a) the database is first created, or (b) when a new block is allocated and additional records are stored in that block (c B) When inserting a record into the block when the rate of the space used in the already reserved block is lower than the appropriate storage rate, or (d) when performing reorganization, There are four.
- the two cases of inserting a record in the relevant block if the rate of storage is lower than the appropriate storage rate can be realized with the same logic in practice, though they are separate as a strict definition.
- the block In the case of storing the record in the block by securing the block of (b) above, the block is secured by the entry immediately before the last pointer of the location 'table is pointed to. If the block pointed to by (the last entry) exceeds the proper storage rate, and a record with a primary key value larger than the record stored in that block is to be stored. Allocate a new primary block and store the record in the newly allocated primary block.
- new block allocation is the overflow 'block allocation.
- the overflow 'block allocation When storing a record in the overflow block, as in the case of the primary and block, store the record until the appropriate initial storage rate is reached. When the appropriate initial storage rate is reached, the next overflow 'block is newly allocated and the record is stored in the new overflow' block. If the rate of space used in the already reserved block is lower than the appropriate storage rate, inserting a record into the block is as described below. .
- a record is stored in a block (a primary block or an overflow 'block, even if it is a block) if a record is erased, it is erased from the block.
- the storage area for that amount will be empty. If this empty area is lower than the appropriate initial storage rate, it is considered that the empty area is being used in vain.
- the record is imported, it is useful to store the record until the appropriate initial storage rate is reached, for efficient use of the storage area.
- the idea of such a proper initial storage rate is for the purpose of determining whether or not the next block should be newly allocated, and an overhead block is allocated to a primary 'block'. If the record is inserted into the primary 'block, store until the storage rate reaches 100%.
- each alternate key table it is preferable to count the number of accesses to the location 'table, each alternate key table. This is to make it possible to choose not to reorganize when there is a small amount of access even if an overflow occurs.
- the automatic reorganization system can suspend and resume the reorganization anytime, as described later. This makes it possible to proceed sequentially when the system load is low, without having to stop operation for a long time as with the old method.
- the size of the overflow 'block is a block different from the size of the' premary 'block, it is necessary to change the size of the block by reorganization, and the size is different from the primary block If the 'overflow' block becomes an unused block, it is not preferable because the restriction on reuse becomes large. Also, if one overflow 'block is to be managed from multiple primary blocks, it will also be undesirable, as it will increase the restructuring load. [Required area for reorganization]
- the location table L C and the alternate key table A, B, or C need to be reorganized. This is done by checking the number of overflow 'block occurrences, standard deviation, etc. mentioned above and targeting those exceeding a certain threshold. Also, in addition to the location table, if there are more than one alternative key table being reorganized at the same time, the location table is reorganized first, instead of performing all reorganization simultaneously. And then reorganize the alternate key table, one by one. If three types of A, B, and C are to be reorganized simultaneously, first perform A's reorganization, and when complete, perform B's reorganization, and when B's reorganization is complete, perform C's reorganization. Do.
- FIG. 1 is a block diagram showing an example of a primary system to which a database reorganization system according to an embodiment of the invention relating to a primary key is applied.
- the primary system 1 has the location / table LC, block 10, alternate key table 1 1 A, alternate key table 1 1 It consists of B and the alternative key 'table 1 1 C.
- the explanation is omitted for convenience of explanation.
- the location table L C indicates, as shown in FIG. 1, the position of the block 10 corresponding to the block number described in the location “table L C”.
- FIG. 2 is a schematic view showing only the part of the primary system shown in FIG. 1 to which the database reorganization system according to the embodiment of the invention concerning the primary key is applied.
- block 1 0 is divided into primary 'block 1 2', overflow 'block 1 2', overflow 'block 1 3' and overflow 'block 1 4' for primary 'system 1' in figure 1 and these are composed of location 'table LC
- the primary 'system 1 is composed of the location table L C, the primary block 1 2, the overflow block 1 3 and the overflow block 1 4.
- the first of the tape _ / ⁇ L C points to the block number “0” of the primary 1 block 1 2.
- the fourth position of the location table L C points to the block number “3” of the primary block 1 2.
- the fifth of the location tape L indicates the block number “4” of the primary block 1 2.
- the seventh of the tape A ⁇ LC points to the block number "6" of the primary block 1 2 and this primary block 1 2 overflows ⁇ ⁇ block 1 3 block number "6 2 , Overflow block 1 3 is pointing to the block number “6-3” of overflow block 1 4 respectively.
- Location ⁇ The eighth of the table LC is the block of the primary block 1 2 Pointing to the number "7".
- the ninth of the location table L C points to the block number “8” of the primary block 1 2.
- Relocation is performed as follows for the location of such a primary system 1 table L C and primary 'block 1 2, overflow 1 block 3 3, overflow block 4.
- FIG. 3 is a diagram for explaining the operation of the database reorganization system according to the embodiment of the invention related to the primary key.
- Location 'block 1 0 managed by table LC is only primary' block 1 2 '.
- Overflow ⁇ Block 1 3 is managed by Primary 1 ⁇ Block 1 2
- the primary block 1 2 holds the address of the overflow 'block 1 3'. Therefore, when performing a primary key search using the location table LC, the target primary 'block 12 is matched by performing a binary ⁇ search on the location table LC. If block 15 of is found, it is necessary to search for the target record in the corresponding block 15. If a large number of overflows 1 3 and 1 4 are connected to the corresponding primary 'block 1 2, the time to search for the target record is the time for the primary' block 1 2 (in FIG.
- overflow 'blocks 1 3 (1 4) compared to when only block number' 0 ', block number' 3 ', block number' 4 ', block number' 7 ', block number' 8 ') exists. In relation to, it will cost extra.
- all overflow 'blocks 13 and 14 are made to be the primary block (1 2) and managed in the location table (LC or LN), so that the time to search for the target record can be shortened.
- the number of overflow 'blocks (13, 14,%) Is occurring at 4 and so it is counted, so the number of locations' table ⁇ / LC and number of overflow' blocks (13 , 14 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- the number of new location 'table LN's is the number of entries.
- the location 'table used at the time of reorganization will be referred to as "LC” and the new location' table will be referred to as "LN”.
- Entry 1 can be increased by the insertion of records during reorganization, and is increased by the addition of data after reorganization, so it is preferable to secure more than necessary.
- the required number of blocks may be reduced, and even by securing an appropriate initial storage rate, the required number of blocks fluctuates. It is the most preferable method to calculate based on the capacity of existing records and the appropriate initial storage rate.
- a continuous area satisfying the capacity of the new location table LN is secured in the primary system 1 by the first means.
- the following operation is performed by the second means.
- This reorganization pointer indicates the entry of the location 'table (LC, LN) up to which the reorganization has been completed.
- LC location 'table
- the reorganization pointer RP LC is used, and for the new location table LN, the reorganization pointer RP LN is used.
- the initial value of the reorganization pointer RPLC for the current location 'table LC is the first address of the current location table LC
- the new location tape initial value of the new location RP LN is the new location. It will be the street number.
- the first, second, third, ... of the location table ⁇ / LC of the primary system 1 indicate predetermined block numbers of the primary block 12 as shown in FIG.
- the first entry of the reorganization pointer RPLC, the primary block 12 (the block number “0”) managed by the entry, and the overflow block are excluded.
- the primary 'block 1 2 the block number' 0 '
- the first entry is transferred from the current location “tape Nore LC” to the new location 'table LN (S 1 in FIG. 3).
- the overflow block is linked or not to the block (12 block number "0J") managed by the first entry (block number "0"). If not, change the address of the (current) reorganization pointer RPLC (for new) reorganization pointer RP LN to point to the beginning of the second entry.
- the minimum value of the primary key value of the second entry in the current location's table LC is '0000' and the maximum value is '0299'.
- the minimum value of the primary key value of the record stored in the primary block 1 2 is “0000”
- the maximum value is “0 0 99”
- the first overflow 1 main block of the record stored in the block 1 3 ⁇
- the minimum value of one value is "0100”
- the maximum value is "0199”
- the second overflow block 14 The minimum value of the primary key value of the record stored in 14 is "0200”
- the maximum value is "0" In the case of 299 ", it becomes as follows.
- the primary key values for the second entry in the table LN are' 0 000 'as the minimum and' 0099 'as the maximum. Since the address of block 10 is the address of primary 'block 12 (block number' 1 '), the same value as the address of the current location' table LN is entered (S 3 in FIG. 3). Next, in the third entry of the new location 'table LN, the address of the first overflow' block 13 (block number '1' 2 ') and the minimum value of the primary key value' 0100 ', maximum Enter “0199” as the value (S 3 in Figure 3).
- the fourth entry of the new location table LN contains the address of the second overflow 'block 14 (block number' 1-3 ') and the minimum primary key value is' 0200', the maximum value Is “0299” (S 4 in Figure 3).
- the (current) reorganization pointer RP LC is the current location 'table LC Update to point to the third entry of and update the (new) reorganization pointer RPLN to point to the fifth entry of the (new) location 'table LN.
- the second entry of the reorganization pointer RPLC (for current use) and the primary block 12 managed by the entry shown as block number “1” in Figure 3) and overflow ' Unlock block 13 (shown as block number 1-2 in Figure 3) and overflow 'Plock 14 (shown as block numbers 1-3 in Figure 2).
- the fifth entry of the new location table LN is the address of the primary block 1 2 (blog number “2”), so it contains the same value as the current location 'table LN address (figure 3 S 7).
- the sixth entry of the new location 'Tape Nore LN contains the minimum and maximum values of the primary key value of the first overflow' address of block 13 (block number '2-2') ( Figure 3 S 8).
- the fourth entry of the reorganization pointer RPLC and the primary 'block 12 (of block number' 3 ') and an overflow' block managed by the entry are excluded. In this case, there is no overflow block, and only primary block 12 (of block number "3") is used.
- the first entry (block number '3') to the current location 'tape LE LC to new location. Transfer to table LN (S 10 in Figure 3).
- the overflow block can be reorganized without being rewritten elsewhere.
- Figure 3 shows that the reorganization is complete up to the fourth entry of the current location 'table L C.
- an entry in the alternate key 'table (see symbols 1 1 A, 1 1 B, and 1 1 C in FIG. 1) is the alternate key, and the block of the key value is stored. It consists of the physical address, the primary key of the key value record, and in the figure, the alternate key, the block number of the block containing the key value record, and the key value record key A scheme consisting of keys is also shown.
- the entry of the 'alternate key' table consists of the substitute key, the block number of the block in which the record of the key value is stored, and the primary key of the record of the key value.
- Adopting a form is advantageous for reorganization.
- the alternate key table alternate key holds the block number in one entry of the table.
- alternate key ⁇ tape accompanying reorganization by holding the block number in one of the entries in the alternate key table, and the primary key value of the alternate key value and its key value record, etc. This eliminates the need for rewriting of entries, and can reduce the load required for reorganization.
- this method is adopted, in the search using the alternative key, after searching the alternative key 'table to obtain the primary key value, the location table should not be searched with the primary key value. Because the target block can not be detected, it takes time for search.
- a 'spanned' record is a form that is divided into sizes that can be stored in a block and stored in multiple blocks if there is a record larger than a block, and this format has been used since ancient times.
- a spanned 'record is a division of one record, so it will have the same primary key and will not be stored in multiple primary blocks and it will always be one primary' block and one or more It is stored in an overflow 'block or multiple overflow' blocks. If the data is stored in multiple overflow blocks, records are already stored in the primary 'block and the immediately following overflow blocks, and storage of spanned' records from the middle of the overflow 'block' is started. It is the case.
- the elimination of the overflow 'block can be eliminated for the part of the normal record, but for the block where the spanned' record is stored, it is always in the form with the bar flow block. You can not clear the overflow 'block. In such a case, it is preferable to output information on spanned records as information after reorganization.
- FIG. 4 is a diagram for explaining the operation of reorganization that eliminates fragmentation in the database reorganization system according to the embodiment of the invention related to the primary key.
- the block numbers “0”, “1”, “1-2”, “1-13”, “2”, “2-2” of the primary 1 'blocks 1 2, 1 3, 1 4 are used.
- the record is stored moderately, and it is assumed that the elimination of one bar flow block is completed by the method described above.
- the block numbers used in the following description are the numbers based on the current location 'table L C. If using a number based on the new location 'table L N, describe that fact.
- the block number “3” of the primary block 1 2 stores 30% of the storage capacity record.
- Primary 'Plock 1 2 block number' 5 ' is 70%
- Overflow' block 1 3 block number 5 '2' is 6 0%
- Overflow block 1 3 block number '6' is 7 0 % Records are stored.
- the appropriate initial storage rate of each block after reorganization is 90%. This can be done to prevent the generation of an overflow 'procedure each time an insertion record occurs after a reorganization.
- the reorganization system tries to reorganize the block number "3" pointed to by the fourth entry pointed to by the current-use location ⁇ table L C reorganization pointer R P L C.
- the storage ratio (the ratio of the capacity of the records stored in the block to the capacity of the block) is 30%, so it does not meet the appropriate initial storage ratio. Therefore, look at the next active primary 'block 1 2 block number' 4 '.
- the block number “4” of this primary block 1 2 also has a storage rate of 40%, so even if two blocks are added, it will fall below the appropriate initial storage rate (90%).
- looking at the block number “5” of the primary 'block 1 2' the storage rate is 70%, so it will exceed the proper initial storage rate of 90%.
- the record stored in the block number “3” of the primary 'block 1 2 is left as it is, and the record stored in the block number' 4 'of the primary' block 1 2 is the same as the block number '3 of the primary' block 1 2 Move to As a result, the storage rate of the block number “3” of the primary 'block 1 2 is 70%. Furthermore, in order to achieve an appropriate initial storage rate, the first 2 0% of the record stored in the block number “5” of the primary block 1 2 is blocked by the primary 'block 1 2 At the same time as moving to the number “3”, pack 50% of the remaining records of the block number “5” of the primary block 1 2 forward (move it to the left in Fig. 4). At this time, the method of correcting the entry of the alternate key table of the record to be moved is the same as the method described in Elimination of the overflow block.
- the block number “5” of the primary block 1 2 is operated, but the storage ratio of the block number “5” of the primary 'block 1 2 is 50% due to the reorganization. Since the storage rate of the block number '5-2' of overflow 'block 1 3 is 60%, the record number of the block' 5-2 'of overflow' block 1 3 is the first 3 0% of the records. Move to the primary 'block 1 2 block number' 5 'side, and at the same time, stuff the records remaining in the overflow' block 1 3 block number '5-2' forward (move the record to the left side in the figure).
- the block number “5” of the primary block 1 2 is disconnected from the block block “5— 2” of the overflow block 1 3 as the overflow 'block (S 2 2 in FIG. 4). This sets the address of the block number '5' of the primary block 1 2 to a specific value (for example, zero). Also, the method of correcting the entry key table of the record to be moved is the same as the method described in Overflow Block Elimination.
- an appropriate initial storage rate of 85% to 90%, for example.
- the appropriate initial storage rate is in the range of 85% to 90%, it is assumed that.
- an appropriate initial storage rate can be realized by adding an item to the entry of the location 'table and providing an item in a ca-block to be described there.
- the record may be rewritten from the original block to another block. In this way, there is a need to rewrite entries in the alternate key table related to the record to be rewritten.
- the first method to prevent deadlocks is to first read out the proques one after another without exclusion, check the storage rate of the records, combine multiple blocks, and get the proper size. It is a method to determine the exclusion range after calculating as above.
- the “second method for preventing the occurrence of deadlock” is as follows.
- one entry in the location 'table is both the block number and the block address, both minimum and maximum primary key values of the record stored in the block, or It is said that either one can be held.
- the storage rate of the record in the block or the number of bytes of the area occupied by the record is added to the location.table entry with the number of overflow 'blocks connected to the block. By doing this, it is possible to do the task just by reading the location table without having to read the blocks described in the first method.
- the storage rate of the record in the block or the number of bytes of the area occupied by the record increases or decreases, and the rewriting of the location table occurs. Therefore, it is preferable to select one of the first method and the second method for preventing the occurrence of the above-mentioned deadlock depending on the occurrence status of the record.
- the above information can be held in a block.
- the number of blocks to be reorganized and the number of overflow blocks and the storable capacity are examined, the actual capacity of the record to be stored is examined, and the required blocks are the sum of the current block and the overflow. Investigate whether it is the same number, increase or decrease.
- the reorganization pointer One is to move at the same time by the block that was the target of reorganization.
- the method of recognizing that the reorganization of the location 'table is complete will be described.
- the current location 'table L C is provided with a final border to indicate the final position where the location' table is used.
- the location table is to be secured in a continuous area. If the location table entry is not sufficient, add an additional location 'table to the area not contiguous with the first location table, and translate those addresses as if they are contiguous areas.
- the method of binary search is shown in “Data storage search method”, it is not preferable to increase the number of discontinuities because it increases the load of address conversion. For this reason, the area for the location 'table has a sufficiently large area in advance, and the entry used next to separate the used entry and the unused entry. It is supposed to point to a dress.
- This final pointer is used as an index.
- the reorganization is performed and the address pointed to by the current reorganization pointer RP L C matches the address pointed to by the final pointer, the reorganization of the location 'table and block is complete. Note that even if an overflow 'block is linked to the block pointed to by the final entry, the relocation of the current reorganization pointer RPLC is not performed unless the reorganization of the overflow block is completed. , no problem.
- the current location reorganization pointer RPLC will not be necessary, so the new location table LN will be the current location table, You can delete the table LC.
- FIG 20 is a flowchart of the above reorganization.
- S 1 indicates a reorganization command.
- S 2 indicates a means for creating a new location 'table.
- S3 determines the completion of the reorganization.
- S4 indicates a means for looking at the storage status of blocks and making one or more blocks to be reorganized.
- step S5 it is determined whether the primary flow block is linked to the primary block.
- S 6 shows how to unlink the overflow 'rock and create a new entry in the new location table.
- S7 determines whether or not there is fragmentation.
- S 8 shows a means for moving records between previous and subsequent blocks, rewriting blocks, and eliminating fragmentation.
- step S9 it is determined whether the appropriate storage rate is exceeded.
- S 10 indicates a means to create a new block, move records between previous and subsequent blocks, and rewrite blocks.
- S11 determines whether there is an unused block.
- S12 indicates a means for registering in the unused block allocation allocation table.
- S 1 3 is the current location
- FIG. 5 and FIG. 6 are diagrams for explaining a method of eliminating the overall fragmentation in the database reorganization system according to the embodiment of the invention related to the primary key.
- the method for eliminating the overall fragmentation uses an unused block 'allocation' table UBAT, as shown in FIG.
- This unused block allocation table UBAT is a table of the format as shown in FIG. 5, and is for storing the address of the unused block in block 10.
- database reorganization system In the system, there is a method to eliminate the overall fragmentation: a pointer (start position pointer NABPS) indicating the start position of the unused block 'allocation' table UB AT and a pointer (end position pointer NAB PE) indicating the end position.
- start position pointer NABPS start position pointer
- end position pointer NAB PE end position pointer
- start position pointer NAB PS and the end position pointer NAB PE both point to the beginning of the unused block 'allocation table UB AT.
- Unused block 'Allocation' table The table of UB AT contains an address of an unused block, so add this address to the block 'Add location' table (in Figure 2 to Figure 4, location 'table LC And write to L), and in the case of an overflow 'block, write its address to the pointer of the primary block or overflow block that manages that block. After that, the contents of the start position pointer NAB PS are rewritten to point to the next entry in the unused block / location table.
- Figure 5 shows the state immediately after such rewriting processing is executed twice and two unused blocks are used.
- This unused block ⁇ allocation ⁇ table UB AT can be used cyclically Ru.
- the position of the end position pointer NABPE moves backward (downward in the figure) of the unused block, allocation, and table UBAT.
- the start position Since the position of the pointer NABP S is also shifted backward (downward in the figure) of the unused block / allocation table U BAT, so long as the end position pointer NABPE does not pass the start position pointer NABP S, one is Use the table cyclically.
- FIG. 7 is a diagram for explaining a search / read / write operation of data during reorganization in the database reorganization system according to the embodiment of the invention related to the primary key.
- the target key value (key value to be searched) is smaller than the primary key value pointed to by reorganization pointer R PLC (shown in the figure).
- Upper) Force Determines if large (below shown). This is because the current location table LC is arranged in the order of the primary key value, so if you compare the key value of the entry indicated by the reorganization pointer RPLC with the target 'key value'.
- the target entry exists above (smaller address than) reorganization pointer RPLC. It will be.
- a new location A binary search is performed between the start address of the new location table LN and the reorganization pointer RPLN (within the search target area 101) using the table 'LN of the table.
- the records in the block pointed to by the target entry are examined to detect whether the target record exists.
- the target 'key value is equal to the minimum value of the primary key value of the entry pointed to by the current reorganization pointer RPLC 0, or if it is greater, the target entry is lower than the current reorganization pointer RPLC It will be present in the entry pointed to by RPLC 0 or the address larger than that.
- using the current location 'table LC for the entry between the current reorganization pointer RPLC and the current location' table LC last pointer (in search target area 102) Do a binary search.
- the current reorganization pointer RPLC is used to compare with the target key value and indicate the current reorganization pointer RPLC. Determine whether the primary key value is smaller (upper in the figure) or larger (lower in the figure), and if smaller (upper in the figure) location 'tape nore LN, greater or equal (in the lower figure) location table LC, Each binary search enables the target entry search to be executed reliably, enabling the search for records with the target primary key value.
- the location 'table binary' search is performed by the primary key, so it is exactly the same as described above for accessing the database during reorganization. If a block address is held, the block 'address is not changed by reorganization, so it is known that the block at that address is the relevant block. However, in the case of the block number, since it is updated by reorganization, it is necessary to identify whether it is the number of the current location table or the number of the new location table. This identification is performed as follows.
- Block power between the block number pointed to by the current reorganization B-interleaver RP L C and the block number pointed to by the new reorganization B-pointer R P L N It is impossible to search for a block. This is because the current location 'table LC has been reorganized up to the position of the organization pointer RPLC, and the new location table LN is reorganizing the portion above the new reorganization pointer RP LN. This is because the block whose block number is larger than the block pointed to by the new reorganization pointer RP LN is not targeted.
- the new location table LN is used. Reorganization pointer If the block number of R PLC or higher is searched, use the current location table LC.
- Block to which the block number to be searched is pointed to by reorganization BPLC If it is less than the number, use the new location table LN. If the block number to be searched is larger than the block number pointed to by reorganization pointer RPLN, the current-use location table LC is used.
- the block number to be searched is equal to or greater than the block number pointed to by the current reorganization pointer RPLC and less than the block number pointed to by the new reorganization pointer RPLN, the block number alone indicates which location Do the following because the table is the target or can not be identified uniquely. .
- the obtained alternative key 'one entry contains the primary key value. If this primary key value is compared with the primary key value of the entry in the location 'table pointed to by the reorganization pointer RPLN, and the alternate key' entry 1's primary key value is less than the primary key value of the reorganization binder RPLN Use new location table LN for. If the primary key value of the alternative key 'entry 1' is greater than or equal to the primary key value of the new reorganization boundary R P L N, use the current use case. Table L C.
- the primary key value of the record to be inserted needs to determine where in which block to insert. This is because, in the data storage and retrieval method described above, records are stored in blocks in the order of primary key values, and between blocks, the primary key values of records stored in blocks prior to a certain block are This is because a storage method has been defined, which is smaller than the primary key value of the record stored in.
- the record after the insertion position is moved backward by the length of the record to be inserted and inserted in the vacant area. Write the target record.
- an overflow block is linked to the block, the above operation is performed by regarding the primary block and overflow 'block as one.
- add an alternate key If there are 3 types (A, B, C) of alternative keys in the import target record, search the alternative key table for each type. The case of the alternative key * table A will be described. The method of retrieval by alternate key during reorganization will be omitted here, as it will be described in detail in Alternate key 'table reorganization'. Alternate key. After searching for alternate key blocks that purchase entry, determine where to insert the alternate key 'entry in the alternate key block. Here, when the alternate key overflow is linked to the alternate key block and its alternate key block, the alternate key overflow block is excluded.
- the entry key for the alternative key location table is also excluded. If the target alternate key block is being reorganized correctly (Alternative key 'table reorganization will be described later), it becomes exclusive, so the force of exclusion waiting is released. Reorganization exclusion is released. Then, perform exclusion and enter the following operation. First, we will explain the case where the alternate key block is not linked to the alternate key block.
- the operation is similar to the insertion case. If the record length becomes long, it is determined whether there is a storage space for the lengthening. If there is a storage space, the record after the storage location is moved backward by the required number of bytes, and the storage location previously occupied by the target record and the newly secured storage space are updated. Store the record
- the addition of the alternative key 'entry 1' is the same as in the case of the record import.
- To delete an alternative key entry search the corresponding alternative key block to find the alternative key entry to be deleted. If an alternative key 'block is found, an alternative key' overflow 'is linked to an alternative key' block and its alternative key block, and the alternative key 'overflow' block is excluded. Furthermore, when using the alternative key 'location table', the corresponding entry of the alternative key. Location.
- deletion it is first necessary to search for deletion target records. If a record is found, lock the entry in the location 'table and the block.
- FIG. 8 is a diagram for describing an operation to cope with a case where reorganization progresses during search in the database reorganization system according to the embodiment of the invention relating to the primary key. ⁇
- the database reorganization system uses the reorganization pointer as described above and compares it with the target 'key value to obtain the current location table LC, the new location ⁇ Explaining that it is possible to recall records even during reorganization, by deciding which table LN to use.
- Such inconveniences can be retrieved without problems by the following measures.
- the location table to be searched is the current location table LC or the new location 'table LN. If the location table used is the new location table LN, there is no problem if the reorganization pointer RPLN goes beyond the start of the search. The problem is with the current location table LC.
- the current location table LC is used as the search target, if the reorganization pointer R PL N is ahead of the start of the search, problems will occur if it is not devised.
- the value of the reorganization pointer RPLC at that time (this is assumed to be E-RPLC) is compared with the value of S- RPLC. If this value is different, it means that reorganization has progressed during the search. In this case, it is determined where the search target block is located. If the judgment result is that there is a target block between S-RPLC and E-RPLC, as described above, there is a possibility that the record can not be retrieved. In this case, a new location 'table L N is used to do a binary' search between S-RP LN and E-RP LN. Here, if the record can be found, the record is present, and if not, the record is absent. By doing this, it is possible to search for the record with certainty, an event that causes no existing record to exist.
- the primary key value of a record changes, you need to change the storage location of the record. This is because in the block, the records are arranged in the order of the primary key value, and if there are records out of the range, the search in the location 'table becomes impossible. Therefore, when changing the primary key value, the current record is deleted, and then a new record is searched for a block to be stored based on the primary key value and inserted there. This method is generally used in old databases.
- the format of the overflow 'block is illustrated in the figure. According to this, the overflow 'block does not hold the minimum and maximum values of the primary key values of the records in the block. In addition, during the primary block, in addition to the minimum and maximum values of the primary key values of the records in the primary block, the minimum and maximum values of the primary key values of the records in the overflow 'block are held. The figure is illustrated.
- the primary block holds the minimum and maximum values of the primary key values of the records in the primary block.
- the minimum and maximum values of the primary key values of the records in the overflow' block are held.
- the minimum value of the primary value of the records stored in the primary 1 block managed by the entry and all overflow blocks managed by the primary block Hold both and / or one of the maximum values.
- Overflow If the block does not hold the minimum and maximum values of the primary key, it is possible to allocate space for record storage accordingly. However, if the overflow block is resolved by reorganization and made into a 'primary' block, it will hold the minimum and maximum values of the primary key, so if the record is stored full, Because there is not enough space to hold the primary key minimum and maximum values, an overflow 'block' occurs. Also, if a large number of overflow blocks are connected to one primary block, it is necessary to sequentially read the records in the overflow 'block in order to find the target record. There is also a problem that it takes extra searching time.
- the target record when a large number of overflow 'blocks are connected to one primary block, the target record is Even if you need to read the records in the overflow 'block in order to look for it, and it takes extra time to search, first read the minimum and maximum values of the primary key of the primary' block. If the target 'key value is within the range, it can be determined that the target record can exist in the primary block. If it exceeds the maximum value, it indicates that the target record can exist in the overflow 'proc' and read the first overflow block and the minimum value of the primary key value of that block. The value and the maximum value are compared with the target key value, and if within the range, the target record can exist in the block, and if the maximum value is exceeded, the target overflows after the next overflow 'block It is understood that the record may exist.
- the primary system is illustrated as residing on one server, but the primary 'system is logical, and may be in the form of multiple servers.
- Fig. 19 shows the reorganization related to the elimination of overflow and blocks, the elimination of the method and the securing of an appropriate initial storage rate are also explained by the invention concerning the primary key. The same method can be used in exactly the same way.
- the upper part of Figure 19 shows the database currently in use.
- the lower side shows a new database.
- the order is such that the address of block 0 of the new database is determined after being transferred, and the force is determined if the address is determined in advance, even if the order is reversed. good.
- entry 1 of LC is: entry 1, 2, 3 in LN It will be three.
- Figure 19 shows the completion of processing up to blocks 2 and 2-2 in the current database.
- the dashed double-dotted line shows the operation of writing the block.
- the reorganization coordinator is created and used one each for L C and L N.
- the number in each entry of LN is the block number, and the number in parentheses is the block number of the original block in the current database.
- the size of the block is made the same for the current use and the new one to simplify the explanation, but it is also possible to change the block size.
- Working location 'Reorganization is complete when the last pointer of the table is the same as the address pointed to by the reorganization pointer.
- six working blocks 0, 1, 1-2, 1-3, 2 and 2-2 are still present, but after being transferred to a new database, delete them. I do not mind.
- access to the database is performed in exactly the same manner as the method described in the invention relating to the primary key, when the target key value is smaller than the reorganization pointer, the new database is accessed and the target key is accessed. If the value is greater than or equal to the reorganization pointer, the current database is accessed. Also, the ability to suspend and resume reorganization is exactly the same as the invention related to the primary key.
- the substitute key block includes the minimum value and the maximum value of the alternative key values of the entry contained in the block and the substitute key connected to the block. It is in the form of holding the minimum and maximum value of the alternative key value of the entry included in the overflow block.
- a new form of alternate key table is to use location table for alternate key table.
- FIG. 9 is a view for explaining an automatic reorganization system of a database according to an embodiment of the invention concerning the alternative key.
- the database reorganization system is the alternative key table 1 1 A, 1 1 B, 1 1 C adopting a new format.
- Tables 1 1 A, 1 1 B, 1 1 C also use location tables.
- the substitute key 'table 1 1 A, 1 1 B, 1 1 C substitute key' block 17 is used to manage To call the alternate key location table AA LC Make it
- This alternate key 'location' table AALC has the same function as the mouth table for the blocks described in the embodiment of the invention relating to the primary key.
- alternate key ⁇ table 1 1 A consists of alternate key ⁇ location ⁇ table AALC and alternate key 'block 17 and force
- alternate key' table 1 1 B is also alternate key 'location ⁇ table A ALC alternate
- the alternate key 'table 1 1 C is also composed of the alternate key' location 'table A ALC and the alternate key block 1 7.
- FIG. 10 is a diagram for explaining one of the alternative key tables of the primary 'system in the database reorganization system according to the embodiment of the invention relating to the alternative key.
- Alternate key • Block AAC and alternate key ⁇ Overflow Block 15. 16.
- the alternate key stored in the relevant block 'Minimum value of alternate key value for one entry, holding the maximum value is the invention related to the alternate key It is similar to the first form in. By doing this, it is possible to reduce the load when searching for the target alternate key entry when multiple alternate key overflow 'blocks 15 and 16 are linked to the alternate key block AAC.
- the alternative key 'location' table A AL, the corresponding alternative key block 17 and the alternative key block 17 are connected to the alternative key overflow block 1 5, 16 It is possible to hold the minimum value and / or the maximum value of the alternative key value of. This causes the alternate key 'block AAC to be stored on itself and on alternate key overflow blocks 15 and 16 linked to itself. It is no longer necessary to keep the minimum and maximum values of the alternate key and entry 1 being used, and it becomes possible to make the format of alternate key 'block 1 7 and alternate key .overflow' block 1 5 1 6 identical. . Key ⁇ Location ⁇ Effect when using tape>
- the alternate key table in the “data storage search method” format, although it was necessary to obtain the alternate key table in a continuous area, when using this format and using the alternate key location table, the alternate method is used. If the key ⁇ location ⁇ table is acquired in a continuous area, the area can be acquired flexibly because alternate key blocks are not inconvenient even if they are scattered in a discontinuous area.
- FIG. 11 is a diagram for explaining a method of reorganization of the database according to the embodiment of the invention of the alternative key.
- the second form of the alternative key table according to the embodiment of the invention relating to the alternative key is: alternative key ⁇ alternative key for table 1 1 A ⁇ block 17 for alternative key ⁇ location ⁇ A table AA LC is provided, and each entry of the alternate key ⁇ location ⁇ table AA LC is in the form of managing alternate key 'block 1 7'.
- Alternate key ⁇ Overflow ⁇ Blocks 1 5 1 6 are almost the same as alternate key ⁇ block ⁇ table and block relationship.
- Alternative key ⁇ Location ⁇ Transfer of table ⁇ Entry>
- Table 1 1 Describes the case where A is to be reorganized. As described above, the description of the alternative key 'table 1 1 B, 1 1 C is omitted, but it is completely the same as the case of the alternative key table 11 A.
- the alternative key 'entry one' is arranged in the order of alternative keys in the alternative key 'block 17 and alternative key overflow' blocks 1 and 16, and the alternative key 'entry one If there are a large number of alternate key overflow blocks at the time of insertion, the movement of alternate key 'entries will increase and the efficiency at the time of insertion will decrease, but there is also a purpose to prevent it. Reorganize using the current and new 2 location tables ⁇ Alternative key 'overflow' block 1 Because the number of occurrences of 5, 16 is counted, alternative key 'location' table of AALC The number of entries plus the number of overflow blocks 1 and 16 is the number of entries for the new location table A ALN.
- AALC location table used at the time of reorganization
- Entry 1 may increase during reorganization, and alternate keys and entry 1 increase with the addition of records after reorganization, so it is preferable to secure more than necessary.
- the number of required alternative key blocks may be reduced, and also by ensuring the proper initial storage rate, the required alternative key ⁇ Since the number of blocks varies, it is the most preferable method to calculate based on the capacity of the stored entry and the appropriate initial storage rate.
- 'New alternate key location ⁇ Reserve a contiguous area in the primary' system that meets the capacity of table A A LN.
- a reorganization pointer This is an indication of which entry of the table "alternate key.location 'table, up to which the transfer has been completed, and the current reorganization key RPAALC for the current alternate key.location.table AALC and the new alternate key' location'table A Prepare two, with the new reorganization pointer RPAA LN for ALN.
- the initial value of the current reorganization pointer RPAALC is the initial address of the current alternate key location and the start address of the table AALC
- the initial value of the new reorganization pointer RP AALN is the beginning address of the new alternate key location AALN.
- the first entry (block number “0”) is transferred from the current alternate key ⁇ location ⁇ table AALC to the new alternate key ⁇ location 'table AALN (S 51 in Figure 11).
- the blocks managed by the first entry are Check if the flow 'block is linked or not. If it is not linked, change the addresses of the current reorganization pointer RP AALC and the new reorganization pointer RP AALN so that they point to the beginning of the second entry.
- process the second entry (block number: 1).
- the alternate key 'oplock' managed by the second entry of AALCO has two alternate key 'overflow 1' blocks connected. If the alternate key overflow block is linked, do as follows.
- the second current alternate key 'location' table AALC entry is transferred to the second entry of new alternate key ⁇ location ⁇ table AA LN, but the entry alternate key value stored in the block is the minimum value and Make changes about the maximum value.
- the minimum value of the alternative key value of the second entry of the new alternative key 'location' table AA LN is 0000 and the maximum value is 0299.
- the minimum value of the alternative key value of the entry stored in the alternative key block 1 7 is 0000
- the maximum value is 0099
- the first alternative key is over
- the minimum value of the alternate key value of the entry 1 stored in the flow block 15 is 0100
- the maximum value is 01 99
- the second substitute key overflow The substitute key value of the entry stored in the block 16
- the minimum value of is 0200 and the maximum value is 0299.
- New alternative key The alternative key value for the second entry in the location AA LN table is 0000 for the minimum and 0099 for the maximum (S 52 in Figure 11).
- the new alternate key ⁇ location ⁇ The address of the alternate key block held in the entry of table AALN will have the same value as the address of the alternate key 'block 17 (alternate key. Block number' 1 ').
- New alternate key ⁇ Location The fourth row of the table AA LN, the second alternate key ⁇ bar flow ⁇ block 16 addresses, the minimum value of the alternate key value is 0200, the maximum value is It is set as 0299 (S 54 in Figure 11).
- Figure 1 1 shows that the reorganization has been completed up to the fourth entry of the current alternate key, location, and table A A L C.
- the alternative key block and the alternative key overflow can hold the information in the block. It holds information such as the beginning, middle or end of the entry of the same alternative key. Other than that, it is the same as storing regular entries.
- FIG. 12 is a diagram for explaining a method for eliminating fragmentation in the database reorganization system according to the embodiment of the third invention.
- This figure 12 also uses the alternative key 'location' table, but in addition to the current alternative key ⁇ location ⁇ table AA L C, a new alternative key ⁇ location ⁇ table A A L N is used.
- the alternative key block number "3" stores an entry of 30% of the storage capacity. 40% of the storage capacity is stored in the alternate key block number “4”.
- Alternate key 'block number' 5 ' is 70%
- alternate key' alternate key at block 17 alternate key ⁇ block number '6' Contains 70% of the entries.
- the percentage of space used in each block after reorganization shall be 90%. This can be provided to prevent alternate key overflow blocks each time an inserted record occurs after reorganization.
- the reorganization system according to the embodiment of the invention relating to the alternative key is a new alternative key location 'table' new reorganization pointer of the AALN.
- Alternative key pointed to by RPAALN Alternative key of 'block 17
- Alternative key' block number '3 Try to reorganize
- the storage rate the ratio of the capacity of the entry stored in the alternate key block to the capacity of the alternate key block
- the appropriate initial storage rate is not satisfied. For this reason, look at the next alternate key 'block number' 4 J next to alternate key 'block 17.
- alternate key • block 1 7 alternate key • Prolog number “5” is operated, but by reorganization, alternate key 'block 1 7 alternate key block number “5” is the storage rate Is 50%.
- Alternate key ⁇ Overflow ⁇ Block 1 5 alternate key ⁇ Block number "5-2" has a storage rate of 60%, so the entry for the alternate key 'block number 5-2' starts at the beginning 3 0 Move the% entry to the alternate key 'Alternate key' Plock 1 'block number' 5 ', and at the same time, pack the entries remaining in the block number' 5-2 'forward (left side in the figure).
- alternate key ⁇ alternate key of block 7 ⁇ block number "5" disconnects alternate key 'block 1 alternative key' block number 5-2 "as alternate key 'overflow' block .
- additional key blocks may need to be added to ensure a proper initial storage rate. This means that, for example, if the percentage of space used in all the alternative key blocks is 100%, and if the appropriate initial storage rate is 90%, then at one point in time, nine will be stored.
- the alternative key 'block is targeted for reorganization, and one alternative key block is added to store 90% of entries per 10 alternative key blocks.
- an appropriate initial storage rate of 85% to 90%, for example.
- the appropriate initial storage rate should be in the range of 85% to 90%. Even in the case of securing the proper initial storage rate, it may occur that the entry 1 is rewritten from the original alternate key block to another alternate key block.
- the first method is to first read out alternate key blocks one after another without exclusion, check the storage rate of records, combine multiple blocks, and calculate them to be appropriate size. Above is the method to determine the exclusion range. Add a field to a table entree>
- the second method is to add an alternative key.
- Location 'table Entry in addition to the minimum and / or maximum primary key value of the record stored in the block in addition to the block number and the block address in the entry. , Add the storage rate of the record in the block or the number of bytes of the area occupied by the record to the entry. In this way, it is possible to do the work just by reading the alternate key 'mouth' table without having to read the block described in the first method. However, in this case, the alternate key location table will be rewritten along with the deletion of the entry, so the first method and the second method may be used depending on the entry situation.
- the alternate key block and alternate key overflow in the block After examining the storage rate of the data, determine the range of reorganization at that time, substitute the key for the range, the table for the table, and the key for the key to which the entry is pointing , Alternative key ⁇ Locked on alternate key ⁇ Lock ⁇ Perform lock exclusion on the block.
- one reorganization pointer is moved at a time by the number of blocks subject to reorganization.
- Alternative keys ⁇ Location ⁇ Explains how to recognize that the reorganization of the table is complete.
- Working alternative key ⁇ Location ⁇ Table AA LC has an alternative key ⁇ final pointer to indicate the final position using that alternative key ⁇ Location ⁇ Table AA LC.
- the purpose of providing an alternative key 'final pointer is as follows.
- Alternative key ⁇ Location ⁇ Table AA LC is to be secured in a continuous area.
- Alternative key ⁇ Location ⁇ Table ⁇ If there is a shortage of entrees, the first alternative key 'location' table is not contiguous with the table and additional alternate keys ⁇ Location ⁇ The table is provided and whether they are contiguous areas It is not preferable because there is an increase in the load of address translation if there are many power discontinuities that can be searched by translating addresses so that binary search can be performed. For this reason, the area for the alternate key, location, and table must have a sufficiently large area in advance, and can be used next to the entry being used to distinguish between the entry being used and the unused entry. It is supposed to point to the address of the entrance. Thus, by providing the alternate key 'last pointer, the current alternate key by executing a binary search between the first address of the current alternate key location table AAL C and the alternative key last pointer. Location .table AA
- This alternate key 'final pointer is used as an index. Perform reorganization and working address pointed to by the working reorganization pointer RPAALC point.
- the alternate key 'location' table A ALC and alternate key ⁇ Block 17 reorganization complete when there is a match with the address pointed to by the alternate key 'last pointer' It will be done. It should be noted that even if alternate key overflow blocks are linked to the alternate key to which the final entry points, even if alternate key overflow blocks are concatenated, their alternate keys overflow. There is no problem as the location 'table AALC is not moved. [Alternate key ⁇ table reorganization: reuse unused block]
- FIG. 13 is a view for explaining a method of eliminating the overall fragmentation in the database reorganization system according to the embodiment of the third invention.
- an unused alternate key 'block' allocation table UB AT is used. This unused alternate key 'block' allocation table.
- the table UAB AT is a table of the form shown in FIG. 13 and is for storing addresses of unused alternate key blocks.
- N AAABPS pointer
- NAAABPE pointer
- the pointer NAAABPS that indicates the start position and the pointer NAAABPE that indicates the end position both point to the beginning of the unused alternate key 'block ⁇ allocation' section.
- An unused alternate key 'block is generated (indicated as “unused” in FIG. 13), and the entry pointed to by the pointer NAAABPE that indicates the end position of the unused alternate key' block 'allocation' table UB AT Register the address of the unused alternate key block, and rewrite the pointer indicating the end position to point to the next entry of the alternate key 'block ⁇ allocation block UA BAT of the unused alternate key' block ⁇ allocation.
- FIG. the pointer NA AABPE, which indicates the end position, points to the eighth entry of the unused alternate key 'block allocation' table, as shown in FIG.
- FIG. 14 is a diagram for explaining block reuse in the database reorganization system according to the embodiment of the invention relating to a substitute key.
- Fig. 14 shows a state immediately after two unused blocks are used.
- This unused alternate key block allocation table UA BAT can be used cyclically. Unused alternate key 'pointer indicating the end position when a block occurs. The position of the NAAAAB PE is moved to the back of the unused alternate key' block 'allocation' table UAB AT, while the unused alternate key ' Block is used Since the position of the pointer NA AAB PS indicating the start position is also shifted backward, the pointer indicating the end position NAAAAB uses one table UA BAT in a cyclic manner unless the pointer NAAAAB PS overtakes the start position. In other words, when the pointer NAAAB PE indicating the end position goes to the end of the unused alternate key. Block. Allocation 'table UAAB AT, the unused alternate key' block ⁇ table. Start of the table UABAT. It is possible to return to the table and reuse the table UABAT.
- the target key value is smaller than the minimum value of the alternate key value of the entry pointed to by the current reorganization pointer RPAALC, the target entry exists' above (smaller address) than the current reorganization pointer RPAALC. It will be done.
- a new alternative key ⁇ location ⁇ table AALN is used to perform a binary search between the new address ⁇ location 'start address of table AALN and new reorganization pointer RPAAL N.
- the entry in the alternate key block pointed to by the target entry is examined to detect whether the target entry exists.
- the target entry is lower than the current reorganization pointer RPAALC (address is large, And, it will be present in the entry that RPAALCO points to.
- a binary search is performed on the entry between the current reorganization pointer RPAALC and the current alternate key 'location' last pointer in table AALC. In this way, the search for the target entry can be performed reliably, so By searching within the block pointed to, it is possible to search for records with the target primary key value.
- an alternative key that contains an entry having the target alternative key value • block power Reorganizing correctly and if it is excluded, it becomes an exclusion wait, and until the exclusion is released, the alternative key ' Blocks can not be accessed, but this is the same as updating, inserting, or deleting records in normal access.
- a request for an alternative key block in exclusion becomes a wait for exclusion, but can be processed if reorganization on the alternative key block is completed and exclusion is released.
- FIG. 15 shows retrieval of the alternate key in the database reorganization system according to the embodiment of the invention relating to the alternate key.
- FIG. 18 is an explanatory diagram of an operation when reorganization is in progress and the position of the current reorganization pointer at the start of the search and the position of the current reorganization pointer at the end of the search are different.
- the table below shows the locations to be searched according to target key values and reorganization pointers: table for current alternate key, location, force for table AA LC ⁇ new alternate key, location for table AALN0
- table for current alternate key table for current alternate key
- location force for table AA LC ⁇ new alternate key
- location for table AALN0 Make a decision on If the alternate key to be used, the location, and the table are AALN0, no problem occurs even if the new reorganization pointer RPAALN goes beyond the start of the search.
- the problem is that the current alternative key .location .table AALC is targeted. If the search target is the current alternate key location table A A L C and there is no movement of the current reorganization pointer ⁇ RPAALC, no problem occurs.
- the value of the current reorganization pointer RPAALC (Alternate key ⁇ designation ⁇ next entry in the table to be organized next) and the value of the new reorganization pointer RPAALN Save Let these be S-RPAA LC and S-RPAALN. Then, when the retrieval for the current alternate key location and table AALC is completed, the value of the current reorganization pointer RPAALC (this is assumed to be E—RPAALC 0) is compared with the value of S—RPAALC 0. . If this value is different, it means that reorganization has progressed during the search. In this case, it is determined where the search target block is located. If there is a target alternate key block between S-RP AALC 0 and E-R PAAL CO, as described above, there is a possibility that the entry can not be searched.
- the alternate key value of the record is changed, it is necessary to change the storage location of the alternate key entry. Because, in the alternate key block, the entries are arranged in the order of alternate key values, and if there is an entry out of the range, the alternate key 'location table can not be searched. It is because. Therefore, if you want to change the alternate key value, delete the current entry, and then search for a new entry, an alternate key block to be stored based on that alternate key value, insert. This method is generally used in old databases.
- restart is indicated by the current reorganization pointer RP AA LC and the new reorganization pointer RP AA LN when interrupted.
- Alternative key ⁇ Location ⁇ Table AA LC and new alternative key ⁇ If you reorganize from the entries in table AA LN, please. With this feature, if the load on the primary system increases, a reorganization is in progress W
- alternate keys can be written with an increase in information. Secure the block. Add block number or block address and rewrite the entry information for the target alternative key block entry.
- the target key value is smaller than the reorganization pointer, access to the database is accessed in the same way as the method described in the invention relating to the primary key, the new database is accessed and the target 'key value is reorganized. If it is greater than or equal to the pointer, the current database is accessed. Also, being able to suspend and resume the reorganization is exactly the same as the invention concerning primary keys.
- the exclusion method is a method to realize exclusion, and a method with low load on the system was devised.
- the exclusion method is mainly the order of exclusion. It is important to arrange the exclusion order, as different exclusion orders in the system cause a dead mouth. Explain that the exclusion order is the same in this method and this system.
- the exclusion method is directly applied to each of location 'table, block (including overflow' block), alternate key ⁇ location ⁇ table, alternate key ⁇ block (alternate key ⁇ overflow 'block included). It is realized by writing the exclusive status.
- transactions When transactions occur, they are arranged in the order in which the transactions occur in the form of queues, and processing is performed in that order in a form used in general information processing. Furthermore, it is common for transaction ⁇ to express access requests for data in the form of request blocks. When executing a transaction, access to various data occurs. Even if the same type of data is accessed, there is a difference between searching in the location table or searching with the alternate key tape.
- identification of process request origin, transaction number, target data type, process request identification (read, update, add, insert, delete, type), read target key, read target key value, Information on the write record, etc. is stored as it is or in the form of pointing to an address containing such information.
- Exclusive table Addless is a table for storing exclusive information.
- the entry in this table holds the address to be excluded and holds the address identification flag described next.
- the size of the entry should be large enough to hold the address.
- the table size (entry number) is, for example, 100. If there is a shortage, add another 1 0 0 and keep the last address of the first table the address of the next exclusive table. To have it. In this case, an address identification flag is provided to identify whether the address strength of the exclusion target is the address of the next table.
- the request block if there is an exclusive access request, Put on the exclusive dress.
- a location table it is the address of the entry, for blocks it is the address of the block, alternate keys ⁇ wording ⁇ for the table the address of the entry, alternate key block or alternate key ⁇ overflow ⁇ block In the case of, it becomes the address of the block concerned.
- FIG. 16 is a view showing an example of exclusion of a location table in the database reorganization system according to the first or third invention.
- reference numeral 1 10 is a request queue
- reference numerals 120 and 121 are request blocks
- reference numerals 130-0 are 130-1 and 1 31-0 are exclusion tables
- L C is a location table.
- the entry table "0" of the exclusion table 130-0 points to the entry "0" of the location table L C. This does not mean that the entry table "0" of the exclusion table 50-force always points to the entry entry table "0" of the location tape nore LC, but indicates that such a correspondence as an example. Add a field to the location table LC so that it can hold the address of the exclusive table 130-0, 1 30 -1, 131 -1. The entry "0" of this location table LC points to the entry "0" of the exclusion table 1 30-0.
- Whether the entry in the location.table LC is exclusive or not can be identified whether or not the entry is in the exclusive table 'entry' field 'address' field. If the address is included, that entry is excluded and can not be accessed from other requests.
- the exclusive table 130-0, 130-1, 131-0, holding the location 'table L c address of the table L c ensures that the exclusion is canceled when the transaction is completed and the system If there is an abnormality in the system and the whole operation has been stopped, it is intended to execute exclusion release quickly.
- the location table LC has entries for exclusion or not, but it does not have an exclusion table (130-0, 130-1, 131-0), after operation stop, If all locations 'table LC entries are seen and they are in exclusion', you need to unlock them. On the other hand, if the address of the location table L is in the entry table of exclusive table 1 30-0, 130-1 or 131 -0, those exclusive table 1 30_0, 1 30-1 or Look at 131 – 0 and remove the exclusion from the entry in the corresponding location 'table LC.
- Exclusive table ⁇ One is used to indicate the extent to which the exclusive table (130-0, 130-1 or 1 31 1 0) is used.
- Figure 16 It shows that the additional exclusion table 1 3 0 -1 is secured and used halfway through.
- the position of the additional exclusion table 1 3 0 1 is a mechanism that is pointed from the first exclusion table 1 3 0 0 force.
- the order of exclusion is closely related to the occurrence of deadlocks. If the order of exclusion differs depending on the type of access, this increases the possibility of deadlock, so even if the type of access is different, they need to be excluded in the same order. In case of search system access, exclusion is not necessary, so it is excluded here. Describe the case of update type (add, insert, update, delete) access.
- the exclusion is performed in the following order: location ⁇ tape ⁇ lock ⁇ (alternate key. Location ⁇ tape) ⁇ alternate key block.
- the alternate key 'location' table is parenthesized because there is a way to use and not to use, but if you use the alternate key location .table, the alternate key location Be sure to enforce exclusion.
- the target of exclusion is, for example, a location, a tape, or the like, but this is not the entire location table, but only one target entry.
- the primary key access is to first do a binary 'search on location' table and search for entries in location 'table. When the entry is retrieved, access the block pointed to by the entry. Since access is performed in this order, exclusion becomes the order of location 'table ⁇ block. Excluding the location table is possible because updates may be made to entries in the location table.
- the overflow block is also simultaneously subject to exclusion. This is because, in the case of record addition 'insertion', record movement is performed, and there is a possibility that access to the overflow 'block occurs, and even in the case of update, the record length changes as well. Because there is a possibility that access to the overflow 'block will occur, from.
- an alternative key is changed due to a record update, update the corresponding entry in the alternative key 'table' for that alternative key.
- the corresponding alternative key of the alternative table of the table and the block and the alternative key connected to the alternative key block are overflowed.
- the exclusion of the alternate key, the location, and the table is first performed, and then the corresponding alternative key, the block, and the like are selected.
- the alternative key block will be linked to the alternative key overflow block linked to the alternative key block.
- the exclusion order becomes: location 'table ⁇ block ⁇ (alternate key' location 'table) ⁇ alternative key' block.
- location 'table ⁇ block ⁇ (alternate key' location 'table) ⁇ alternative key' block.
- alternate key entry holds a block address
- alternate key block entry if the alternate key block entry is found, the block address is held in the entry.
- access will be made to the block without going through the location tape.
- the order of exclusion becomes reverse (proc ⁇ location 'tape nore'). Because of this, the alternative key 'tape-no-re's entry's way of holding the block' block 'is not preferred from a dead-hook point of view.
- FIG. 17 is a flow chart for explaining the operation in the case of adopting the synchronous close coupling method in the data-backup-recovery one method to which the invention according to the first to the alternative keys is applied.
- FIG. 18 is a flow chart for explaining the operation in the case of adopting an asynchronous loose coupling scheme in the data backup-recovery one mode to which the invention according to the first to the alternative keys is applied.
- the primary' system 1 for performing data retrieval 'update and secondary system 2 to back up the data consists of
- the primary control system 1 is provided with a backup control mechanism 104.
- the secondary system 2 also has a location table, an alternate key table, or an alternate key location table, as shown in FIG. 1, FIG. 2, FIG. 9, or FIG. Use the same code as above, add system number to this [! I will explain.
- the primary system's system number is 1, secondary system's system number is 2.
- the scheme shown in Figure 17 adopts a mechanism that whenever secondary system 1 data is changed, secondary system 2 is notified of the change, and secondary system 2 data is changed. ing.
- the log containing the contents of data change is A log.
- the log to restore the data when canceling the transaction is B log.
- B log also has the purpose of being able to return data to a certain past state.
- Transaction data is T log.
- Program 'Error If the data is updated incorrectly, the B log is used to restore the data until just before the program becomes abnormal, and after replacing it with a normal program, use the T-port to normalize the data. It is possible to In addition, one or more secondary system 2 can be provided as needed.
- the speed of light is about 3 0 0, 0 0 0 [k m / s].
- the data transmission time is calculated as follows. When the transmission distance is 3 0 0 [m], a transmission time of 1 [ ⁇ s] is taken, and when the transmission distance is 3 0 [m], a transmission time of 1 0 0 [ns] is taken, and 3 [m] In this case, it takes 1 0 [ns] transmission time.
- the time to transmit 1 [K-byte] data is calculated as 1 [G-bit Z s] 1 0 0 [M-byte Z s] on a device with a transmission speed of 1 [G-bit Z s]. Then, 1 0 [ ⁇ seconds] is required.
- this reorganization carries out reorganization at one point in time for one to several tens of blocks, alternate key blocks, etc., and this reorganization is apparently ordinary data. It is treated as a transaction of processing.
- the primary system 1 and the secondary 'system 2 reorganize at the same time.
- the secondary 'system 2 is a method of updating data of the secondary system 2 using the A log transmitted from the primary system 1.
- the database reorganization system according to the embodiment of the invention relating to the primary key is applied to the “data.backup.recovery method”, and the case of reorganization of the location 'table and block will be described.
- the method of reorganization has already been described in detail, and this is the same for the secondary system 2 and therefore will be briefly described, focusing on the part related to coordination between the primary system 1 and the secondary 'system 2'. In this description, the same applies to the case where there is more than one secondary 'system.
- the system number of the secondary and system is set to “2”.
- a log is required to notify the Primary 1 ⁇ System 1 to the Secondary ⁇ System 2 accordingly.
- This will be the RS information.
- This is information to start the reorganization, and contains information such as the appropriate initial storage rate, as well as information on which key (location.table or alternate key.table) the reorganization is. .
- the target of reorganization in this case is the location 'table.
- Fig.17 the processing of the reorganization transaction [1] is started (S301 in Fig.17), and RS system information is transmitted from primary system 1 to secondary system 2 first (Fig.17 S 302). .
- the secondary system '2' after receiving the RS information (S 401 in Fig. 17), create the reorganizer RP LC 2 and RP LN 2 and secure the area of the new communication table LN 2 (Fig. 1 7) S 402).
- the initial value of reorganization pointer RPLC 2 is the new address in the top address of table LC 2
- the initial value of new reorganization pointer RPLN 2 is the address of the new location table LN 2.
- the primary 'system 1' will start concrete reorganization work after receiving RS-ACK2 information (S 303 in Fig. 17).
- the above series of operations are transactions in the primary 'system 1 and secondary' system 2.
- the reorganization transaction [1] does not need to distinguish the types of transactions, as it can be distinguished from ordinary transactions. It can be treated like normal transactions.
- the processing of the normal transaction [2] is next executed in the primary 'system 1' (S 304 in FIG. 17).
- a reorganization transaction [3] is executed (S 305 in FIG. 17).
- the scope of the first reorganization is determined with reference to the location' table LC 1, LN 1 and, if necessary, the block 10.
- block number “0” of block 10, block “1” of block 10 and its overflow 1 block 3 block number “1 ⁇ 2”, its overflow block number 14 “block number” Suppose that "3" was targeted.
- the primary 'system 1 is notified from the system 1 to the secondary 1 ⁇ system 2 to execute the reorganization as a target of the first reorganization (S 306 in FIG. 17), and the block number of the block 10 in the' primary 1 system 1 ',' 1 ', overflow' block 13, 14 block numbers '1_2', '1-3' execute exclusion.
- the secondary system 2 when the RSES is received (S404 in Fig. 17), the block block number “0”, “1”, overflow 'block' block immediately except in special cases where reorganization can not be performed. Execute the exclusion of the numbers “1 – 2” and “1 to 3” (S 405 in Figure 17). After that, the secondary system 2 sends the exclusive completion notification RSES—ACK 2 information to the primary system 1 (406 in FIG. 17).
- the block numbers '0', '1', '1'2', '1'3' of the block 10 are reorganized.
- the following method is also effective.
- the entire block changes, but the contents of the record do not change.
- records are often moved within a buccak or between blocks.
- the moving logic itself is By transmitting as (logical) logs, the amount of data to be transmitted can be greatly reduced.
- all records in the overflow 'block are moved to the right by 1 5 0 0 bytes, and then 9 1st and subsequent records in the primary block are transferred to the overflow block It is like moving.
- Secondary ⁇ System 2 applies the logic to the block based on this L log and performs the operation (S 4 0 5 in Figure 17).
- logic transmission it can be considered that the amount of transmission can generally be less than 1000 points. Also, since logic needs to be compiled will be difficult to execute, it is preferable to have a form that can be executed immediately by an inter-preter.
- this logic is only applied to the reorganized component at that time, and is discarded when one application is completed. Apply logic transfer in one way
- the method of transferring this logic can also be applied to the above-mentioned "data, knock-up, and one-sided".
- the data 'backup' recovery method adopts the method of sending the changed block itself or the change to the secondary 'system, but if the record is imported, multiple records will be transferred. It will move within the block. Since there is no change in the record itself, the L log is sent, and the secondary 'system operates the record in the block based on the sent logic.
- the format of the alternate key table entry may cause an update to the alternate key table. Because there is, it also sends it as A log. Now, if reorganization is being performed, it is identified whether the information sent as A log is of the new location table LC 1 for current use or of the new location table LN 2 There is a need to. Otherwise, you will get an incorrect update. In order to prevent this, in the A log, the identification as to whether the target is the current location ⁇ tape LC 2 or the new location ⁇ table LN 2 is held. This will prevent accidental updates. Also, the A log must contain a reorganization pointer. Reorganization pointer 1 is important to know the progress of reorganization, but it can operate if there is no reorganization pointer if secondary 'system 2' is used as a reference system. It is because it is gone.
- the block number "0", “1", “1-12”, and “1-13" of the block 10 are reorganized (S 304 in Fig. 7), and each time the block is completed, The contents of the block and location 'table are sent to the secondary system as an A log (S 308 to S 331 1 in Figure 17).
- the secondary 'system 2 receives the A log (S 407 to S 3410 in FIG. 17), it rewrites the new location table LN 2 and the block according to the information (S 405 in FIG. 17).
- the A log is sent to the secondary 'system 2 and in the secondary' system 2 the primary system is immediately updated by updating the corresponding blocks etc. It is possible to perform reorganization at the same time while synchronizing 1 and the secondary system 2.
- the alternate key table reorganization, but as described in Location table and block reorganization, alternate key blocks and alternate key overflows that are targeted for reorganization at one point in time And send that information from the primary system 1 to the secondary 'system 2'.
- the data updated by the reorganization is sent as an A log from the primary system 1 to the secondary system 2, and the secondary system 2 uses the relevant alternative key, block, and alternate key based on the information. If you use the location table, update the alternate key, location, and tape.
- the primary 'system 1 and secondary system 2 perform reorganization simultaneously.
- the entry' 1 on the secondary 'port' table in all of the secondary 'system 2' Carry out reorganization of 2 3 ".
- the Primary 'System 1' and the 'Secondary' System 2 are identical but identical I do. This means that, if there are a plurality of secondary 'systems 2, all secondary' systems 2 execute reorganization at the same time as primary 'system 1'.
- This RS information is information to start the reorganization, and includes information such as an appropriate initial storage rate, as well as information on which key (location.table or alternate key 'table) the reorganization is. It is. The target of reorganization in this case is location 'table.
- Primary 1 ⁇ System 1 sends this RS information to secondary 'system 2 (S 501 in Fig. 18).
- the secondary 'system 2 after receiving the R S information (S 601 in Fig. 18), create the reorganization pointers RPL 2 and RPLN 2 and secure the area of the new location table L N 2 (S 602 in Fig. 18).
- the secondary system 2 transmits RS-ACK2 information to the primary system 1 when they are completed (S 603 in FIG. 18).
- the primary 'system 1' After receiving the RS-ACK2 information (S 502 in FIG. 18), the primary 'system 1' will start specific reorganization work.
- the primary 'system 1' refers to the location table and, if necessary, the block to determine the scope of the first reorganization.
- the block numbers “0” and “1” of the block and the block numbers “1-2” and “1-3” of the overflow 'block are targeted.
- the RSES log exclude the block numbers “0” and “1” of the block, and the block block numbers “1 ⁇ 2” and “1 ⁇ 3” of the overflow block and exclude those blocks for the first time.
- the primary 'system 1' to 'secondary system 2' are notified by RSES information to execute the reorganization as a target of reorganization (S 503 in FIG. 18).
- the secondary system 2 When the secondary system 2 receives an RSES (S 604 in FIG. 18), it sends an RS ES—ACK 2 to the primary system (S 605 in FIG. 18) except in special cases where reorganization can not be performed. ). After that (S 605 in Fig. 18), secondary 'system 2 executes overflow' block angular rate elimination, fragmentation elimination, and securing the proper initial storage rate with the same logic as the primary 'system (Fig. 18 S 606). In addition, when the primary 'system 1 releases the exclusion, it transmits the R SEE information to the secondary system 2 as another cancellation notification (S 504 in FIG. 18).
- the secondary system After that, the secondary system performs reorganization, and when the reorganization of the alternate key block targeted for reorganization is completed at one point in time, the secondary 'system sends R s EE information to the primary system. Do. [Recovery method]
- Recovery is preferably performed from a synchronous tightly coupled secondary one system. This is because in the case of the asynchronous loose coupling method, the distance is long, and recovery may take time because there is not enough capacity in the transmission path. If a request for recovery occurs, first check if the current transaction has been completed in the primary system. If the primary system completes, the secondary system also completes its backup transaction. If the transaction has not been completed in the primary system and has been canceled, the secondary system uses the B log related to the relevant backup and transaction to make the data of the secondary system 1, 1, transaction Revert to pre-execution.
- the primary system repairs data based on the information sent from the secondary system.
- Data repair differs between hardware problems and just the absence of information.
- the primary system can not write back the information to the place where the original data was present, so secure the target area for recovery in a new storage area.
- the storage area of a part of the location table is broken, it is possible to reserve a new part and use it as a discontinuous location table, It is also possible to secure a new area for the entire location table and use it as a continuous area location table.
- the location 'table holds the block's address, but if the block itself is not subject to recovery, no change in entry information will occur.
- an area for the block may be secured, and the block may be written based on the recovery information sent from the secondary system.
- the database ⁇ system may be as follows. That is, in the data and database system in the computer, multiple entries can be stored, each of which consists of the alternate key, the block number storing the corresponding record, and the primary key of the corresponding record, To continuously secure the alternative key block, and manage the position of the alternative key block in the storage device, the number assigned to the alternative key block and the physical position in the storage device are used. A new substitute key is stored in the key block using the corresponding substitute key ⁇ location ⁇ table and storing the substitute key 'entry 1' in the order of the substitute key and when it can not be stored in the substitute key 'block.
- the record contains the primary key, it is possible to identify which record is targeted if the contents of the record exist, but for speeding up, it is possible to identify the record number or the index number. It is preferable to include in-block displacement.
- FIG. Figure 21 shows the situation where the reorganization of the primary location system has been completed until the entry 3 of the current location table and the entry 6 of the new location table.
- the new location ⁇ Indicates that the reorganization of entry table 3 has been completed.
- the advantage of this method is that there is no need to synchronize the 'primary' and 'secondary' systems, thus reducing the overhead for timing.
- recovery can easily be performed if a failure occurs in the primary system while rewriting blocks in the primary system.
- the primary 'system and SECA It is easy to imagine that the configuration of blocks and alternate key blocks is different between the primary system and the secondary system when backups are taken without synchronizing the secondary system.
- the reorganization process has been completed sequentially for one or more blocks at the time of unit processing for each reorganization pointer.
- the target primary key value is the primary block and entry block of the entry pointed to by the reorganization pointer.
- the primary key value of the record included in one flow block is compared with the primary key value of the record, and it is determined that the target primary key value is equal to or greater than the primary key value of the record stored in the block pointed to by the reorganization pointer.
- it is judged that the target record is searched using the current use case table, it is judged that it is less than the primary key value.
- a reorganization binder is provided in each of the current alternate key table and the current alternate key table, and for each reorganization pointer, the position at which the reorganization process is completed sequentially for one or more blocks at the time of unit processing If you search for a record by an alternate key while reorganizing by storing the entry, the target alternate key value is included in the alternate key block of the entry pointed to by the reorganization pointer. If it is determined that the target alternate key value is greater than the alternate key value of the entry stored in the alternate key 'block pointed to by the reorganization pointer, the current alternate key value is compared.
- a reorganization key is provided by reorganizing the current alternate key ⁇ location ⁇ table and new alternate key ⁇ location ⁇ table, and reorganizing by storing the position where reorganization at the unit processing time has been completed in each reorganizing border. If you are searching for a record by using the alternate key that is being reorganized, the target alternate key value is included in the alternate key block of the entry pointed to by the reorganizer. If it is judged that the target alternate key value is greater than the alternate key value of the entry stored in the alternate key block pointed to by the reorganization pointer, the current alternate is used.
- Reorganization can be performed as a transaction process similar to updating, adding, deleting records, and the exclusion order of location 'table, block, alternate key / text table, alternate key, block is fixed. In some cases, deadlock is less likely to occur.
- backup data can be implemented in conjunction with the reorganization of the present invention. Can make every effort to maintain the
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03795380A EP1548598A4 (en) | 2002-09-10 | 2003-09-10 | DATABASE REORGANIZATION SYSTEM AND DATABASE |
US10/527,050 US7765180B2 (en) | 2002-09-10 | 2003-09-10 | Database re-organizing system and database |
JP2004535938A JPWO2004025475A1 (ja) | 2002-09-10 | 2003-09-10 | データベースの再編成システム、並びに、データベース |
AU2003262065A AU2003262065A1 (en) | 2002-09-10 | 2003-09-10 | Database re-organizing system and database |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002-264283 | 2002-09-10 | ||
JP2002264283 | 2002-09-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004025475A1 true WO2004025475A1 (ja) | 2004-03-25 |
Family
ID=31986508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2003/011592 WO2004025475A1 (ja) | 2002-09-10 | 2003-09-10 | データベースの再編成システム、並びに、データベース |
Country Status (5)
Country | Link |
---|---|
US (1) | US7765180B2 (ja) |
EP (1) | EP1548598A4 (ja) |
JP (1) | JPWO2004025475A1 (ja) |
AU (1) | AU2003262065A1 (ja) |
WO (1) | WO2004025475A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007286709A (ja) * | 2006-04-13 | 2007-11-01 | Hitachi Ltd | ストレージシステム及びストレージシステムのデータ移行方法 |
JP2010503117A (ja) * | 2006-09-06 | 2010-01-28 | マイクロソフト コーポレーション | 動的フラグメントマッピング |
US7949632B2 (en) | 2004-04-28 | 2011-05-24 | Fujitsu Limited | Database-rearranging program, database-rearranging method, and database-rearranging apparatus |
JP2013513147A (ja) * | 2009-12-04 | 2013-04-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報システムにおける変換データの高スループット・高信頼性の複製 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2453608C (en) * | 2003-12-17 | 2007-11-06 | Ibm Canada Limited - Ibm Canada Limitee | Estimating storage requirements for a multi-dimensional clustering data configuration |
US7457830B1 (en) * | 2004-02-27 | 2008-11-25 | Symantec Operating Corporation | Method and system of replicating data using a recovery data change log |
WO2005086003A1 (ja) * | 2004-03-08 | 2005-09-15 | Annex Systems Incorporated | データベース・システム |
JP4854973B2 (ja) * | 2005-03-09 | 2012-01-18 | 富士通株式会社 | 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム |
US20070143352A1 (en) * | 2005-12-21 | 2007-06-21 | International Business Machines Corporation | Method and system for implementing database migration using a staged approach |
US8832466B1 (en) * | 2006-01-27 | 2014-09-09 | Trustwave Holdings, Inc. | Methods for augmentation and interpretation of data objects |
US7519610B2 (en) * | 2006-11-15 | 2009-04-14 | International Business Machines Corporation | Method and apparatus for efficiently storing audit event data having diverse characteristics using tiered tables |
US9697211B1 (en) * | 2006-12-01 | 2017-07-04 | Synopsys, Inc. | Techniques for creating and using a hierarchical data structure |
US8352448B2 (en) * | 2007-01-23 | 2013-01-08 | International Business Machines Corporation | Securely deleting data in a transactionally consistent manner |
US9507784B2 (en) * | 2007-12-21 | 2016-11-29 | Netapp, Inc. | Selective extraction of information from a mirrored image file |
US8200638B1 (en) | 2008-04-30 | 2012-06-12 | Netapp, Inc. | Individual file restore from block-level incremental backups by using client-server backup protocol |
US8126847B1 (en) | 2008-04-30 | 2012-02-28 | Network Appliance, Inc. | Single file restore from image backup by using an independent block list for each file |
US20100169198A1 (en) * | 2008-12-30 | 2010-07-01 | Ebay Inc. | Billing a lister for leads received from potential renters within a lead threshold |
US8112329B2 (en) * | 2008-12-30 | 2012-02-07 | Ebay Inc. | Consolidating leads received from potential renters for billing a lister |
US8321390B2 (en) * | 2009-06-11 | 2012-11-27 | Vivek Swarnakar | Methods and apparatus for organizing data in a database |
US8504529B1 (en) | 2009-06-19 | 2013-08-06 | Netapp, Inc. | System and method for restoring data to a storage device based on a backup image |
US8180728B2 (en) * | 2009-09-21 | 2012-05-15 | Bmc Software, Inc. | Area-specific reload of database |
US20110295808A1 (en) * | 2010-05-27 | 2011-12-01 | International Business Machines Corporation | HALDB OLR Variant Linear Statistics |
JP4927974B2 (ja) * | 2010-06-29 | 2012-05-09 | シャープ株式会社 | 情報再生装置 |
US9495401B2 (en) | 2013-02-08 | 2016-11-15 | Douglas T. Migliori | Database-driven entity framework for internet of things |
US11940999B2 (en) | 2013-02-08 | 2024-03-26 | Douglas T. Migliori | Metadata-driven computing system |
US9336013B2 (en) | 2013-02-08 | 2016-05-10 | Automatic Data Capture Technologies Group, Inc. | Systems and methods for metadata-driven command processor and structured program transfer protocol |
US9582521B2 (en) * | 2013-02-11 | 2017-02-28 | International Business Machines Corporation | Management of database allocation during reorganization |
CN103336849B (zh) * | 2013-07-24 | 2016-09-21 | 昆明理工大学 | 一种数据库检索系统中提高检索速度的方法及装置 |
US10444998B1 (en) | 2013-10-24 | 2019-10-15 | Western Digital Technologies, Inc. | Data storage device providing data maintenance services |
US9330143B2 (en) * | 2013-10-24 | 2016-05-03 | Western Digital Technologies, Inc. | Data storage device supporting accelerated database operations |
US9400817B2 (en) * | 2013-12-31 | 2016-07-26 | Sybase, Inc. | In-place index repair |
US11416459B2 (en) | 2014-04-11 | 2022-08-16 | Douglas T. Migliori | No-code, event-driven edge computing platform |
CN105447043B (zh) * | 2014-09-01 | 2018-09-11 | 光宝科技股份有限公司 | 数据库及其数据访问方法 |
US10437802B2 (en) * | 2016-03-07 | 2019-10-08 | Western Digital Technologies, Inc. | Single IO operation integer-value database |
US10387303B2 (en) | 2016-08-16 | 2019-08-20 | Western Digital Technologies, Inc. | Non-volatile storage system with compute engine to accelerate big data applications |
US10459644B2 (en) | 2016-10-28 | 2019-10-29 | Western Digital Techologies, Inc. | Non-volatile storage system with integrated compute engine and optimized use of local fast memory |
US10341098B2 (en) * | 2017-01-24 | 2019-07-02 | Nxp B.V. | Method of generating cryptographic key pairs |
US10565123B2 (en) | 2017-04-10 | 2020-02-18 | Western Digital Technologies, Inc. | Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module |
US20200050785A1 (en) * | 2018-08-10 | 2020-02-13 | Ca, Inc. | Database record access through use of a multi-value alternate primary key |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01237853A (ja) * | 1988-03-18 | 1989-09-22 | Fujitsu Ltd | データ管理装置 |
JPH0934758A (ja) * | 1995-07-24 | 1997-02-07 | Nec Corp | リレーショナルデータベースアクセス制御方式 |
JP3345628B2 (ja) * | 1997-07-11 | 2002-11-18 | アネックスシステムズ株式会社 | データ格納及び検索方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814979A (en) * | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
GB2285525B (en) * | 1994-01-11 | 1998-04-01 | Dascom Software Dev Services L | A tape database control process |
US6070170A (en) * | 1997-10-01 | 2000-05-30 | International Business Machines Corporation | Non-blocking drain method and apparatus used to reorganize data in a database |
US6622142B1 (en) * | 1999-04-13 | 2003-09-16 | Staktek Group, L.P. | Database utilities |
US7020697B1 (en) * | 1999-10-01 | 2006-03-28 | Accenture Llp | Architectures for netcentric computing systems |
JP2001356945A (ja) * | 2000-04-12 | 2001-12-26 | Anetsukusu Syst Kk | データバックアップ・リカバリー方式 |
US7117229B2 (en) * | 2001-05-31 | 2006-10-03 | Computer Associates Think, Inc. | Method and system for online reorganization of databases |
US7103763B2 (en) * | 2003-04-24 | 2006-09-05 | International Business Machines Corporation | Storage and access of configuration data in nonvolatile memory of a logically-partitioned computer |
-
2003
- 2003-09-10 AU AU2003262065A patent/AU2003262065A1/en not_active Abandoned
- 2003-09-10 WO PCT/JP2003/011592 patent/WO2004025475A1/ja active Application Filing
- 2003-09-10 US US10/527,050 patent/US7765180B2/en not_active Expired - Fee Related
- 2003-09-10 JP JP2004535938A patent/JPWO2004025475A1/ja active Pending
- 2003-09-10 EP EP03795380A patent/EP1548598A4/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01237853A (ja) * | 1988-03-18 | 1989-09-22 | Fujitsu Ltd | データ管理装置 |
JPH0934758A (ja) * | 1995-07-24 | 1997-02-07 | Nec Corp | リレーショナルデータベースアクセス制御方式 |
JP3345628B2 (ja) * | 1997-07-11 | 2002-11-18 | アネックスシステムズ株式会社 | データ格納及び検索方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP1548598A4 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949632B2 (en) | 2004-04-28 | 2011-05-24 | Fujitsu Limited | Database-rearranging program, database-rearranging method, and database-rearranging apparatus |
JP2007286709A (ja) * | 2006-04-13 | 2007-11-01 | Hitachi Ltd | ストレージシステム及びストレージシステムのデータ移行方法 |
JP2010503117A (ja) * | 2006-09-06 | 2010-01-28 | マイクロソフト コーポレーション | 動的フラグメントマッピング |
JP4669067B2 (ja) * | 2006-09-06 | 2011-04-13 | マイクロソフト コーポレーション | 動的フラグメントマッピング |
JP2013513147A (ja) * | 2009-12-04 | 2013-04-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報システムにおける変換データの高スループット・高信頼性の複製 |
US9002802B2 (en) | 2009-12-04 | 2015-04-07 | International Business Machines Corporation | High throughput, reliable replication of transformed data in information systems |
Also Published As
Publication number | Publication date |
---|---|
AU2003262065A1 (en) | 2004-04-30 |
EP1548598A1 (en) | 2005-06-29 |
US20060143238A1 (en) | 2006-06-29 |
US7765180B2 (en) | 2010-07-27 |
JPWO2004025475A1 (ja) | 2006-01-12 |
EP1548598A4 (en) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2004025475A1 (ja) | データベースの再編成システム、並びに、データベース | |
US11243911B2 (en) | Method and apparatus for fault-tolerant memory management | |
US7349927B2 (en) | Transactional file system for realizing atomic update of plural files by transactions | |
CN100437569C (zh) | 数据处理方法和装置 | |
US8738845B2 (en) | Transaction-safe fat file system improvements | |
US6587915B1 (en) | Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same | |
KR930002331B1 (ko) | 키 레코드를 페치, 삽입 및 삭제하는 방법 | |
US20060149916A1 (en) | Method and apparatus for block-oriented memory management provided in smart card controllers | |
CN109800185B (zh) | 一种数据存储系统中的数据缓存方法 | |
CN103080910A (zh) | 存储系统 | |
CN107256196A (zh) | 基于闪存阵列的支持零拷贝的缓存系统及方法 | |
CN102314506A (zh) | 基于动态索引的分布式缓冲区管理方法 | |
US9934110B2 (en) | Methods for detecting out-of-order sequencing during journal recovery and devices thereof | |
JPWO2004036432A1 (ja) | データベースのアクセラレーター | |
CN101339527B (zh) | 影子内存的备份方法及装置 | |
CN109388616B (zh) | 一种智能卡文件系统的管理方法 | |
CN101853269B (zh) | 分布数据更新的一致性处理方法 | |
CN105243071A (zh) | 一种适用于无文件系统的可检索文件存取方法 | |
JPS62245348A (ja) | データベース更新方法 | |
JP4060639B2 (ja) | データ管理装置 | |
CN116401313A (zh) | 一种共享存储数据库集群信息同步方法 | |
JPS62237539A (ja) | デ−タベ−ス更新方法および装置 | |
JP2005215869A (ja) | データ格納検索システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2004535938 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003795380 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2006143238 Country of ref document: US Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10527050 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 2003795380 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 10527050 Country of ref document: US |