WO2017146338A1 - 인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치 - Google Patents

인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치 Download PDF

Info

Publication number
WO2017146338A1
WO2017146338A1 PCT/KR2016/011465 KR2016011465W WO2017146338A1 WO 2017146338 A1 WO2017146338 A1 WO 2017146338A1 KR 2016011465 W KR2016011465 W KR 2016011465W WO 2017146338 A1 WO2017146338 A1 WO 2017146338A1
Authority
WO
WIPO (PCT)
Prior art keywords
group
record
search
information
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2016/011465
Other languages
English (en)
French (fr)
Inventor
김옥수
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Armiq Co Ltd
Original Assignee
Armiq Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Armiq Co Ltd filed Critical Armiq Co Ltd
Priority to CN201680081618.2A priority Critical patent/CN108604249A/zh
Priority to US16/077,236 priority patent/US11030172B2/en
Priority to EP16891742.5A priority patent/EP3422205A4/en
Priority to AU2016394744A priority patent/AU2016394744A1/en
Priority to JP2018543238A priority patent/JP6598101B2/ja
Publication of WO2017146338A1 publication Critical patent/WO2017146338A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • 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
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10—File systems; File servers
    • G06F16/11—File system administration, e.g. details of archiving or snapshots
    • G06F16/113—Details of archiving
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21—Design, administration or maintenance of databases
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22—Indexing; Data structures therefor; Storage structures
    • G06F16/2282—Tablespace storage structures; Management thereof

Definitions

  • the present invention relates to a method for archiving a database, a device thereof, a method for searching an archived database, and a device thereof, and more particularly, to a method for archiving a database using a data compression technique and an index generation technique, and an apparatus for compressing and archiving a database
  • the present invention relates to a method and apparatus for searching by using index information.
  • An object of the present invention is to provide a method and apparatus for archiving a database, which can reduce the capacity of a database by classifying records of a database according to a predetermined criterion, and compressing and archiving each classified record.
  • the present invention is to provide a database search method and apparatus for more efficiently searching the database by using the generated index information by generating more index information at the time of database archiving.
  • the present invention is to provide a more efficient database search method and apparatus for searching the archived database in parallel in the above manner.
  • the database archiving method for generating index information comprises at least one record comprising a plurality of records based on the information on the field value in the original table to be archived data Selecting a record group of; Storing the group compression data generated by compressing the record groups for each of the at least one record group and a stored key value uniquely assigned to the group compression data in a compression table; Storing the field value and the storage key value corresponding to each of the at least one record group in a group index table; And deleting a plurality of records included in the selected at least one record group from the original table.
  • selecting the at least one record group corresponds to each of the at least one record group when selecting the at least one record group further based on information about time in the original table. And storing the information on the time and the storage key value in a period index table.
  • a value of a primary key, key index information which is a position in the group compressed data, and information about the stored key value corresponding to the group compressed data are stored.
  • the method may further include storing the key index table.
  • the second group compressed data generated by compressing a plurality of records in each of the at least one linking table is generated. Retrieving a record included in the original table having the same value as the primary key among a plurality of records included in the group compressed data; And storing sub-index information, which is a position in the second group compressed data, with respect to the retrieved record in a record having the same value of the primary key on the key index table.
  • the database archiving apparatus for generating index information comprises at least one record group including a plurality of records based on the information on the field value in the original table to be archived data
  • a data selection unit for selecting a A data compressor for compressing each of the at least one record group for each record group to generate group compressed data; Storing the group compression data and storage key values uniquely assigned to the group compression data in a compression table, storing the field values and the storage key values corresponding to each of the at least one record group in a group index table, and selecting It includes; DB management unit for deleting a plurality of records included in the at least one record group in the original table.
  • the DB manager selects information on the time corresponding to each of the at least one record group. And storing the storage key value in a period index table.
  • the DB management unit is for each record included in the original table, the value of the primary key, the key index information which is a position in the group compression data and the information on the storage key value corresponding to the group compression data You can store more in the key index table.
  • the DB for the second group compressed data generated by compressing a plurality of records in each of the at least one linking table.
  • the management unit further retrieves a record included in the original table and a record having the same primary key value among the plurality of records included in the second group compressed data, and searches for the retrieved record in the second group compressed data.
  • the subindex information which is a position, may be further stored in a record having the same value of the primary key on the key index table.
  • the search method of the archived database using the index information provided by the present invention includes a group compression data and the group compression data generated by compressing a plurality of records corresponding to the information on the field value
  • the number of DB search processes for processing the search of the records in parallel is determined based on at least one of the performance of the computer on which the search is performed and the number of the group compressed data corresponding to the storage key value satisfying the search condition.
  • the information about the time and the Retrieving a storage key value that satisfies the search condition from a period index table in which the storage key value corresponding to time information is stored may further include.
  • a key index which is a value of the primary key for each record of the original table archived to the compression table and a position in the group compression data. Retrieving the stored key value and the key index information of a record that satisfies the search condition from a key index table in which information and information about the stored key value corresponding to the group compressed data are stored. Performing a search in parallel may perform a search further based on the stored key value and the key index information.
  • the second group compressed data generated by compressing a plurality of records in each of the at least one linking table is stored.
  • the retrieving of the key value and the key index information may further include adding the sub-index information of the record satisfying the search condition in the key index table including sub-index information which is a position in the second group compressed data for each record.
  • the searching and the searching of the record in parallel may be performed based on the sub-index information and the second group compressed data.
  • the determining of the number of DB search processes for the parallel processing includes collecting computer performance information on at least one of the number of CPUs included in the computer, the capacity of a memory, and the input / output speed of a storage device. ; Determining the number of the group compression data corresponding to the storage key value satisfying the received search condition among the group compression data stored in the compression table; And determining the number of DB search processes for processing the search of the record in parallel based on at least one of the collected computer performance information and the determined number of group compressed data.
  • the search apparatus of the archived database using the index information provided by the present invention the group compression data and the group compression data generated by compressing a plurality of records corresponding to the information on the field value;
  • a receiving unit for receiving a search condition for searching for a record having a predetermined condition for the field value desired by the user in a compression table including a corresponding unique storage key value;
  • An index retrieval unit for retrieving a storage key value that satisfies the search condition from a group index table in which the information on the field value and the storage key value corresponding to the field value is stored;
  • the number of DB search processes for processing the search of the records in parallel is determined based on at least one of the performance of the computer on which the search is performed and the number of the group compressed data corresponding to the storage key value satisfying the search condition.
  • a search preparation unit And a parallel search unit that performs a search of records that satisfy the search condition in parallel based on the determined number of DB search processes.
  • the index search unit is used for the time.
  • the storage key value that satisfies the search condition may be further retrieved from the period index table in which the storage key value corresponding to the information about the information and the time information is stored.
  • the index search unit stores the value of the primary key for each record of the original table archived into the compression table, and the position in the group compression data. And further searching for the stored key value and the key index information of a record satisfying the search condition in a key index table in which index key information and information on the stored key value corresponding to the group compressed data are stored.
  • the search may be performed based on the stored key value and the key index information.
  • the index for the second group compressed data generated by compressing a plurality of records in each of the at least one linking table.
  • the search unit further retrieves the sub-index information of a record satisfying the search condition from the key index table including sub-index information which is a position in the second group compressed data for each record, and the parallel search unit further searches the sub-index information.
  • the search may be further performed based on the index information and the second group compressed data.
  • the search preparation unit collects computer performance information on at least one of the number of CPUs included in the computer, the capacity of a memory, and the input / output speed of a storage device, and receives the received data from the group compression data stored in the compression table. Determine the number of the group compression data corresponding to the stored key value that satisfies the search condition, and process the search of the records in parallel based on at least one of the collected computer performance information and the determined number of group compression data. You can decide the number of DB retrieval process.
  • the present invention classifies the data stored in the database according to the search frequency, importance, etc., compresses the data according to the classification result, and archives the data, thereby reducing the use capacity of the database.
  • the present invention generates the index information in the archiving process, it is effective to maximize the efficiency when searching the archived database.
  • FIG. 1 is a flowchart illustrating a database archiving method for generating index information according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a database archiving method for generating index information according to another embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a search method of an archived database using index information according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method of determining the number of DB search processes according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an archiving apparatus of a database for generating index information according to an embodiment of the present invention.
  • FIG. 6 illustrates an apparatus for searching an archived database using index information according to an embodiment of the present invention.
  • FIG. 7 is a diagram for explaining the structure of a compression table according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating the structure of a group index table and a period index table according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating the structure of a key index table according to an embodiment of the present invention.
  • first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • FIG. 1 is a flowchart illustrating a database archiving method for generating index information according to an embodiment of the present invention.
  • step S110 the database archiving apparatus selects at least one record group including a plurality of records based on the information on the field values in the original table to be archived.
  • a table is a unit that forms a basic structure for storing data in a database, and an original table may be a table to be archived in order to save capacity among a plurality of tables included in the database.
  • the record group may select only the plurality of records whose field values are within a predetermined range. Can be.
  • the field value used for the selection of the record group may be determined as the field value of the field where the most frequent search occurs in the original table. This is because, when searching the archived database later, the efficiency of the search can be maximized by using the generated index information.
  • a record group is a group composed of a plurality of records selected from all records included in the original table. At least one record group may be created. If necessary, the record group may be created by limiting only a part of records, not all of the original table. For example, a record group can be created for archiving only records before 2015, except for records after 2015 in the original table.
  • the number of records included in one record group may be determined by comprehensively analyzing and reviewing the total number of records included in the original table, the performance of a computer searching a database, and a search condition with a high frequency of the database.
  • the database archiving apparatus divides the excess record group into a plurality of record groups in which the number of records is less than or equal to the threshold. can do.
  • a threshold which is the number of records that one record group may contain, may be set to 100,000. However, if there is an excess record group in the selected record group that includes the number of records exceeding the threshold, this can lead to computer overload and inefficiency, which can be problematic.
  • the database archiving device may use the excess record group as the total number of two record groups having 100,000 records each and a record group having 50,000 records. It can be divided into record groups.
  • a serial number (e.g., 1,2,3,4, ...) can be assigned to each of the separated plurality of record groups and further stored in the serial number field of the compression table. In this case, even when searching the archived database, the search can be performed by distinguishing each record group.
  • step S120 the database archiving apparatus stores the group compression data generated by compressing each of the at least one selected record group for each record group and a stored key value uniquely assigned to the group compression data in the compression table. do.
  • the compression table is a table in which archived data is stored by compressing an original table in record group units.
  • the compression table may include a field for storing group compression data generated by compression for each record group and at least one field for storing a storage key value uniquely assigned to correspond to the group compression data.
  • the storage key value is a key value uniquely assigned to each group compression data, and a unique storage key value for each group compression data may be stored in a field corresponding to the storage key.
  • there may be more than one field corresponding to the storage key and when the storage key values distributed and stored in the one or more fields are combined, the storage key value may be unique for each group compression data.
  • the group compression data may be binary data generated by compressing each classified record group, and a detailed process of generating the group compression data and storing it in the compression table is as follows.
  • step S122 the database archiving apparatus stores data of a plurality of records included in the record group in a buffer.
  • the size of the buffer in which the data of the plurality of records is stored may be determined based on the table structure (number, type and size of fields) of the original table and the threshold of the records included in the record group.
  • the database archiving apparatus may sequentially read all of the records included in the record group and the field values of the records, and sequentially store them in the buffer.
  • step S124 the database archiving device compresses the data stored in the buffer to generate group compression data.
  • the group compression data may be a binary result generated by compressing data of a record group stored in a buffer.
  • a lossless compression algorithm such as ZIP, CTW, LZ77, or LZW may be used.
  • step S126 the database archiving device generates a storage key value uniquely assigned to each of the generated group compression data.
  • the database archiving apparatus classifies a record group based on a predetermined field value at time and generates group compression data corresponding to the record group, a unique storage key value is assigned to each of the generated group compression data. can do.
  • step S1208 the database archiving device stores the generated group compression data in the same record on the compression table together with the given storage key value.
  • the compression table may include a field for storing group compression data in binary form and at least one field for storing a storage key value. That is, the generated group compressed data may be stored in a field for storing the compressed binary data, and a storage key value corresponding to the group compressed data may be distributed and stored in the at least one field.
  • FIG. 7 is a diagram illustrating the structure of a compression table. The structure of the compression table will be described below.
  • the original table 710 includes a Date field 714 for time and a Col 1 field 716 for a specific attribute.
  • the database archiving apparatus classifies the original table 710 based on the field value of the Date field 714, which is information on time, and the Col1 field 716 value of a specific attribute, and then compresses the group compression data for each classification result. 724 and a uniquely stored storage key value 722 corresponding to the group compressed data can be stored in the compression table 720.
  • the record group whose field value of the Date field 714 is 2002.01 and the field value of the Col1 field 716 is 1000 is classified, and a storage key value 722 of 150001 is assigned, and the Date field ( A record group whose field value 714 is 2002.01 and the field value of the Col1 field 716 is 2000 can be classified, and a storage key value 722 of 150002 can be given.
  • the field value of the Date field 714 is 2002.01
  • the number of records whose field values of the Col1 field 716 are 1000 and 2000 are 50,000 and 40,000, respectively. 724 information about the number of records.
  • step S130 the database archiving apparatus stores the field value and the storage key value corresponding to each of the at least one record group in the group index table.
  • the group index table may include a field for storing information on a predetermined field value and at least one field for storing a storage key uniquely assigned to the group compression data corresponding to the information on the predetermined field value. have.
  • the group index table including the field value and the stored key value may be used to obtain a corresponding storage key value from information on a predetermined field value, and the compression table may be used to obtain group compressed data corresponding to the stored key value.
  • step S140 the database archiving device deletes the plurality of records included in the at least one selected record group from the original table.
  • the database archiving apparatus selects the at least one record group further based on the information on the time in the original table, the information on the corresponding time and the storage key value for each of the at least one record group is indexed. Can be stored in a table.
  • the period index table may include a field for storing information for a predetermined time and at least one field for storing a storage key uniquely assigned to the group compressed data corresponding to the information for the predetermined time.
  • a period index table including information about the predetermined time and a storage key value is used to obtain a corresponding storage key value from information about the predetermined time, and a compression table is used to obtain group compression data corresponding to the storage key value.
  • the period index table may be selectively generated and used based on a search frequency for a time or a period.
  • the database archiving apparatus selects a record group from the original table based on a predetermined field value and time information, and is uniquely assigned to the group compression data generated for each of the selected record groups and the generated group compression data.
  • the storage key value can be stored in the compression table.
  • information on field values common to the plurality of records included in the selected record groups (for example, the Col1 field value is 1000) and a storage key value corresponding to the group compressed data may be stored in the group index table.
  • information on a time (for example, a Date field value of 2002.01) common to a plurality of records included in each selected record group and a storage key value corresponding to the group compressed data may be stored in the period index table.
  • FIG. 8 is a diagram illustrating the structure of the group index table and the period index table. The structures of the group index table and the period index table will be described below.
  • the compression table 720 stores the group compression data 724 and a uniquely stored storage key value 722 corresponding to the group compression data.
  • the storage key value 722 and the information 822 about the field value may be stored in the group index table 820.
  • the database archiving apparatus for each group compression data 724 stored in the compression table 720, based on the corresponding storage key value 722 and the date field 714 value of the original table 710, Fig. 8
  • the storage key value 722 and the information 812 about the time may be stored in the period index table 810 included in the.
  • the database archiving method has an effect of dramatically reducing the capacity of the database by archiving the database through a compression procedure.
  • the database archiving method has an effect of dramatically reducing the capacity of the database by archiving the database through a compression procedure.
  • by generating the group index table and the period index table from the original table and the linked table included in the database it is possible to maximize the efficiency of the search in the later search for the archived data.
  • FIG. 2 is a flowchart illustrating a database archiving method for generating index information according to another embodiment of the present invention.
  • step S210 the database archiving apparatus selects at least one record group including a plurality of records from the original table to be archived based on the information about the field values.
  • step S220 the database archiving apparatus stores the group compression data generated by compressing the selected at least one record group for each record group and a storage key value uniquely assigned to the group compression data in the compression table.
  • step S230 the database archiving apparatus stores the field value and the storage key value corresponding to each of the at least one record group in the group index table.
  • step S240 the database archiving apparatus provides information about the primary key value, the key index information which is a position in the group compression data, and the storage key value corresponding to the group compression data, for each record included in the original table. Store in the key index table.
  • the primary key refers to a field having a value uniquely identified for each record in the database.
  • the primary key may also be referred to as a primary key, primary key, or unique key.
  • one or more primary keys may exist in one table.
  • the key index information is information on which position in the group compression data the record having a specific primary key value is stored. For example, among the information about 100,000 records included in the group compression data, information on a storage order of the 1000th stored record may be stored as key index information.
  • the reason for storing the value of the primary key in the key index table is to be able to retrieve the table to be searched directly by the primary key value as well as information on other field values and time. That is, the key index table can be used when the user enters a specific primary key value and attempts to search the table for a record having the primary key value.
  • the database retrieval apparatus can retrieve the record having the specific primary key value from the key index table. Based on the key index information and the stored key value included in the retrieved record, the group compression data corresponding to the stored key value is obtained from the compression table, and the user searches for the group compressed data using the key index information. You can search for the record you want. A more detailed description thereof will be described later with reference to FIG. 3.
  • the database archiving apparatus includes, in the original table, a plurality of records included in the second group compressed data, for the second group compressed data generated by compressing a plurality of records in each of the at least one linked table.
  • the searched record and the record having the same primary key may be searched for, and the subindex information, which is a position in the second group compressed data, may be further stored in the record having the same primary key on the key index table.
  • the linking table is a table linked to the original table through the primary key. That is, the primary key can exist in both the original table and the linked table.
  • the second group compressed data is data generated by compressing a plurality of records in each of the at least one linked table when there is at least one linked table linked to the original table through the primary key. At this time.
  • the second group compressed data may be generated in the same manner as the group compressed data described above in the description of FIG. 1, and like the group compressed data, may be stored in a compression table together with unique storage key values.
  • the sub-index information is information on which position is stored in which second group compression data a record having a specific primary key value is. For example, among the information about 100,000 records included in the second group compressed data, information about a storage order of the 1000th stored record may be stored as sub-index information.
  • the database archiving apparatus may collect and compress subindex information for each of the at least one connection table and store the new subindex information in the key index table.
  • the database archiving apparatus may collect all the sub-index information for the position in the at least one second group compressed data for the record having the same primary key value in the at least one connection table.
  • the collected values may be compressed and stored as new subindex information in a record including the same primary key value on the key index table.
  • FIG. 9 is a diagram illustrating the structure of a key index table. The structure of the key index table will be described below.
  • a primary key Doc. No. field 712 value a storage key value 722 corresponding to the group compressed data 724 in which the record is stored
  • the key index information 912 of the record may be stored in the key index table 910.
  • the same primary key value 712 as the record of the original table 710 is used.
  • the sub-index information 914 of the record of the connection table having a) may be further stored in the key index table 910.
  • step S250 the database archiving device deletes the plurality of records included in the at least one selected record group from the original table.
  • the database archiving method has an effect of dramatically reducing the capacity of the database by archiving the database through a compression procedure.
  • by generating a key index table from the original table and the linked table included in the database there is an effect that can maximize the efficiency of the search in retrieving the archived data using the primary key value later.
  • FIG. 3 is a flowchart illustrating a search method of an archived database using index information according to an embodiment of the present invention.
  • step S310 the database retrieval apparatus receives a retrieval condition for retrieving a record of a predetermined condition for the field value desired by the user from the compression table.
  • the compression table is a table including group compression data generated by the database retrieval apparatus compressing a plurality of records corresponding to information on field values and information on unique storage key values corresponding to the group compression data.
  • the received search condition may be a search condition in the form of a structured query language (SQL) statement. That is, the database search apparatus may receive a search condition in the form of an SQL statement to search for a record including a condition for a desired field value in a compression table in which the group compression data and a storage key value corresponding to the group compression data are stored. have.
  • SQL structured query language
  • step S320 the database retrieval apparatus retrieves a stored key value satisfying the retrieval condition from the group index table.
  • the group index table is a table including information on field values and storage key values corresponding to the field values.
  • the database search apparatus searches for a record in the group index table that satisfies the search condition including the condition for the field value of the user. Then, information about the storage key value included in the retrieved record can be collected.
  • the database search apparatus when the database search apparatus includes the group compression data generated further based on the information on time in the compression table, and the predetermined condition on time is further included in the received search condition, the database search apparatus checks in the period index table. A stored key value that satisfies the search condition can be retrieved.
  • the period index table is a table including information on a time and a storage key value corresponding to the information on a time.
  • the database search apparatus may search records of the compression table by further using a search condition over time.
  • the database search apparatus may search a period index table for a record that satisfies a search condition with respect to time. Then, information about the storage key value included in the retrieved record can be collected.
  • the search apparatus of the database may collect information on the storage key value in both the group index table and the period index table. Among the information on the collected storage key values, information about the storage key values collected in common in the group index table and the period index table may finally be a storage key value necessary for retrieving the record.
  • step S330 the DB search process for processing the search of the record in parallel based on at least one of the performance of the computer on which the search is performed and the number of group compressed data corresponding to the storage key value satisfying the search condition Determine the number of.
  • the DB retrieval process refers to a single process of retrieving records from an archived database. Therefore, if a record search is processed in parallel, it can be understood that there exist a plurality of DB search processes, which proceed simultaneously.
  • the number of DB retrieval processes is determined based on the performance of the computer because the process of retrieving records from the compressed group compression data by each DB retrieval process can place a heavy load on the computer.
  • the number of DB retrieval processes is determined based on the number of group compression data corresponding to the storage key value satisfying the retrieval condition because the number of the group compression data may eventually be related to the amount or range of retrieval. .
  • step S340 the database search apparatus searches for records that satisfy the search condition in parallel based on the determined number of DB search processes.
  • the database search apparatus may prepare as many DB search processes as previously determined, share a search range for each DB search process, and perform a search of records in parallel.
  • the database search apparatus when the search condition for the primary key value is further included in the search condition, stores the stored key value and the key index information of the record satisfying the search condition for the primary key value in the key index table. You can search more.
  • the database retrieval apparatus may further perform parallel retrieval of records based on the retrieved stored key value and key index information.
  • the key index table is a table including a value of a primary key for each record of an original table archived as a compression table, key index information as a position in group compressed data, and information about a stored key value corresponding to group compressed data.
  • the search condition received from the user may include information on the value of the primary key as well as information on the field value and time.
  • the database search apparatus may search for a record having the value of the primary key in the key index table, and search for a record that satisfies the user's search condition by further using the storage key value and the key index information of the searched record. .
  • the database retrieval device retrieves the stored key value and the key index information for the second group compressed data generated by compressing a plurality of records in each of the at least one linked table
  • the user in the key index table.
  • the subindex information of the record that satisfies the search condition may be further retrieved.
  • the database search apparatus performs a search of records in parallel, the search may further be performed based on the searched sub-index information and the second group compressed data corresponding to the sub-index information.
  • a linked table is a table linked to an original table through a primary key.
  • the primary key can exist in both the original table and the linked table.
  • the key index table may further include subindex information which is a position in the second group compressed data of each record of the connection table.
  • the second group compressed data is data generated by compressing a plurality of records in each of the at least one linked table when there is at least one linked table linked to the original table through the primary key. At this time.
  • the second group compressed data may be generated in the same manner as the group compressed data described above in the description of FIG. 1, and like the group compressed data, may be stored in a compression table together with unique storage key values.
  • the database search apparatus may further add sub-index information corresponding to the primary key value satisfying the search condition in the key index table.
  • the information about the field value included in the second group compression data may be further searched using the sub index information.
  • the database search apparatus may allocate at least one group compressed data to each DB search process, and perform a search of records in parallel based on the at least one group compressed data.
  • the database search apparatus compresses two groups in two of four DB search processes. Data can be allocated, and one group of compressed data can be allocated to the remaining two DB search processes. Then, the four DB search processes can perform a search of records for one or two group compressed data allocated in parallel.
  • each DB search process may be performed by decompressing the allocated group compression data and storing the decompressed group data in a buffer and searching a record satisfying a search condition from the data stored in the buffer.
  • the database search apparatus searches for a record that satisfies the search condition further based on the table structure information, which is information on the type, size, order, and name of the fields included in the original table archived as the compression table. can do.
  • the database search apparatus When decompressing the group compressed data and storing it in a buffer, and searching for a record that satisfies the search condition from the data stored in the buffer, the database search apparatus searches for the type, size, order and name of each field included in the original table. Knowing the table structure information, which is information about, can make searching easier based on the table structure information.
  • the DB search process may perform a search using a process or thread allocated to each DB search process.
  • each DB search process must search records in parallel, one child process or thread can be allocated to each DB search process to perform the search in order to satisfy this parallel characteristic.
  • whether a child process is allocated or a thread is allocated to each DB search process may be determined by whether or not support is performed according to the CPU type and OS type of the computer on which the search is performed.
  • the number of DB search processes is determined to be six, six child processes may be allocated to each DB search process, and each of the six child processes may perform a search for records for group compressed data allocated to the DB search process. Can be done in parallel
  • the search method of the archived database has the effect of performing a search of records in parallel based on the number of DB search processes determined according to the performance of the computer and the range of the database search. .
  • FIG. 4 is a flowchart illustrating a method of determining the number of DB search processes according to an embodiment of the present invention.
  • the database retrieval device collects computer performance information on at least one of the number of CPUs included in the computer, the capacity of the memory, and the input / output speed of the storage device.
  • the performance of the computer can be determined by the performance of the CPU, memory and storage included in the computer where the retrieval of the record is performed.
  • performance may be determined by the number of CPUs mounted on the computer, a clock frequency, a cache size, and the number of cores for each CPU.
  • the performance of the memory may be determined by the capacity and the operating frequency.
  • the performance of the storage device may be determined by the input / output speed.
  • the database retrieval apparatus may collect computer performance information including information on at least one of a CPU, a memory, and a storage device of the computer on which the record retrieval is performed.
  • the database search apparatus determines the number of group compression data corresponding to a storage key value that satisfies the received search condition among the group compression data stored in the compression table.
  • the number of group compression data corresponding to the storage key value may be determined.
  • step S430 the database search apparatus determines the number of DB search processes for processing the search of records in parallel based on at least one of the collected computer performance information and the determined number of group compressed data.
  • the search apparatus of the database may comprehensively analyze the collected computer performance information and the number of group compression data to determine the number of DB search processes for processing the search of records in parallel.
  • the number of DB search processes may be determined according to the number of group compression data, and the collected computer performance information may be reduced. Even if the number of group compression data determined in a very good case is large, the number of DB retrieval processes can be determined according to computer performance information.
  • the DB is determined based on the number of group compression data corresponding to the information on the performance of the computer on which the search is performed and the storage key value satisfying the search condition.
  • FIG. 5 is a diagram illustrating an archiving apparatus of a database for generating index information according to an embodiment of the present invention.
  • the database archiving apparatus 500 generating index information includes a data selection unit 510, a data compression unit 520, and a DB manager 530.
  • the database archiving apparatus 500 for generating index information may be mounted together on a computer on which a database is mounted or on a computer connected to a database and a network.
  • the data selection unit 510 selects at least one record group including a plurality of records based on the information on the field values in the original table to be archived.
  • the data compression unit 520 compresses the selected at least one record group for each record group to generate group compression data.
  • the DB manager 530 stores the group compression data and the storage key values uniquely assigned to the group compression data in the compression table, and stores the field values and the storage key values corresponding to each of the at least one record group in the group index table. Delete a plurality of records included in at least one record group from the original table.
  • the DB manager 530 determines the time corresponding to each of the at least one record group.
  • the information and the storage key value can be further stored in the period index table.
  • the DB management unit 530 provides information about the primary key value, the key index information which is a position in the group compression data, and the storage key value corresponding to the group compression data, for each record included in the original table. You can store more in the key index table.
  • the DB management unit for the second group compressed data generated by compressing a plurality of records in each of the at least one linked table.
  • 530 further retrieves a record included in the original table and a record having the same primary key value among the plurality of records included in the second group compressed data, and the position in the second group compressed data with respect to the retrieved record.
  • the index subindex information may be further stored in a record having the same primary key value on the key index table.
  • FIG. 6 illustrates an apparatus for searching an archived database using index information according to an embodiment of the present invention.
  • the search apparatus 600 of the archived database includes a receiver 610, an index searcher 620, a search preparation unit 630, and a parallel searcher 640.
  • the search device 600 of the archived database may be mounted together on a computer on which the database is mounted or on a computer connected to the database and the network.
  • the receiving unit 610 stores a group compression data generated by compressing a plurality of records corresponding to information on field values and a unique storage key value corresponding to the group compression data. Receive a search condition for searching for a record with a predetermined condition.
  • the index search unit 620 searches for a storage key value that satisfies the search condition received from the group index table in which the information about the field value and the storage key value corresponding to the field value are stored.
  • the parallel search unit 640 searches the records that satisfy the search condition in parallel based on the determined number of DB search processes.
  • the index search unit 620 when the group compression data generated further based on the information on time is included in the compression table, and the predetermined condition for the time is further included in the received search condition, the index search unit 620 is in time.
  • the storage key value corresponding to the received search condition may be further retrieved from the period index table in which the storage key value corresponding to the information about the information and the time is stored.
  • the index search unit 620 may store the value of the primary key of each record of the original table archived into the compression table, and the group compression data.
  • the key index table that stores the key index information corresponding to the position at and the storage key value corresponding to the group compressed data
  • the storage key value and the key index information of the record satisfying the received search condition are further searched.
  • 640 may perform a search further based on the stored key value and the key index information.
  • index search is performed on the second group compressed data generated by compressing a plurality of records in each of the at least one linked table.
  • the unit 620 further retrieves the sub-index information of the record satisfying the search condition from the key index table including the sub-index information which is the position in the second group compressed data for each record, and the parallel search unit 640 The search may be further performed based on the sub-index information and the second group compressed data.
  • the search preparation unit 620 collects computer performance information on at least one of the number of CPUs included in the computer, the capacity of the memory, and the input / output speed of the storage device, and among the group compression data stored in the compression table. Determine the number of group compression data corresponding to the stored key value that satisfies the received search condition, and process the retrieval of records in parallel based on at least one of the collected computer performance information and the determined number of group compression data.
  • the number of DB search processes can be determined.
  • the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.
  • the computer-readable recording medium may include a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.) and an optical reading medium (for example, a CD-ROM, DVD, etc.).
  • a magnetic storage medium for example, a ROM, a floppy disk, a hard disk, etc.
  • an optical reading medium for example, a CD-ROM, DVD, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

인덱스정보를 생성하는 데이터베이스 아카이빙 방법을 제공한다. 본 발명의 일 실시예에 따른 인덱스정보를 생성하는 데이터베이스 아카이빙 방법은 데이터 아카이빙을 하려는 원본테이블에서 필드(field)값에 대한 정보에 기초하여 복수의 레코드(record)를 포함하는 적어도 하나의 레코드그룹을 선별하는 단계; 상기 적어도 하나의 레코드그룹 각각에 대하여 상기 레코드그룹별로 압축하여 생성된 그룹압축데이터 및 상기 그룹압축데이터별로 고유하게 부여된 저장키(stored key)값을 압축테이블에 저장하는 단계; 상기 적어도 하나의 레코드그룹 각각에 대응되는 상기 필드값 및 상기 저장키값을 그룹인덱스테이블에 저장하는 단계; 및 상기 선별된 적어도 하나의 레코드그룹에 포함된 복수의 레코드를 상기 원본테이블에서 삭제하는 단계를 포함한다.

Description

인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치
본 발명은 데이터베이스의 아카이빙 방법 및 그 장치와 아카이빙된 데이터베이스의 검색 방법 및 그 장치에 관한 것으로, 보다 구체적으로는 데이터 압축기술 및 인덱스 생성기술을 이용한 데이터베이스의 아카이빙 방법 및 그 장치와 압축되어 아카이빙된 데이터베이스를 인덱스정보를 이용하여 검색하는 방법 및 그 장치에 관한 것이다.
인터넷의 보급 확대, 데이터 통신 기술의 발전 등과 더불어 PC, 랩탑 및 스마트폰과 같은 데이터 생산 및 소비 수단이 널리 보급됨에 따라, 오늘날 생산되고 소비되는 데이터의 양은 기하급수적으로 늘어나고 있는 실정이다.
이러한 데이터들을 효과적으로 분류하고 활용하기 위하여 데이터베이스를 이용하여 데이터를 관리하는 방법이 각종 기업, 단체 및 학교 등지에서 널리 이용되고 있다. 그러나, 늘어나는 데이터의 양이 기하급수적인 만큼, 데이터베이스의 용량도 곧 한계에 다다르게 될 것이며, 데이터베이스의 용량을 계속하여 확장하는 것도 비용 및 관리의 측면에서 제약이 있는 것이 현실이다.
따라서, 데이터베이스를 효율적으로 아카이빙하여 용량을 절약할 수 있는 기술에 대한 관심이 증가하고 있다. 특히, 데이터 압축기술 및 인덱스 생성기술을 이용한 데이터베이스의 아카이빙 방법 및 그 장치와 압축되어 아카이빙된 데이터베이스를 인덱스정보를 이용하여 검색하는 방법 및 그 장치에 대한 관심이 대두되고 있다.
본 발명은 데이터베이스의 레코드를 소정의 기준에 의해 분류하고, 분류된 레코드별로 압축하여 아카이빙함으로써 데이터베이스의 용량을 절약할 수 있는 데이터베이스 아카이빙 방법 및 그 장치를 제공하고자 한다.
또한, 본 발명은 데이터베이스 아카이빙 시에 인덱스정보를 더 생성함으로써, 생성된 인덱스정보를 이용하여 데이터베이스를 보다 효율적으로 검색하는 데이터베이스 검색 방법 및 그 장치를 제공하고자 한다.
또한, 본 발명은 위와 같은 방법으로 아카이빙된 데이터베이스를 병렬로 검색하는 보다 효율적인 데이터베이스 검색 방법 및 그 장치를 제공하고자 한다.
상기 목적을 달성하기 위해, 본 발명에서 제공하는 인덱스정보를 생성하는 데이터베이스 아카이빙 방법은 데이터 아카이빙을 하려는 원본테이블에서 필드(field)값에 대한 정보에 기초하여 복수의 레코드(record)를 포함하는 적어도 하나의 레코드그룹을 선별하는 단계; 상기 적어도 하나의 레코드그룹 각각에 대하여 상기 레코드그룹별로 압축하여 생성된 그룹압축데이터 및 상기 그룹압축데이터별로 고유하게 부여된 저장키(stored key)값을 압축테이블에 저장하는 단계; 상기 적어도 하나의 레코드그룹 각각에 대응되는 상기 필드값 및 상기 저장키값을 그룹인덱스테이블에 저장하는 단계; 및 상기 선별된 적어도 하나의 레코드그룹에 포함된 복수의 레코드를 상기 원본테이블에서 삭제하는 단계를 포함한다.
바람직하게는, 상기 적어도 하나의 레코드그룹을 선별하는 단계가 상기 원본테이블에서 시간에 대한 정보에 더 기초하여 상기 적어도 하나의 레코드그룹을 선별할 때, 상기 적어도 하나의 레코드그룹 각각에 대하여 대응되는 상기 시간에 대한 정보 및 상기 저장키값을 기간인덱스테이블에 저장하는 단계;를 더 포함할 수 있다.
바람직하게는, 상기 원본테이블에 포함된 각 레코드에 대하여 프라이머리키(primary key)의 값, 상기 그룹압축데이터 내에서의 위치인 키인덱스정보 및 상기 그룹압축데이터에 대응되는 상기 저장키값에 대한 정보를 키인덱스테이블에 저장하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 프라이머리키를 통해 상기 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 상기 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여, 상기 제2 그룹압축데이터에 포함된 복수의 레코드 중에서 상기 원본테이블에 포함된 레코드와 상기 프라이머리키의 값이 동일한 레코드를 검색하는 단계; 및 상기 검색된 레코드에 대하여 상기 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 상기 키인덱스테이블 상의 상기 프라이머리키의 값이 동일한 레코드에 더 저장하는 단계를 포함할 수 있다.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 인덱스정보를 생성하는 데이터베이스의 아카이빙 장치는 데이터 아카이빙을 하려는 원본테이블에서 필드값에 대한 정보에 기초하여 복수의 레코드를 포함하는 적어도 하나의 레코드그룹을 선별하는 데이터선별부; 상기 적어도 하나의 레코드그룹 각각에 대하여 상기 레코드그룹별로 압축하여 그룹압축데이터를 생성하는 데이터압축부; 상기 그룹압축데이터 및 상기 그룹압축데이터별로 고유하게 부여된 저장키값을 압축테이블에 저장하고, 상기 적어도 하나의 레코드그룹 각각에 대응되는 상기 필드값 및 상기 저장키값을 그룹인덱스테이블에 저장하고, 상기 선별된 적어도 하나의 레코드그룹에 포함된 복수의 레코드를 상기 원본테이블에서 삭제하는 DB관리부;를 포함한다.
바람직하게는, 상기 데이터선별부가 상기 원본테이블에서 시간에 대한 정보에 더 기초하여 상기 적어도 하나의 레코드그룹을 선별할 때, 상기 DB관리부는 상기 적어도 하나의 레코드그룹 각각에 대응되는 상기 시간에 대한 정보 및 상기 저장키값을 기간인덱스테이블에 더 저장할 수 있다.
바람직하게는, 상기 DB관리부는 상기 원본테이블에 포함된 각 레코드에 대하여 프라이머리키의 값, 상기 그룹압축데이터 내에서의 위치인 키인덱스정보 및 상기 그룹압축데이터에 대응되는 상기 저장키값에 대한 정보를 키인덱스테이블에 더 저장할 수 있다.
바람직하게는, 상기 프라이머리키를 통해 상기 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 상기 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여, 상기 DB관리부는 상기 제2 그룹압축데이터에 포함된 복수의 레코드 중에서 상기 원본테이블에 포함된 레코드와 상기 프라이머리키의 값이 동일한 레코드를 더 검색하고, 상기 검색된 레코드에 대하여 상기 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 상기 키인덱스테이블 상의 상기 프라이머리키의 값이 동일한 레코드에 더 저장할 수 있다.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 방법은 필드값에 대한 정보에 대응되는 복수의 레코드를 압축하여 생성된 그룹압축데이터 및 상기 그룹압축데이터에 대응되는 고유한 저장키값을 포함하는 압축테이블에서 사용자가 원하는 상기 필드값에 대한 소정 조건의 레코드를 검색하기 위한 검색조건을 수신하는 단계; 상기 필드값에 대한 정보 및 상기 필드값에 대한 정보에 대응되는 상기 저장키값이 저장된 그룹인덱스테이블에서 상기 검색조건을 만족하는 저장키값을 검색하는 단계; 검색이 수행되는 컴퓨터의 성능 및 상기 검색조건을 만족하는 상기 저장키값에 대응되는 상기 그룹압축데이터의 개수 중 적어도 하나에 기초하여, 상기 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 단계; 및 상기 결정된 DB검색과정의 개수에 기초하여 상기 검색조건을 만족하는 레코드의 검색을 병렬로 수행하는 단계를 포함한다.
바람직하게는, 시간에 대한 정보에 더 기초하여 생성된 상기 그룹압축데이터가 상기 압축테이블에 포함되고, 상기 시간에 대한 소정 조건이 상기 수신된 검색조건에 더 포함될 때, 상기 시간에 대한 정보 및 상기 시간에 대한 정보에 대응되는 상기 저장키값이 저장된 기간인덱스테이블에서 상기 검색조건을 만족하는 저장키값을 검색하는 단계; 를 더 포함할 수 있다.
바람직하게는, 프라이머리키값에 대한 검색 조건이 상기 검색조건에 더 포함되었을 때, 상기 압축테이블로 아카이빙된 원본테이블의 각 레코드별 상기 프라이머리키의 값, 상기 그룹압축데이터 내에서의 위치인 키인덱스정보 및 상기 그룹압축데이터에 대응되는 상기 저장키값에 대한 정보가 저장된 키인덱스테이블에서 상기 검색조건을 만족하는 레코드의 상기 저장키값 및 상기 키인덱스정보를 검색하는 단계;를 더 포함하고, 상기 레코드의 검색을 병렬로 수행하는 단계는 상기 저장키값 및 상기 키인덱스정보에 더 기초하여 검색을 수행할 수 있다.
바람직하게는, 상기 프라이머리키를 통해 상기 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 상기 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여, 상기 저장키값 및 상기 키인덱스정보를 검색하는 단계는 각 레코드별 상기 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 포함하는 상기 키인덱스테이블에서 상기 검색조건을 만족하는 레코드의 상기 서브인덱스정보를 더 검색하고, 상기 레코드의 검색을 병렬로 수행하는 단계는 상기 서브인덱스정보 및 상기 제2 그룹압축데이터에 더 기초하여 검색을 수행할 수 있다.
바람직하게는, 상기 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 단계는 상기 컴퓨터에 포함된 CPU의 개수, 메모리의 용량 및 저장장치의 입출력속도 중 적어도 하나에 대한 컴퓨터성능정보를 수집하는 단계; 상기 압축테이블에 저장된 상기 그룹압축데이터 중에서 상기 수신된 검색조건을 만족하는 상기 저장키값에 대응되는 상기 그룹압축데이터의 개수를 결정하는 단계; 및 상기 수집된 컴퓨터성능정보 및 상기 결정된 그룹압축데이터의 개수 중 적어도 하나에 기초하여 상기 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 단계;를 포함할 수 있다.
또한, 상기 목적을 달성하기 위해, 본 발명에서 제공하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 장치는 필드값에 대한 정보에 대응되는 복수의 레코드를 압축하여 생성된 그룹압축데이터 및 상기 그룹압축데이터에 대응되는 고유한 저장키값을 포함하는 압축테이블에서 사용자가 원하는 상기 필드값에 대한 소정 조건의 레코드를 검색하기 위한 검색조건을 수신하는 수신부; 상기 필드값에 대한 정보 및 상기 필드값에 대한 정보에 대응되는 상기 저장키값이 저장된 그룹인덱스테이블에서 상기 검색조건을 만족하는 저장키값을 검색하는 인덱스검색부; 검색이 수행되는 컴퓨터의 성능 및 상기 검색조건을 만족하는 상기 저장키값에 대응되는 상기 그룹압축데이터의 개수 중 적어도 하나에 기초하여, 상기 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 검색준비부; 및 상기 결정된 DB검색과정의 개수에 기초하여 상기 검색조건을 만족하는 레코드의 검색을 병렬로 수행하는 병렬검색부를 포함한다.
바람직하게는, 시간에 대한 정보에 더 기초하여 생성된 상기 그룹압축데이터가 상기 압축테이블에 포함되고, 상기 시간에 대한 소정 조건이 상기 수신된 검색조건에 더 포함될 때, 상기 인덱스검색부는 상기 시간에 대한 정보 및 상기 시간에 대한 정보에 대응되는 상기 저장키값이 저장된 기간인덱스테이블에서 상기 검색조건을 만족하는 저장키값을 더 검색할 수 있다.
바람직하게는, 상기 검색조건에 프라이머리키값에 대한 검색 조건이 포함되었을 때, 상기 인덱스검색부는 상기 압축테이블로 아카이빙된 원본테이블의 각 레코드별 상기 프라이머리키의 값, 상기 그룹압축데이터 내에서의 위치인 키인덱스정보 및 상기 그룹압축데이터에 대응되는 상기 저장키값에 대한 정보가 저장된 키인덱스테이블에서 상기 검색조건을 만족하는 레코드의 상기 저장키값 및 상기 키인덱스정보를 더 검색하고, 상기 병렬검색부는 상기 저장키값 및 상기 키인덱스정보에 더 기초하여 검색을 수행할 수 있다.
바람직하게는, 상기 프라이머리키를 통해 상기 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 상기 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여, 상기 인덱스검색부는 각 레코드별 상기 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 포함하는 상기 키인덱스테이블에서 상기 검색조건을 만족하는 레코드의 상기 서브인덱스정보를 더 검색하고, 상기 병렬검색부는 상기 서브인덱스정보 및 상기 제2 그룹압축데이터에 더 기초하여 검색을 수행할 수 있다.
바람직하게는, 상기 검색준비부는 상기 컴퓨터에 포함된 CPU의 개수, 메모리의 용량 및 저장장치의 입출력속도 중 적어도 하나에 대한 컴퓨터성능정보를 수집하고, 상기 압축테이블에 저장된 상기 그룹압축데이터 중에서 상기 수신된 검색조건을 만족하는 상기 저장키값에 대응되는 상기 그룹압축데이터의 개수를 결정하고, 상기 수집된 컴퓨터성능정보 및 상기 결정된 그룹압축데이터의 개수 중 적어도 하나에 기초하여 상기 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정할 수 있다.
본 발명은 데이터베이스에 저장된 데이터를 검색 빈도, 중요도 등에 따라 분류하고, 분류 결과별로 압축하여 아카이빙함으로써, 데이터베이스의 사용 용량을 획기적으로 줄일 수 있는 효과가 있다.
또한, 본 발명은 아카이빙 과정에서 인덱스정보를 생성함으로써, 아카이빙된 데이터베이스의 검색시 효율성을 극대화할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 인덱스정보를 생성하는 데이터베이스 아카이빙 방법을 설명하기 위하여 도시한 흐름도이다.
도 2는 본 발명의 다른 실시예에 따른 인덱스정보를 생성하는 데이터베이스 아카이빙 방법을 설명하기 위하여 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 방법을 설명하기 위하여 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 DB검색과정의 개수를 결정하는 방법을 설명하기 위하여 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 인덱스정보를 생성하는 데이터베이스의 아카이빙 장치를 설명하기 위하여 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 장치를 설명하기 위하여 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 압축테이블의 구조를 설명하기 위하여 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 그룹인덱스테이블 및 기간인덱스테이블의 구조를 설명하기 위하여 도시한 도면이다.
도 9은 본 발명의 일 실시예에 따른 키인덱스테이블의 구조를 설명하기 위하여 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 인덱스정보를 생성하는 데이터베이스 아카이빙 방법을 설명하기 위하여 도시한 흐름도이다.
단계 S110에서는, 데이터베이스 아카이빙 장치가 데이터 아카이빙을 하려는 원본테이블에서 필드(field)값에 대한 정보에 기초하여 복수의 레코드(record)를 포함하는 적어도 하나의 레코드그룹을 선별한다.
테이블은 데이터베이스에서 데이터를 저장하는 기본 구조를 이루는 단위이며, 원본테이블은 데이터베이스에 포함된 복수의 테이블 중에서 용량을 절약하기 위하여 아카이빙을 하려는 테이블일 수 있다.
예컨대, 데이터베이스 아카이빙 장치가 원본테이블에서 필드값에 대한 정보에 기초하여 복수의 레코드를 포함하는 적어도 하나의 레코드그룹을 선별할 때, 필드값이 소정의 범위 이내인 복수의 레코드만으로 레코드그룹을 선별할 수 있다.
한편, 레코드그룹의 선별에 이용되는 필드값은 원본테이블에서 가장 검색이 빈번하게 발생하는 필드의 필드값으로 결정될 수 있다. 이 아카이빙된 데이터베이스를 나중에 검색할 때, 생성된 인덱스정보를 이용하여 검색의 효율성을 극대화할 수 있기 때문이다.
레코드그룹은 원본테이블에 포함된 전체 레코드 중에서 선별된 복수의 레코드의 집합으로 구성된 그룹이다. 레코드그룹은 적어도 하나 이상 생성될 수 있으며, 필요에 따라서 원본테이블의 전체가 아닌 일부의 레코드만을 대상으로 한정하여 레코드그룹을 생성할 수 있다. 예를 들어, 원본테이블에서 2015년 이후의 레코드는 제외하고, 2015년 이전의 레코드만을 대상으로 하여 아카이빙하기 위하여 레코드그룹을 생성할 수 있다.
한편, 하나의 레코드그룹에 포함되는 레코드의 개수는 원본테이블에 포함된 전체 레코드의 개수, 데이터베이스를 검색하는 컴퓨터의 성능 및 데이터베이스의 빈도가 높은 검색 조건 등을 종합적으로 분석 및 검토하여 결정될 수 있다.
다른 실시예에서는, 데이터베이스 아카이빙 장치가 그 선별된 적어도 하나의 레코드그룹 중에서 레코드의 개수가 임계치를 초과하는 초과레코드그룹이 존재하면, 그 초과레코드그룹을 레코드의 개수가 임계치 이하인 복수의 레코드그룹으로 분리할 수 있다.
예컨대, 하나의 레코드그룹이 포함할 수 있는 레코드의 개수인 임계치가 10만개로 설정될 수 있다. 그러나, 만약에, 선별된 레코드그룹에 그 임계치를 초과하는 레코드 개수를 포함한 초과레코드그룹이 존재한다면, 이는 컴퓨터의 과부하 및 비효율을 초래할 수 있어, 문제의 소지가 될 수 있다
따라서, 하나의 레코드그룹이 10만개를 초과하는 레코드를 가지는 경우, 이를 10만개 단위로 분리하여 여러 개의 레코드그룹을 생성할 수 있다. 예컨대, 하나의 레코드그룹이 25만개의 레코드 개수를 가지는 경우, 데이터베이스 아카이빙 장치가 이 초과레코드그룹을 10만개씩의 레코드 개수를 가지는 두개의 레코드그룹과 5만개의 레코드 개수를 가지는 레코드그룹의 총 3개의 레코드그룹으로 분리할 수 있다.
한편, 위와 같이 분리된 복수의 레코드그룹은 서로 동일한 필드값에 의한 분류 기준에 의해 분류되었기 때문에, 그 복수의 레코드그룹을 서로 구별할 방법이 없을 수 있다. 따라서, 그 분리된 복수의 레코드그룹 각각에 일련번호(예, 1,2,3,4,…)를 부여하고 압축테이블의 일련번호 필드에 더 저장할 수 있다. 이 경우, 아카이빙된 데이터베이스를 검색할 때에도, 레코드그룹 각각을 구별하여 검색을 수행할 수 있다.
단계 S120에서는, 데이터베이스 아카이빙 장치가 선별된 적어도 하나의 레코드그룹 각각에 대하여 레코드그룹별로 압축하여 생성된 그룹압축데이터 및 그 그룹압축데이터별로 고유하게 부여된 저장키(stored key)값을 압축테이블에 저장한다.
압축테이블은 원본테이블을 레코드그룹 단위로 압축하여 아카이빙한 데이터가 저장되는 테이블을 의미한다. 또한, 압축테이블은 레코드그룹별로 압축하여 생성된 그룹압축데이터를 저장하기 위한 필드와 그 그룹압축데이터에 대응되도록 고유하게 부여된 저장키값을 저장하기 위한 적어도 하나의 필드를 포함할 수 있다.
저장키값은 그룹압축데이터별로 고유하게 부여된 키값으로, 저장키에 해당하는 필드에 각 그룹압축데이터별로 고유한 저장키값이 저장될 수 있다. 또한, 그 저장키에 해당하는 필드는 하나 이상이 될 수도 있으며, 그 하나 이상의 필드에 분산 저장된 저장키값이 결합되었을 때, 각 그룹압축데이터별로 고유한 저장키값을 가질 수 있다.
그룹압축데이터는 분류된 레코드그룹 각각을 압축하여 생성한 바이너리 데이터일 수 있으며, 그룹압축데이터를 생성하고 압축테이블에 저장하는 구체적인 과정은 다음과 같다.
단계 S122에서는, 데이터베이스 아카이빙 장치가 레코드그룹에 포함된 복수의 레코드의 데이터를 버퍼에 저장한다.
복수의 레코드의 데이터가 저장되는 버퍼의 크기는 원본테이블의 테이블 구조(필드의 개수, 종류 및 크기) 및 레코드그룹에 포함되는 레코드의 임계치에 기초하여 결정될 수 있다.
예컨대, 원본테이블이 DATE(문자 8자), NAME(문자 30자) 및 AGE(정수 4바이트)의 총 3개의 필드를 포함하고 있고, 레코드그룹의 레코드 개수에 대한 임계치가 10만개라고 하면, 문자 1자를 2바이트로 계산할 때, 버퍼의 크기는 최소 10만 * (8*2 + 30*2 + 4) = 800만바이트(약 8메가바이트)가 될 수 있다.
그리고, 데이터베이스 아카이빙 장치가 레코드그룹에 포함된 레코드 및 그 레코드의 필드값을 순차적으로 모두 읽어서, 버퍼에 차례대로 저장할 수 있다.
단계 S124에서는, 데이터베이스 아카이빙 장치가 그 버퍼에 저장된 데이터를 압축하여 그룹압축데이터를 생성한다.
그룹압축데이터는 버퍼에 저장된 레코드그룹의 데이터를 압축하여 생성된 바이너리 형태의 결과물일 수 있다. 이때, 압축으로 인한 손실이 발생하지 않도록 하기 위하여, 무손실의 압축 알고리즘인 ZIP, CTW, LZ77 또는 LZW 등이 사용될 수 있다.
단계 S126에서는, 데이터베이스 아카이빙 장치가 그 생성된 그룹압축데이터별로 고유하게 부여된 저장키값을 생성한다.
예컨대, 데이터베이스 아카이빙 장치가 시간에 소정의 필드값에 기초하여 레코드그룹을 분류하고, 그 레코드그룹에 대응되는 그룹압축데이터를 생성하였을 때, 그 생성된 그룹압축데이터 각각에 대하여 고유한 저장키값을 부여할 수 있다.
마지막으로 단계 S128에서는, 데이터베이스 아카이빙 장치가 생성된 그룹압축데이터를 부여된 저장키값과 함께 압축테이블 상의 동일한 레코드에 저장한다.
압축테이블은 바이너리 형태인 그룹압축데이터를 저장하기 위한 필드와 저장키값을 저장하기 위한 적어도 하나의 필드를 포함할 수 있다. 즉, 생성된 그룹압축데이터는 압축된 바이너리 데이터를 저장하기 위한 필드에 저장되고, 그 그룹압축데이터에 대응되는 저장키값은 그 적어도 하나의 필드에 분산되어 저장될 수 있다.
한편, 도 7은 압축테이블의 구조를 설명하기 위하여 도시한 도면으로, 압축테이블의 구조를 설명하면 다음과 같다.
원본테이블(710)은 시간에 대한 Date필드(714) 및 특정 속성에 대한 Col1필드(716)를 포함하고 있다. 이때, 데이터베이스 아카이빙 장치가 원본테이블(710)을 시간에 대한 정보인 Date필드(714)의 필드값 및 특정 속성에 대한 Col1필드(716)값에 기초하여 분류한 후, 각 분류 결과별로 그룹압축데이터(724) 및 그 그룹압축데이터에 대응되는 고유하게 부여된 저장키값(722)를 압축테이블(720)에 저장할 수 있다.
예컨대, 원본테이블(710)에서 Date필드(714)의 필드값이 2002.01이면서, Col1필드(716)의 필드값이 1000인 레코드그룹을 분류하여 150001의 저장키값(722)을 부여하고, Date필드(714)의 필드값이 2002.01이면서, Col1필드(716)의 필드값이 2000인 레코드그룹을 분류하여 150002의 저장키값(722)을 부여할 수 있다. 이때, Date필드(714)의 필드값이 2002.01이면서, Col1필드(716)의 필드값이 각각 1000 및 2000인 레코드의 개수가 각각 5만개 및 4만개인 것을 압축테이블(720)의 그룹압축데이터(724)의 레코드의 개수에 대한 정보로부터 알 수 있다.
단계 S130에서는, 데이터베이스 아카이빙 장치가 적어도 하나의 레코드그룹 각각에 대응되는 필드값 및 저장키값을 그룹인덱스테이블에 저장한다.
그룹인덱스테이블은 소정의 필드값에 대한 정보를 저장하기 위한 필드와 그 소정의 필드값에 대한 정보에 대응되는 그룹압축데이터에게 고유하게 부여된 저장키를 저장하기 위한 적어도 하나의 필드를 포함할 수 있다.
그 필드값 및 저장키값을 포함하는 그룹인덱스테이블은 소정의 필드값에 대한 정보로부터 대응되는 저장키값을 획득하는데 이용되고, 압축테이블은 그 저장키값에 대응되는 그룹압축데이터를 획득하는데 이용될 수 있다.
마지막으로 단계 S140에서는, 데이터베이스 아카이빙 장치가 선별된 적어도 하나의 레코드그룹에 포함된 복수의 레코드를 원본테이블에서 삭제한다.
데이터베이스를 압축하여 아카이빙하는 목적은 데이터베이스의 저장 공간을 절약하기 위함이므로, 아카이빙이 된 레코드그룹에 포함되는 복수의 레코드들을 원본테이블에서 삭제함으로써 데이터베이스의 저장 공간을 절약할 수 있다.
다른 실시예에서는, 데이터베이스 아카이빙 장치가 원본테이블에서 시간에 대한 정보에 더 기초하여 적어도 하나의 레코드그룹을 선별할 때, 적어도 하나의 레코드그룹 각각에 대하여 대응되는 시간에 대한 정보 및 저장키값을 기간인덱스테이블에 저장할 수 있다.
기간인덱스테이블은 소정의 시간에 대한 정보를 저장하기 위한 필드와 그 소정의 시간에 대한 정보에 대응되는 그룹압축데이터에게 고유하게 부여된 저장키를 저장하기 위한 적어도 하나의 필드를 포함할 수 있다.
그 소정의 시간에 대한 정보 및 저장키값을 포함하는 기간인덱스테이블은 소정의 시간에 대한 정보로부터 대응되는 저장키값을 획득하는데 이용되고, 압축테이블은 그 저장키값에 대응되는 그룹압축데이터를 획득하는데 이용될 수 있다. 한편, 기간인덱스테이블은 시간 또는 기간에 대한 검색 빈도 등에 기초하여 선택적으로 생성되어 이용될 수 있다.
예컨대, 데이터베이스 아카이빙 장치가 소정의 필드값 및 시간에 대한 정보에 기초하여 원본테이블로부터 레코드그룹을 선별하고, 그 선별된 레코드그룹별로 생성된 그룹압축데이터와 그 생성된 그룹압축데이터에 고유하게 부여된 저장키값을 압축테이블에 저장할 수 있다.
그리고, 그 선별된 레코드그룹별로 포함된 복수의 레코드에게 공통되는 필드값에 대한 정보(예, Col1 필드값이 1000)와 그룹압축데이터에 대응되는 저장키값을 그룹인덱스테이블에 저장할 수 있다. 또한, 그 선별된 레코드그룹별로 포함된 복수의 레코드에게 공통되는 시간에 대한 정보(예, Date 필드값이 2002.01)와 그룹압축데이터에 대응되는 저장키값을 기간인덱스테이블에 저장할 수 있다.
한편, 도 8은 그룹인덱스테이블 및 기간인덱스테이블의 구조를 설명하기 위하여 도시한 도면으로, 그룹인덱스테이블 및 기간인덱스테이블의 구조를 설명하면 다음과 같다.
도 7을 참조하면, 압축테이블(720)에는 그룹압축데이터(724) 및 그 그룹압축데이터에 대응되는 고유하게 부여된 저장키값(722)이 저장되어 있다. 데이터베이스 아카이빙 장치가 압축테이블(720)에 저장된 각각의 그룹압축데이터(724)에 대하여, 대응되는 저장키값(722) 및 원본테이블(710)의 Col1필드(716)값에 기초하여, 도 8에 포함된 그룹인덱스테이블(820)에 저장키값(722) 및 필드값에 대한 정보(822)를 저장할 수 있다. 또한, 데이터베이스 아카이빙 장치가 압축테이블(720)에 저장된 각각의 그룹압축데이터(724)에 대하여, 대응되는 저장키값(722) 및 원본테이블(710)의 Date필드(714)값에 기초하여, 도 8에 포함된 기간인덱스테이블(810)에 저장키값(722) 및 시간에 대한 정보(812)를 저장할 수 있다.
이와 같이, 본 발명의 일실시예에 따른 데이터베이스 아카이빙 방법은 압축하는 절차를 거쳐 데이터베이스를 아카이빙함으로써, 데이터베이스의 용량을 획기적으로 절약하는 효과가 있다. 또한, 데이터베이스에 포함된 원본테이블 및 연결테이블로부터 그룹인덱스테이블 및 기간인덱스테이블을 생성함으로써 추후에 그 아카이빙된 데이터를 검색하는데 있어서 검색의 효율성을 극대화할 수 있는 효과가 있다.
도 2는 본 발명의 다른 실시예에 따른 인덱스정보를 생성하는 데이터베이스 아카이빙 방법을 설명하기 위하여 도시한 흐름도이다.
단계 S210에서는, 데이터베이스 아카이빙 장치가 데이터 아카이빙을 하려는 원본테이블에서 필드값에 대한 정보에 기초하여 복수의 레코드를 포함하는 적어도 하나의 레코드그룹을 선별한다.
단계 S220에서는, 데이터베이스 아카이빙 장치가 선별된 적어도 하나의 레코드그룹 각각에 대하여 레코드그룹별로 압축하여 생성된 그룹압축데이터 및 그 그룹압축데이터별로 고유하게 부여된 저장키값을 압축테이블에 저장한다.
단계 S230에서는, 데이터베이스 아카이빙 장치가 적어도 하나의 레코드그룹 각각에 대응되는 필드값 및 저장키값을 그룹인덱스테이블에 저장한다.
단계 S240에서는, 데이터베이스 아카이빙 장치가 원본테이블에 포함된 각 레코드에 대하여 프라이머리키(primary key)의 값, 그룹압축데이터 내에서의 위치인 키인덱스정보 및 그룹압축데이터에 대응되는 저장키값에 대한 정보를 키인덱스테이블에 저장한다.
프라이머리키는 데이터베이스에서 레코드별로 고유하게 식별되는 값을 가지는 필드를 의미하며, 기본키, 주키 또는 유니크키라고도 할 수 있다. 또한, 하나의 테이블에는 하나 이상의 프라이머리키가 존재할 수 있다.
또한, 키인덱스정보는 특정한 프라이머리키값을 가지는 레코드가 그룹압축데이터 내에서 어느 위치에 저장되어 있는지에 대한 정보이다. 예를 들어, 그룹압축데이터가 포함하는 10만개의 레코드에 대한 정보 중에서 1000번째로 저장된 레코드라는 저장순서에 관한 정보가 키인덱스정보로 저장될 수 있다.
한편, 키인덱스테이블에서 프라이머리키의 값을 저장하는 이유는 검색 대상이 되는 테이블을 다른 필드값 및 시간에 대한 정보뿐만 아니라 그 프라이머리키값에 의해 직접 검색할 수 있도록 하기 위함이다. 즉, 사용자가 특정한 프라이머리키값을 입력하면서, 그 프라이머리키값을 갖는 레코드를 테이블에서 검색하려고 할 때, 키인덱스테이블이 사용될 수 있다.
보다 구체적으로는, 데이터베이스 검색 장치가 그 특정한 프라이머리키값을 갖는 레코드를 키인덱스테이블에서 검색할 수 있다. 그리고, 그 검색된 레코드에 포함된 키인덱스정보 및 저장키값에 기초하여, 압축테이블에서 그 저장키값에 대응되는 그룹압축데이터를 획득하고, 그 키인덱스정보를 이용하여 그 그룹압축데이터에서 사용자가 검색을 원하는 레코드를 검색할 수 있다. 이에 대한 보다 구체적인 설명은 도 3에 대한 설명에서 후술한다.
다른 실시예에서는, 데이터베이스 아카이빙 장치가, 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여, 그 제2 그룹압축데이터에 포함된 복수의 레코드 중에서 원본테이블에 포함된 레코드와 프라이머리키의 값이 동일한 레코드를 검색하고, 그 검색된 레코드에 대하여 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 키인덱스테이블 상의 프라이머리키의 값이 동일한 레코드에 더 저장할 수 있다.
연결테이블은 프라이머리키를 통해 원본테이블과 연결되는 테이블이다. 즉, 그 프라이머리키는 원본테이블과 연결테이블에 모두 존재할 수 있다.
제2 그룹압축데이터는 프라이머리키를 통해 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 그 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 데이터이다. 이때. 제2 그룹압축데이터는 도 1에 대한 설명에서 상술한 그룹압축데이터와 동일한 방식으로 생성될 수 있으며, 그룹압축데이터와 마찬가지로 고유한 저장키값 함께 압축테이블에 저장될 수 있다.
서브인덱스정보는 특정한 프라이머리키값을 가지는 레코드가 어떤 제2 그룹압축데이터 내에서 어느 위치에 저장되어 있는지에 대한 정보이다. 예를 들어, 제2 그룹압축데이터에 포함된 10만개의 레코드에 대한 정보 중에서 1000번째로 저장된 레코드라는 저장순서에 관한 정보가 서브인덱스정보로 저장될 수 있다.
예컨대, 데이터베이스에 원본테이블과 프라이머리키를 통해 연결되는 1개의 연결테이블이 존재할 수 있다. 만일, 원본테이블에는 존재하지 않으나 연결테이블에는 존재하는 필드에 대하여, 사용자가 그 필드의 필드값 정보를 필요로 한다면, 데이터베이스 아카이빙 장치가 추후에 그 연결테이블까지 검색할 수 있도록 키인덱스테이블 상의 동일한 프라이머리키값을 가지는 레코드에 서브인덱스정보를 더 저장할 수 있다.
또 다른 실시예에서는, 데이터베이스 아카이빙 장치가 적어도 하나의 연결테이블 각각에 대한 서브인덱스정보를 취합하여 압축한 뒤, 키인덱스테이블에 새로운 서브인덱스정보로 저장할 수 있다.
예컨대, 데이터베이스 아카이빙 장치가 적어도 하나의 연결테이블에서 동일한 프라이머리키값을 가지는 레코드에 대하여 적어도 하나의 제2 그룹압축데이터 내에서의 위치에 대한 서브인덱스정보를 모두 취합할 수 있다. 그리고, 그 취합된 값들을 압축하여, 키인덱스테이블 상의 동일한 프라이머리키의 값을 포함하는 레코드에 새로운 서브인덱스정보로 저장할 수 있다.
한편, 도 9는 키인덱스테이블의 구조를 설명하기 위하여 도시한 도면으로, 키인덱스테이블의 구조를 설명하면 다음과 같다.
도 7을 참조하면, 원본테이블(710)에 포함된 각 레코드에 대하여 프라이머리키인 Doc.No.필드(712)값, 그 레코드가 저장된 그룹압축데이터(724)에 대응되는 저장키값(722) 및 그 레코드의 키인덱스정보(912)가 키인덱스테이블(910)에 저장될 수 있다. 또한, 원본테이블(710)과 프라이머리키(712)를 통해 연결되는 연결테이블(미도시)에 기초하여 생성된 제2 그룹압축데이터에 대하여, 원본테이블(710)의 레코드와 동일한 프라이머리키값(712)을 가지는 연결테이블의 레코드의 서브인덱스정보(914)가 키인덱스테이블(910)에 더 저장될 수 있다.
단계 S250에서는, 데이터베이스 아카이빙 장치가 선별된 적어도 하나의 레코드그룹에 포함된 복수의 레코드를 원본테이블에서 삭제한다.
이와 같이, 본 발명의 일실시예에 따른 데이터베이스 아카이빙 방법은 압축하는 절차를 거쳐 데이터베이스를 아카이빙함으로써, 데이터베이스의 용량을 획기적으로 절약하는 효과가 있다. 또한, 데이터베이스에 포함된 원본테이블 및 연결테이블로부터 키인덱스테이블을 생성함으로써 추후에 프라이머리키값을 이용하여 그 아카이빙된 데이터를 검색하는데 있어서 검색의 효율성을 극대화할 수 있는 효과가 있다.
도 3은 본 발명의 일 실시예에 따른 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 방법을 설명하기 위하여 도시한 흐름도이다.
단계 S310에서는, 데이터베이스 검색 장치가 압축테이블에서 사용자가 원하는 그 필드값에 대한 소정 조건의 레코드를 검색하기 위한 검색조건을 수신한다.
압축테이블은 데이터베이스 검색 장치가 필드값에 대한 정보에 대응되는 복수의 레코드를 압축하여 생성된 그룹압축데이터 및 그 그룹압축데이터에 대응되는 고유한 저장키값에 대한 정보를 포함하는 테이블이다.
수신된 검색조건은 SQL(structured query language)문 형태의 검색조건일 수 있다. 즉, 데이터베이스 검색 장치가 그룹압축데이터와 그 그룹압축데이터에 대응되는 저장키값이 저장된 압축테이블에서 사용자가 원하는 필드값에 대한 조건을 포함하는 레코드를 검색하기 위한 검색조건을 SQL문의 형식으로 수신할 수 있다.
단계 S320에서는, 데이터베이스 검색 장치가 그룹인덱스테이블에서 그 검색조건을 만족하는 저장키값을 검색한다.
그룹인덱스테이블은 필드값에 대한 정보 및 그 필드값에 대한 정보에 대응되는 저장키값에 대한 정보를 포함하는 테이블이다.
데이터베이스 검색 장치가 그룹인덱스테이블에서 사용자의 그 필드값에 대한 조건을 포함하는 검색조건을 만족하는 레코드를 검색한다. 그리고, 그 검색된 레코드에 포함된 저장키값에 대한 정보를 수집할 수 있다.
다른 실시예에서는, 데이터베이스 검색 장치가, 시간에 대한 정보에 더 기초하여 생성된 그룹압축데이터가 압축테이블에 포함되고, 시간에 대한 소정 조건이 그 수신된 검색조건에 더 포함될 때, 기간인덱스테이블에서 그 검색조건을 만족하는 저장키값을 검색할 수 있다.
기간인덱스테이블은 시간에 대한 정보 및 그 시간에 대한 정보에 대응되는 저장키값에 대한 정보를 포함하는 테이블이다.
압축테이블에 포함된 그룹압축데이터가 필드값에 대한 정보뿐 아니라 시간에 대한 정보에 더 기초하여 생성되었을 때, 데이터베이스 검색 장치가 시간에 대한 검색조건을 더 이용하여 압축테이블의 레코드를 검색할 수 있다.
보다 구체적으로는, 데이터베이스 검색 장치가 시간에 대한 검색 조건을 만족하는 레코드를 기간인덱스테이블에 검색할 수 있다. 그리고, 그 검색된 레코드에 포함된 저장키값에 대한 정보를 수집할 수 있다.
한편, 수신된 검색조건이 필드값 및 시간에 대한 정보를 모두 포함하고 있을 때, 데이터베이스의 검색 장치는 그룹인덱스테이블과 기간인덱스테이블 모두에서 저장키값에 대한 정보를 수집할 수 있다. 그리고, 그 수집된 저장키값에 대한 정보 중에서 그룹인덱스테이블과 기간인덱스테이블에서 공통적으로 수집된 저장키값에 대한 정보가 최종적으로 레코드의 검색을 위해 필요한 저장키값이 될 수 있다.
단계 S330에서는, 데이터베이스 검색 장치가 검색이 수행되는 컴퓨터의 성능 및 검색조건을 만족하는 저장키값에 대응되는 그룹압축데이터의 개수 중 적어도 하나에 기초하여, 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정한다.
DB검색과정은 아카이빙된 데이터베이스에서 레코드의 검색을 수행하는 단일 과정을 의미한다. 따라서, 만일 레코드의 검색이 병렬로 처리되는 경우에는, DB검색과정이 복수개 존재하여, 동시에 진행되는 것으로 이해될 수 있다
한편, DB검색과정의 개수가 컴퓨터의 성능에 기초하여 결정되는 것은 각 DB검색과정이 압축된 그룹압축데이터로부터 레코드를 검색하는 과정은 컴퓨터에 많은 부하를 줄 수 있기 때문이다. 또한, DB검색과정의 개수가 검색조건을 만족하는 저장키값에 대응되는 그룹압축데이터의 개수에 기초하여 결정되는 것은 그 그룹압축데이터의 개수가 결국은 검색의 양 또는 범위와 관련될 수 있기 때문이다.
한편, 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 구체적인 과정에 대하여는 도 4에 대한 설명에서 구체적으로 후술한다.
단계 S340에서는, 데이터베이스 검색 장치가 결정된 DB검색과정의 개수에 기초하여 검색조건을 만족하는 레코드의 검색을 병렬로 수행한다.
예컨대, 데이터베이스 검색 장치가 앞서 결정된 개수만큼의 DB검색과정을 준비하고, 각 DB검색과정별로 검색 범위를 분담하여 레코드의 검색을 병렬로 수행할 수 있다.
다른 실시예에서는, 데이터베이스 검색 장치가, 프라이머리키값에 대한 검색 조건이 검색조건에 더 포함되었을 때, 키인덱스테이블에서 그 프라이머리키값에 대한 검색조건을 만족하는 레코드의 저장키값 및 키인덱스정보를 더 검색할 수 있다. 그리고, 데이터베이스 검색 장치가 그 검색된 저장키값 및 키인덱스정보에 더 기초하여 레코드의 병렬 검색을 수행할 수 있다.
키인덱스테이블은 압축테이블로 아카이빙된 원본테이블의 각 레코드별 프라이머리키의 값, 그룹압축데이터 내에서의 위치인 키인덱스정보 및 그룹압축데이터에 대응되는 저장키값에 대한 정보를 포함하는 테이블이다.
예컨대, 사용자로부터 수신된 검색조건에 필드값 및 시간에 대한 정보뿐 아니라, 프라이머리키의 값에 대한 정보가 포함될 수 있다. 이 경우, 데이터베이스 검색 장치가 키인덱스테이블에서 그 프라이머리키의 값을 갖는 레코드를 검색하고, 그 검색된 레코드의 저장키값 및 키인덱스정보를 더 이용하여 사용자의 검색조건을 만족하는 레코드를 검색할 수 있다.
또 다른 실시예에서는, 데이터베이스 검색 장치가, 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여, 저장키값 및 키인덱스정보를 검색할 때, 키인덱스테이블에서 사용자의 검색조건을 만족하는 레코드의 서브인덱스정보를 더 검색할 수 있다. 그리고, 데이터베이스 검색 장치가 레코드의 검색을 병렬로 수행할 때, 검색된 서브인덱스정보 및 그 서브인덱스정보에 대응되는 제2 그룹압축데이터에 더 기초하여 검색을 수행할 수 있다.
연결테이블은 프라이머리키를 통해 원본테이블과 연결되는 테이블이며, 그 프라이머리키는 원본테이블과 연결테이블에 모두 존재할 수 있다. 한편, 키인덱스테이블에는 연결테이블의 각 레코드별 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보가 더 포함될 수 있다.
제2 그룹압축데이터는 프라이머리키를 통해 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 그 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 데이터이다. 이때. 제2 그룹압축데이터는 도 1에 대한 설명에서 상술한 그룹압축데이터와 동일한 방식으로 생성될 수 있으며, 그룹압축데이터와 마찬가지로 고유한 저장키값 함께 압축테이블에 저장될 수 있다.
예컨대, 사용자로부터 수신된 검색조건에 연결테이블에만 존재하는 필드값에 대한 조건이 더 포함된 경우, 데이터베이스 검색 장치가 키인덱스테이블에서 그 검색조건을 만족하는 프라이머리키값에 대응되는 서브인덱스정보를 더 검색하고, 그 서브인덱스정보를 이용하여 제2 그룹압축데이터에 포함된 그 필드값에 대한 정보를 더 검색할 수 있다.
또 다른 실시예에서는, 데이터베이스 검색 장치가 DB검색과정 각각에 대하여 적어도 하나의 그룹압축데이터를 할당하고, 그에 기초하여 레코드의 검색을 병렬로 수행할 수 있다.
예컨대, 검색조건을 만족하는 저장키값에 대응되는 그룹압축데이터의 개수가 6개이고, 결정된 DB검색과정의 개수는 4개라고 하면, 데이터베이스 검색 장치가 DB검색과정 4개중 2개에는 2개씩의 그룹압축데이터를 할당하고, 나머지 DB검색과정 2개에는 1개씩의 그룹압축데이터를 할당할 수 있다. 그리고, 그 4개의 DB검색과정이 할당된 1개 또는 2개의 그룹압축데이터에 대한 레코드의 검색을 병렬로 수행할 수 있다.
이때, 각 DB검색과정은 할당된 그룹압축데이터의 압축을 해제하여 버퍼에 저장하고, 그 버퍼에 저장된 데이터로부터 검색조건을 만족하는 레코드를 검색하는 과정을 통해 검색을 수행할 수 있다.
또 다른 실시예에서는, 데이터베이스 검색 장치가 압축테이블로 아카이빙된 원본테이블에 포함된 필드의 종류, 크기, 순서 및 명칭에 대한 정보인 테이블구조정보에 더 기초하여 검색조건을 만족하는 레코드의 검색을 수행할 수 있다.
그룹압축데이터의 압축을 해제하여 버퍼에 저장하고, 그 버퍼에 저장된 데이터로부터 검색조건을 만족하는 레코드를 검색하는 경우에, 데이터베이스 검색 장치가 원본테이블에 포함된 각 필드의 종류, 크기, 순서 및 명칭에 대한 정보인 테이블구조정보를 알고 있으면 그 테이블구조정보에 기초하여 검색을 보다 용이하게 수행할 수 있다.
또 다른 실시예에서는, DB검색과정은 각각의 DB검색과정별로 할당된 프로세스(process) 또는 쓰레드(thread)를 이용하여 검색을 수행할 수 있다.
각 DB검색과정은 병렬적으로 레코드의 검색을 수행해야 하기 때문에, 이러한 병렬적인 특성을 만족시키기 위하여 자식 프로세스(child process) 또는 쓰레드가 각 DB검색과정마다 하나씩 할당되어 검색을 수행할 수 있다. 이때, 각 DB검색과정별로 자식 프로세스가 할당될 지 혹은 쓰레드가 할당될 지는 검색이 수행되는 컴퓨터의 CPU 종류 및 OS 종류 등에 따른 지원여부에 의하여 결정될 수 있다.
예컨대, DB검색과정의 개수가 6개로 결정된 경우에, 6개의 자식 프로세스가 각 DB검색과정마다 할당될 수 있고, 6개의 자식 프로세스 각각이 DB검색과정에게 할당된 그룹압축데이터에 대한 레코드의 검색을 병렬로 수행할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 아카이빙된 데이터베이스의 검색 방법은 컴퓨터의 성능 및 데이터베이스 검색의 범위에 따라서 결정된 DB검색과정의 개수에 기초하여 레코드의 검색을 병렬로 수행할 수 있는 효과가 있다.
도 4는 본 발명의 일 실시예에 따른 DB검색과정의 개수를 결정하는 방법을 설명하기 위하여 도시한 흐름도이다.
단계 S410에서는, 데이터베이스 검색 장치가 컴퓨터에 포함된 CPU의 개수, 메모리의 용량 및 저장장치의 입출력속도 중 적어도 하나에 대한 컴퓨터성능정보를 수집한다.
컴퓨터의 성능은 레코드의 검색이 수행되는 컴퓨터에 포함된 CPU, 메모리 및 저장장치의 성능에 의하여 결정될 수 있다. 특히, CPU의 경우 그 컴퓨터에 탑재된 CPU의 개수, 클럭주파수, 캐시 크기 및 CPU별 코어 개수 등에 의해 성능이 결정될 수 있다. 또한, 메모리는 용량 및 동작 주파수 등에 의해 성능이 결정될 수 있다. 또한, 저장장치는 입출력 속도에 의해 성능이 결정될 수 있다.
따라서, 데이터베이스 검색 장치가 레코드의 검색이 수행되는 컴퓨터의 CPU, 메모리 및 저장장치 중 적어도 하나에 대한 정보를 포함하는 컴퓨터성능정보를 수집할 수 있다.
단계 S420에서는, 데이터베이스 검색 장치가 압축테이블에 저장된 그룹압축데이터 중에서 수신된 검색조건을 만족하는 저장키값에 대응되는 그룹압축데이터의 개수를 결정한다.
예컨대, 압축테이블에 저장된 저장키값 및 그 저장키값에 대응되는 그룹압축데이터에 대하여, 사용자가 2015년 1월부터 2015년 10월까지의 검색조건을 생성한 경우에, 이 검색조건을 만족하는 저장키값을 기간인덱스테이블에서 찾으면 그 저장키값에 대응되는 그룹압축데이터의 개수가 결정될 수 있다.
마지막으로 단계 S430에서는, 데이터베이스 검색 장치가 그 수집된 컴퓨터성능정보 및 그 결정된 그룹압축데이터의 개수 중 적어도 하나에 기초하여 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정한다.
예컨대, 데이터베이스의 검색 장치는 수집된 컴퓨터성능정보와 그룹압축데이터의 개수를 종합적으로 분석하여, 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정할 수 있다.
보다 구체적으로는, 수집된 컴퓨터성능정보가 우수하지 않더라도 결정된 그룹압축데이터의 개수가 많지 않을 경우 DB검색과정의 개수는 그룹압축데이터의 개수에 맞추어 적은 수로 결정될 수 있으며, 반대로 수집된 컴퓨터성능정보가 매우 우수한 경우에 결정된 그룹압축데이터의 개수가 많더라도 DB검색과정의 개수는 컴퓨터성능정보에 맞추어 역시 적은 수로 결정될 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 DB검색과정의 개수를 결정하는 방법은 검색이 수행되는 컴퓨터의 성능에 대한 정보 및 검색조건을 만족하는 저장키값에 대응되는 그룹압축데이터의 개수에 의하여 DB검색과정의 개수를 결정함으로써 보다 효율적으로 레코드의 검색을 병렬로 수행하는 효과가 있다.
도 5는 본 발명의 일 실시예에 따른 인덱스정보를 생성하는 데이터베이스의 아카이빙 장치를 설명하기 위하여 도시한 도면이다.
도 5를 살펴보면, 인덱스정보를 생성하는 데이터베이스 아카이빙 장치(500)는 데이터선별부(510), 데이터압축부(520) 및 DB관리부(530)를 포함한다. 이때, 인덱스정보를 생성하는 데이터베이스 아카이빙 장치(500)는 데이터베이스가 탑재된 컴퓨터에 함께 탑재되거나 데이터베이스와 네트워크로 연결된 컴퓨터에 탑재될 수 있다.
데이터선별부(510)는 데이터 아카이빙을 하려는 원본테이블에서 필드값에 대한 정보에 기초하여 복수의 레코드를 포함하는 적어도 하나의 레코드그룹을 선별한다.
데이터압축부(520)는 선별된 적어도 하나의 레코드그룹 각각에 대하여 레코드그룹별로 압축하여 그룹압축데이터를 생성한다.
DB관리부(530)는 그룹압축데이터 및 그 그룹압축데이터별로 고유하게 부여된 저장키값을 압축테이블에 저장하고, 적어도 하나의 레코드그룹 각각에 대응되는 필드값 및 저장키값을 그룹인덱스테이블에 저장하고, 적어도 하나의 레코드그룹에 포함된 복수의 레코드를 원본테이블에서 삭제한다.
다른 실시예에서는, 데이터선별부(510)가 원본테이블에서 시간에 대한 정보에 더 기초하여 적어도 하나의 레코드그룹을 선별할 때, DB관리부(530)는 그 적어도 하나의 레코드그룹 각각에 대응되는 시간에 대한 정보 및 저장키값을 기간인덱스테이블에 더 저장할 수 있다.
또 다른 실시예에서는, DB관리부(530)는 원본테이블에 포함된 각 레코드에 대하여 프라이머리키의 값, 그룹압축데이터 내에서의 위치인 키인덱스정보 및 그룹압축데이터에 대응되는 저장키값에 대한 정보를 키인덱스테이블에 더 저장할 수 있다.
또 다른 실시예에서는, 프라이머리키를 통해 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 그 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여, DB관리부(530)는 그 제2 그룹압축데이터에 포함된 복수의 레코드 중에서 원본테이블에 포함된 레코드와 프라이머리키의 값이 동일한 레코드를 더 검색하고, 그 검색된 레코드에 대하여 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 키인덱스테이블 상의 프라이머리키의 값이 동일한 레코드에 더 저장할 수 있다.
도 6은 본 발명의 일 실시예에 따른 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 장치를 설명하기 위하여 도시한 도면이다.
도 6을 살펴보면, 아카이빙된 데이터베이스의 검색 장치(600)는 수신부(610), 인덱스검색부(620), 검색준비부(630) 및 병렬검색부(640)를 포함한다. 이때, 아카이빙된 데이터베이스의 검색 장치(600)는 데이터베이스가 탑재된 컴퓨터에 함께 탑재되거나 데이터베이스와 네트워크로 연결된 컴퓨터에 탑재될 수 있다.
수신부(610)는 필드값에 대한 정보에 대응되는 복수의 레코드를 압축하여 생성된 그룹압축데이터 및 그 그룹압축데이터에 대응되는 고유한 저장키값을 포함하는 압축테이블에서 사용자가 원하는 그 필드값에 대한 소정 조건의 레코드를 검색하기 위한 검색조건을 수신한다.
인덱스검색부(620)는 필드값에 대한 정보 및 그 필드값에 대한 정보에 대응되는 저장키값이 저장된 그룹인덱스테이블에서 수신된 검색조건을 만족하는 저장키값을 검색한다.
검색준비부(630)는 검색이 수행되는 컴퓨터의 성능 및 검색조건을 만족하는 저장키값에 대응되는 그룹압축데이터의 개수 중 적어도 하나에 기초하여, 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정한다.
병렬검색부(640)는 그 결정된 DB검색과정의 개수에 기초하여 검색조건을 만족하는 레코드의 검색을 병렬로 수행한다.
다른 실시예에서는, 시간에 대한 정보에 더 기초하여 생성된 그룹압축데이터가 압축테이블에 포함되고, 그 시간에 대한 소정 조건이 수신된 검색조건에 더 포함될 때, 인덱스검색부(620)는 시간에 대한 정보 및 그 시간에 대한 정보에 대응되는 저장키값이 저장된 기간인덱스테이블에서 수신된 검색조건을 만족하는 저장키값을 더 검색할 수 있다.
또 다른 실시예에서는, 수신된 검색조건에 프라이머리키값에 대한 검색 조건이 포함되었을 때, 인덱스검색부(620)는 압축테이블로 아카이빙된 원본테이블의 각 레코드별 프라이머리키의 값, 그룹압축데이터 내에서의 위치인 키인덱스정보 및 그룹압축데이터에 대응되는 저장키값에 대한 정보가 저장된 키인덱스테이블에서, 수신된 검색조건을 만족하는 레코드의 저장키값 및 키인덱스정보를 더 검색하고, 병렬검색부(640)는 저장키값 및 키인덱스정보에 더 기초하여 검색을 수행할 수 있다.
또 다른 실시예에서는, 프라이머리키를 통해 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 그 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여, 인덱스검색부(620)는 각 레코드별 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 포함하는 키인덱스테이블에서 검색조건을 만족하는 레코드의 서브인덱스정보를 더 검색하고, 병렬검색부(640)는 서브인덱스정보 및 제2 그룹압축데이터에 더 기초하여 검색을 수행할 수 있다.
또 다른 실시예에서는, 검색준비부(620)는 컴퓨터에 포함된 CPU의 개수, 메모리의 용량 및 저장장치의 입출력속도 중 적어도 하나에 대한 컴퓨터성능정보를 수집하고, 압축테이블에 저장된 그룹압축데이터 중에서 수신된 검색조건을 만족하는 저장키값에 대응되는 그룹압축데이터의 개수를 결정하고, 그 수집된 컴퓨터성능정보 및 그 결정된 그룹압축데이터의 개수 중 적어도 하나에 기초하여 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (18)

  1. 데이터 아카이빙을 하려는 원본테이블에서 필드(field)값에 대한 정보에 기초하여 복수의 레코드(record)를 포함하는 적어도 하나의 레코드그룹을 선별하는 단계;
    상기 적어도 하나의 레코드그룹 각각에 대하여 상기 레코드그룹별로 압축하여 생성된 그룹압축데이터 및 상기 그룹압축데이터별로 고유하게 부여된 저장키(stored key)값을 압축테이블에 저장하는 단계;
    상기 적어도 하나의 레코드그룹 각각에 대응되는 상기 필드값 및 상기 저장키값을 그룹인덱스테이블에 저장하는 단계; 및
    상기 선별된 적어도 하나의 레코드그룹에 포함된 복수의 레코드를 상기 원본테이블에서 삭제하는 단계
    를 포함하는 것을 특징으로 하는 인덱스정보를 생성하는 데이터베이스 아카이빙 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 레코드그룹을 선별하는 단계가 상기 원본테이블에서 시간에 대한 정보에 더 기초하여 상기 적어도 하나의 레코드그룹을 선별할 때,
    상기 적어도 하나의 레코드그룹 각각에 대하여 대응되는 상기 시간에 대한 정보 및 상기 저장키값을 기간인덱스테이블에 저장하는 단계;
    를 더 포함하는 것을 특징으로 하는 인덱스정보를 생성하는 데이터베이스 아카이빙 방법.
  3. 제1항에 있어서,
    상기 원본테이블에 포함된 각 레코드에 대하여 프라이머리키(primary key)의 값, 상기 그룹압축데이터 내에서의 위치인 키인덱스정보 및 상기 그룹압축데이터에 대응되는 상기 저장키값에 대한 정보를 키인덱스테이블에 저장하는 단계
    를 더 포함하는 것을 특징으로 하는 인덱스정보를 생성하는 데이터베이스 아카이빙 방법.
  4. 제3항에 있어서,
    상기 프라이머리키를 통해 상기 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 상기 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여,
    상기 제2 그룹압축데이터에 포함된 복수의 레코드 중에서 상기 원본테이블에 포함된 레코드와 상기 프라이머리키의 값이 동일한 레코드를 검색하는 단계; 및
    상기 검색된 레코드에 대하여 상기 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 상기 키인덱스테이블 상의 상기 프라이머리키의 값이 동일한 레코드에 더 저장하는 단계
    를 포함하는 것을 특징으로 하는 인덱스정보를 생성하는 데이터베이스 아카이빙 방법.
  5. 데이터 아카이빙을 하려는 원본테이블에서 필드값에 대한 정보에 기초하여 복수의 레코드를 포함하는 적어도 하나의 레코드그룹을 선별하는 데이터선별부;
    상기 적어도 하나의 레코드그룹 각각에 대하여 상기 레코드그룹별로 압축하여 그룹압축데이터를 생성하는 데이터압축부;
    상기 그룹압축데이터 및 상기 그룹압축데이터별로 고유하게 부여된 저장키값을 압축테이블에 저장하고, 상기 적어도 하나의 레코드그룹 각각에 대응되는 상기 필드값 및 상기 저장키값을 그룹인덱스테이블에 저장하고, 상기 선별된 적어도 하나의 레코드그룹에 포함된 복수의 레코드를 상기 원본테이블에서 삭제하는 DB관리부;
    를 포함하는 것을 특징으로 하는 인덱스정보를 생성하는 데이터베이스의 아카이빙 장치.
  6. 제5항에 있어서,
    상기 데이터선별부가 상기 원본테이블에서 시간에 대한 정보에 더 기초하여 상기 적어도 하나의 레코드그룹을 선별할 때,
    상기 DB관리부는
    상기 적어도 하나의 레코드그룹 각각에 대응되는 상기 시간에 대한 정보 및 상기 저장키값을 기간인덱스테이블에 더 저장하는 것을 특징으로 하는 인덱스정보를 생성하는 데이터베이스의 아카이빙 장치.
  7. 제5항에 있어서,
    상기 DB관리부는
    상기 원본테이블에 포함된 각 레코드에 대하여 프라이머리키의 값, 상기 그룹압축데이터 내에서의 위치인 키인덱스정보 및 상기 그룹압축데이터에 대응되는 상기 저장키값에 대한 정보를 키인덱스테이블에 더 저장하는 것을 특징으로 하는 인덱스정보를 생성하는 데이터베이스의 아카이빙 장치.
  8. 제7항에 있어서,
    상기 프라이머리키를 통해 상기 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 상기 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여,
    상기 DB관리부는
    상기 제2 그룹압축데이터에 포함된 복수의 레코드 중에서 상기 원본테이블에 포함된 레코드와 상기 프라이머리키의 값이 동일한 레코드를 더 검색하고,
    상기 검색된 레코드에 대하여 상기 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 상기 키인덱스테이블 상의 상기 프라이머리키의 값이 동일한 레코드에 더 저장하는 것을 특징으로 하는 인덱스정보를 생성하는 데이터베이스의 아카이빙 장치.
  9. 필드값에 대한 정보에 대응되는 복수의 레코드를 압축하여 생성된 그룹압축데이터 및 상기 그룹압축데이터에 대응되는 고유한 저장키값을 포함하는 압축테이블에서 사용자가 원하는 상기 필드값에 대한 소정 조건의 레코드를 검색하기 위한 검색조건을 수신하는 단계;
    상기 필드값에 대한 정보 및 상기 필드값에 대한 정보에 대응되는 상기 저장키값이 저장된 그룹인덱스테이블에서 상기 검색조건을 만족하는 저장키값을 검색하는 단계;
    검색이 수행되는 컴퓨터의 성능 및 상기 검색조건을 만족하는 상기 저장키값에 대응되는 상기 그룹압축데이터의 개수 중 적어도 하나에 기초하여, 상기 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 단계; 및
    상기 결정된 DB검색과정의 개수에 기초하여 상기 검색조건을 만족하는 레코드의 검색을 병렬로 수행하는 단계
    를 포함하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 방법.
  10. 제9항에 있어서,
    시간에 대한 정보에 더 기초하여 생성된 상기 그룹압축데이터가 상기 압축테이블에 포함되고, 상기 시간에 대한 소정 조건이 상기 수신된 검색조건에 더 포함될 때,
    상기 시간에 대한 정보 및 상기 시간에 대한 정보에 대응되는 상기 저장키값이 저장된 기간인덱스테이블에서 상기 검색조건을 만족하는 저장키값을 검색하는 단계;
    를 더 포함하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 방법.
  11. 제9항에 있어서,
    프라이머리키값에 대한 검색 조건이 상기 검색조건에 더 포함되었을 때,
    상기 압축테이블로 아카이빙된 원본테이블의 각 레코드별 상기 프라이머리키의 값, 상기 그룹압축데이터 내에서의 위치인 키인덱스정보 및 상기 그룹압축데이터에 대응되는 상기 저장키값에 대한 정보가 저장된 키인덱스테이블에서 상기 검색조건을 만족하는 레코드의 상기 저장키값 및 상기 키인덱스정보를 검색하는 단계;
    를 더 포함하고,
    상기 레코드의 검색을 병렬로 수행하는 단계는
    상기 저장키값 및 상기 키인덱스정보에 더 기초하여 검색을 수행하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 방법.
  12. 제11항에 있어서,
    상기 프라이머리키를 통해 상기 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 상기 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여,
    상기 저장키값 및 상기 키인덱스정보를 검색하는 단계는
    각 레코드별 상기 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 포함하는 상기 키인덱스테이블에서 상기 검색조건을 만족하는 레코드의 상기 서브인덱스정보를 더 검색하고,
    상기 레코드의 검색을 병렬로 수행하는 단계는
    상기 서브인덱스정보 및 상기 제2 그룹압축데이터에 더 기초하여 검색을 수행하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 방법.
  13. 제9항에 있어서,
    상기 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 단계는
    상기 컴퓨터에 포함된 CPU의 개수, 메모리의 용량 및 저장장치의 입출력속도 중 적어도 하나에 대한 컴퓨터성능정보를 수집하는 단계;
    상기 압축테이블에 저장된 상기 그룹압축데이터 중에서 상기 수신된 검색조건을 만족하는 상기 저장키값에 대응되는 상기 그룹압축데이터의 개수를 결정하는 단계; 및
    상기 수집된 컴퓨터성능정보 및 상기 결정된 그룹압축데이터의 개수 중 적어도 하나에 기초하여 상기 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 단계;
    를 포함하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 방법.
  14. 필드값에 대한 정보에 대응되는 복수의 레코드를 압축하여 생성된 그룹압축데이터 및 상기 그룹압축데이터에 대응되는 고유한 저장키값을 포함하는 압축테이블에서 사용자가 원하는 상기 필드값에 대한 소정 조건의 레코드를 검색하기 위한 검색조건을 수신하는 수신부;
    상기 필드값에 대한 정보 및 상기 필드값에 대한 정보에 대응되는 상기 저장키값이 저장된 그룹인덱스테이블에서 상기 검색조건을 만족하는 저장키값을 검색하는 인덱스검색부;
    검색이 수행되는 컴퓨터의 성능 및 상기 검색조건을 만족하는 상기 저장키값에 대응되는 상기 그룹압축데이터의 개수 중 적어도 하나에 기초하여, 상기 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 검색준비부; 및
    상기 결정된 DB검색과정의 개수에 기초하여 상기 검색조건을 만족하는 레코드의 검색을 병렬로 수행하는 병렬검색부
    를 포함하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 장치.
  15. 제14항에 있어서,
    시간에 대한 정보에 더 기초하여 생성된 상기 그룹압축데이터가 상기 압축테이블에 포함되고, 상기 시간에 대한 소정 조건이 상기 수신된 검색조건에 더 포함될 때,
    상기 인덱스검색부는
    상기 시간에 대한 정보 및 상기 시간에 대한 정보에 대응되는 상기 저장키값이 저장된 기간인덱스테이블에서 상기 검색조건을 만족하는 저장키값을 더 검색하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 장치.
  16. 제14항에 있어서,
    상기 검색조건에 프라이머리키값에 대한 검색 조건이 포함되었을 때,
    상기 인덱스검색부는
    상기 압축테이블로 아카이빙된 원본테이블의 각 레코드별 상기 프라이머리키의 값, 상기 그룹압축데이터 내에서의 위치인 키인덱스정보 및 상기 그룹압축데이터에 대응되는 상기 저장키값에 대한 정보가 저장된 키인덱스테이블에서 상기 검색조건을 만족하는 레코드의 상기 저장키값 및 상기 키인덱스정보를 더 검색하고,
    상기 병렬검색부는
    상기 저장키값 및 상기 키인덱스정보에 더 기초하여 검색을 수행하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 장치.
  17. 제16항에 있어서,
    상기 프라이머리키를 통해 상기 원본테이블과 연결되는 적어도 하나의 연결테이블이 존재할 때, 상기 적어도 하나의 연결테이블 각각에서 복수의 레코드를 압축하여 생성된 제2 그룹압축데이터에 대하여,
    상기 인덱스검색부는
    각 레코드별 상기 제2 그룹압축데이터 내에서의 위치인 서브인덱스정보를 포함하는 상기 키인덱스테이블에서 상기 검색조건을 만족하는 레코드의 상기 서브인덱스정보를 더 검색하고,
    상기 병렬검색부는
    상기 서브인덱스정보 및 상기 제2 그룹압축데이터에 더 기초하여 검색을 수행하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 장치.
  18. 제14항에 있어서,
    상기 검색준비부는
    상기 컴퓨터에 포함된 CPU의 개수, 메모리의 용량 및 저장장치의 입출력속도 중 적어도 하나에 대한 컴퓨터성능정보를 수집하고,
    상기 압축테이블에 저장된 상기 그룹압축데이터 중에서 상기 수신된 검색조건을 만족하는 상기 저장키값에 대응되는 상기 그룹압축데이터의 개수를 결정하고,
    상기 수집된 컴퓨터성능정보 및 상기 결정된 그룹압축데이터의 개수 중 적어도 하나에 기초하여 상기 레코드의 검색을 병렬로 처리하기 위한 DB검색과정의 개수를 결정하는 것을 특징으로 하는 인덱스정보를 이용하는 아카이빙된 데이터베이스의 검색 장치.
PCT/KR2016/011465 2016-02-26 2016-10-13 인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치 Ceased WO2017146338A1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201680081618.2A CN108604249A (zh) 2016-02-26 2016-10-13 生成索引信息的数据库的存档方法及装置、包含索引信息的存档的数据库的搜索方法及装置
US16/077,236 US11030172B2 (en) 2016-02-26 2016-10-13 Database archiving method and device for creating index information and method and device of retrieving archived database including index information
EP16891742.5A EP3422205A4 (en) 2016-02-26 2016-10-13 DATABASE ARCHIVING METHOD AND DEVICE FOR GENERATING INFORMATION AND METHOD AND DEVICE FOR SEARCHING IN AN ARCHIVED DATABASE WITH INDEX INFORMATION
AU2016394744A AU2016394744A1 (en) 2016-02-26 2016-10-13 Database-archiving method and apparatus that generate index information, and method and apparatus for searching archived database comprising index information
JP2018543238A JP6598101B2 (ja) 2016-02-26 2016-10-13 インデックス情報を生成するデータベースのアーカイビング方法及び装置、インデックス情報を含むアーカイビングされたデータベースの検索方法及び装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160023403A KR101656750B1 (ko) 2016-02-26 2016-02-26 인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치
KR10-2016-0023403 2016-02-26

Publications (1)

Publication Number Publication Date
WO2017146338A1 true WO2017146338A1 (ko) 2017-08-31

Family

ID=57047451

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/011465 Ceased WO2017146338A1 (ko) 2016-02-26 2016-10-13 인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치

Country Status (7)

Country Link
US (1) US11030172B2 (ko)
EP (1) EP3422205A4 (ko)
JP (1) JP6598101B2 (ko)
KR (1) KR101656750B1 (ko)
CN (1) CN108604249A (ko)
AU (1) AU2016394744A1 (ko)
WO (1) WO2017146338A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022520654A (ja) * 2020-01-06 2022-03-31 アーミク カンパニー,リミテッド データのハイブリッド保存を利用したデータアーカイブ方法およびシステム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6949449B2 (ja) * 2018-09-13 2021-10-13 東芝情報システム株式会社 データ検索システム及びデータ検索用プログラム
KR102834584B1 (ko) 2019-12-24 2025-07-14 삼성전자주식회사 키-밸류 기반으로 데이터를 저장하는 스토리지 장치 및 이의 동작 방법
US11556497B2 (en) * 2020-01-06 2023-01-17 Armiq Co., Ltd. Real-time archiving method and system based on hybrid cloud
KR102529704B1 (ko) * 2020-08-27 2023-05-09 주식회사 아미크 인 메모리 데이터베이스의 데이터를 처리하는 방법 및 장치
KR102256814B1 (ko) 2020-09-10 2021-05-27 주식회사 아미크 목적 데이터 선별 방법 및 시스템
US12169484B2 (en) * 2022-10-07 2024-12-17 Oracle International Corporation Techniques for adaptive independent compression of key and non-key portions of database rows in index organized tables (IOTs)
US12265532B2 (en) 2022-10-14 2025-04-01 Oracle International Corporation Accelerating query execution by optimizing data transfer between storage nodes and database nodes
CN115730110B (zh) * 2022-12-28 2025-09-05 北京安天网络安全技术有限公司 一种数据索引创建方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241377A (ja) * 2006-03-06 2007-09-20 Sony Corp 検索システム、撮像装置、データ保存装置、情報処理装置、撮像画像処理方法、情報処理方法、プログラム
JP2009533731A (ja) * 2006-04-07 2009-09-17 データ ストレージ グループ データ圧縮技術およびデータ格納技術
JP2012256144A (ja) * 2011-06-08 2012-12-27 Jfe Systems Inc データ管理保存システム
KR20120140668A (ko) * 2010-03-12 2012-12-31 아르텍 컴퓨터 게엠베하 대용량 장기 아카이브의 생산 및 관리 방법
JP2013519141A (ja) * 2010-02-04 2013-05-23 パーストリーム ゲーエムベーハー データレコードを圧縮し圧縮されたデータレコードを処理するための方法及びシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860136A (en) * 1989-06-16 1999-01-12 Fenner; Peter R. Method and apparatus for use of associated memory with large key spaces
JP2000235551A (ja) * 1999-02-17 2000-08-29 Pfu Ltd データベース並列検索制御方法および記録媒体
US9477729B2 (en) * 2004-02-20 2016-10-25 Informatica Llc Domain based keyword search
CN1318974C (zh) * 2005-08-05 2007-05-30 北京九州汇宝软件有限公司 数据库备份数据的压缩和查询方法
US8589357B2 (en) * 2006-10-20 2013-11-19 Oracle International Corporation Techniques for automatically tracking and archiving transactional data changes
US8229902B2 (en) * 2006-11-01 2012-07-24 Ab Initio Technology Llc Managing storage of individually accessible data units
CN101676899A (zh) * 2008-09-18 2010-03-24 上海宝信软件股份有限公司 海量数据库记录的归档和查询方法
KR20110066041A (ko) * 2009-12-10 2011-06-16 송해종 3차원 가상현실 e-book 콘텐츠
JP5323806B2 (ja) * 2010-12-29 2013-10-23 ヤフー株式会社 インデックス生成装置及び方法
US20130013605A1 (en) * 2011-07-08 2013-01-10 Stanfill Craig W Managing Storage of Data for Range-Based Searching
US9305045B1 (en) * 2012-10-02 2016-04-05 Teradata Us, Inc. Data-temperature-based compression in a database system
US9442913B2 (en) * 2014-01-30 2016-09-13 International Business Machines Corporation Using parallel insert sub-ranges to insert into a column store
JP6273969B2 (ja) * 2014-03-28 2018-02-07 富士通株式会社 データ加工装置、情報処理装置、方法、およびプログラム
EP2937794B1 (en) * 2014-04-22 2016-08-17 DataVard GmbH Method and system for archiving digital data
CN104298726B (zh) * 2014-09-26 2018-07-03 惠州市亿能电子有限公司 一种基于数据库的bms数据存储系统及其方法
US10263908B1 (en) * 2015-12-09 2019-04-16 A9.Com, Inc. Performance management for query processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241377A (ja) * 2006-03-06 2007-09-20 Sony Corp 検索システム、撮像装置、データ保存装置、情報処理装置、撮像画像処理方法、情報処理方法、プログラム
JP2009533731A (ja) * 2006-04-07 2009-09-17 データ ストレージ グループ データ圧縮技術およびデータ格納技術
JP2013519141A (ja) * 2010-02-04 2013-05-23 パーストリーム ゲーエムベーハー データレコードを圧縮し圧縮されたデータレコードを処理するための方法及びシステム
KR20120140668A (ko) * 2010-03-12 2012-12-31 아르텍 컴퓨터 게엠베하 대용량 장기 아카이브의 생산 및 관리 방법
JP2012256144A (ja) * 2011-06-08 2012-12-27 Jfe Systems Inc データ管理保存システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3422205A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022520654A (ja) * 2020-01-06 2022-03-31 アーミク カンパニー,リミテッド データのハイブリッド保存を利用したデータアーカイブ方法およびシステム
JP7324471B2 (ja) 2020-01-06 2023-08-10 アーミク カンパニー,リミテッド データのハイブリッド保存を利用したデータアーカイブ方法およびシステム

Also Published As

Publication number Publication date
KR101656750B1 (ko) 2016-09-23
US11030172B2 (en) 2021-06-08
JP6598101B2 (ja) 2019-10-30
JP2019512124A (ja) 2019-05-09
AU2016394744A1 (en) 2018-08-30
EP3422205A4 (en) 2020-01-22
EP3422205A1 (en) 2019-01-02
US20190034466A1 (en) 2019-01-31
CN108604249A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
WO2017146337A1 (ko) 데이터베이스의 아카이빙 방법 및 장치, 아카이빙된 데이터베이스의 검색 방법 및 장치
WO2020101343A1 (ko) 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
WO2021141294A1 (ko) 데이터의 하이브리드 저장을 이용한 데이터 아카이빙 방법 및 시스템
JP6598101B2 (ja) インデックス情報を生成するデータベースのアーカイビング方法及び装置、インデックス情報を含むアーカイビングされたデータベースの検索方法及び装置
WO2023153821A1 (en) Method of compressing neural network model and electronic apparatus for performing the same
WO2010123168A1 (ko) 데이터베이스 관리 방법 및 시스템
WO2017213281A1 (ko) 빅데이터의 비식별화 처리 방법
WO2018004236A1 (ko) 개인정보의 비식별화 방법 및 장치
WO2020177376A1 (zh) 数据的提取方法、装置、终端及计算机可读存储介质
WO2012165709A1 (ko) 인스턴스 경로 탐색 및 시각화 방법 및 장치
WO2021107211A1 (ko) 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템
WO2018101640A1 (ko) 데이터베이스 이중화 무중단 정합성 복구 기법
WO2017028573A1 (zh) 一种基于移动终端的图片信息处理的方法及系统
US11494093B2 (en) Method and apparatus for processing data of in-memory database
WO2013055083A1 (ko) 패킷 분류 방법 및 그 장치
WO2011020360A1 (zh) 一种文档的存储方法
WO2025244498A1 (ko) 언어 모델을 이용한 지식 베이스 구축 방법, 지식 베이스를 이용한 응답 제공 방법 및 이를 수행하는 컴퓨팅 장치
WO2011068315A2 (ko) 최대 개념강도 인지기법을 이용한 최적의 데이터베이스 선택장치 및 그 방법
WO2021141292A1 (ko) 하이브리드 클라우드 기반의 실시간 데이터 아카이빙 방법 및 시스템
WO2018043843A1 (ko) 낮은 데이터 중복으로 빠른 쿼리 처리를 지원하는 관계형 데이터베이스 저장 시스템, 저장 방법 및 관계형 데이터베이스 저장 방법에 기초한 쿼리를 처리하는 방법
WO2019245247A1 (en) Method for object management using trace identifier, apparatus for the same, computer program for the same, and recording medium storing computer program thereof
WO2018191889A1 (zh) 照片处理方法、装置及计算机设备
WO2012165708A1 (ko) 온톨로지 스키마 기반 인스턴스 경로 탐색 방법 및 장치
WO2016173366A1 (zh) 基于求交算法的搜索方法、搜索系统及存储介质
WO2024205187A2 (ko) 배터리 싸이클러에서 생성된 이진 파일을 텍스트 파일로 변환하는 시스템 및 방법

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018543238

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2016394744

Country of ref document: AU

Date of ref document: 20161013

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2016891742

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016891742

Country of ref document: EP

Effective date: 20180926

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16891742

Country of ref document: EP

Kind code of ref document: A1