WO2015178554A1 - Apparatus and method for managing data source using compression scheme - Google Patents
Apparatus and method for managing data source using compression scheme Download PDFInfo
- Publication number
- WO2015178554A1 WO2015178554A1 PCT/KR2014/011164 KR2014011164W WO2015178554A1 WO 2015178554 A1 WO2015178554 A1 WO 2015178554A1 KR 2014011164 W KR2014011164 W KR 2014011164W WO 2015178554 A1 WO2015178554 A1 WO 2015178554A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data sources
- data source
- hash table
- cache
- query
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Definitions
- the present invention relates to a data source management apparatus and method using a compression scheme that can overcome the spatial limitations of the existing cache memory and manage data based on the frequency of use of the data stored in the cache.
- SQL Structrued Query Languages
- the data source which is usually the response value after sending the structured query
- cached and sometimes supported by the database This method has a very large amount of data and, in the case of many Data Manipulation Languages (DMLs), is deleted from the cache, which results in lower performance.
- DMLs Data Manipulation Languages
- every time a request is made from the database the database cannot handle the traffic and there is a high risk of failure.
- the inquiry is performed using a caching technique. If the query target is not in cache memory at the time of initial query, the caching technique stores the data source retrieved and read from the database in cache memory, and then in the cache memory without querying the database again if the query is for the same structured query. The method of reading a data source.
- Prior art documents include Korean Laid-Open Patent Publication No. 10-2006-0117006, published May 28, 2008 (name: memory and method for compressing and managing data).
- An object of the present invention is to provide a quick response to a structured query query request by keeping data as much as possible in the cache server by compressing the data sources based on frequency of use and storing them in the cache server.
- an object of the present invention is to manage the data sources maintained in the cache server according to the frequency of use of the data source, thereby increasing the efficiency of the database management system by maintaining the frequently used or recently used data sources in the cache server for as long as possible. It is to let.
- the query processing unit may process the structured query query request using a database according to whether a data source corresponding to the structured query query request among the data sources exists in the cache using the hash table. have.
- the query processing unit when the data source corresponding to the structured query query request does not exist in the cache, the query processing unit provides the user with a database block corresponding to the structured query query request using the database.
- the database block may be stored in the cache in a form corresponding to the data sources.
- the query processing unit may decompress the data source and provide it to the user according to whether the data source corresponding to the structured query query request is included in the compressed data sources.
- the data source management apparatus may further include a data source decompression unit for decompressing the compressed data sources.
- the compression target calculation unit uses the remainder except for the upper data sources on the hash table corresponding to a predetermined percentage of the total number of inquiries among the data sources based on the hash table arranged in the order of the high inquiries.
- the number of compressed data sources can be determined.
- the data source management apparatus may further include a data source updater for deleting at least one data source of which the number of inquiries has not increased during the predetermined period of the data sources from the cache.
- the hash table generation unit may update the hash table for each predetermined period based on the at least one structured query query request requested during the predetermined period.
- the compression target calculation unit may determine the number of the compressed data sources by using the number of inquiries of the updated hash table every predetermined period.
- the hash table generator may search for and change data sources corresponding to the structured query table among the data sources by using a table name among the fields.
- the data source management method comprises the steps of: generating a hash table storing each of the elements corresponding to the data sources divided into a plurality of fields; Determining the number of compressed data sources of the data sources to be compressed using the number of lookups among the fields; Compressing only the compressed data sources of the data sources; Processing the user's structured query query request using a cache in which the hash table and the data sources are stored.
- the processing may include determining whether a data source corresponding to the structured query query request among the data sources exists in the cache using the hash table, and the database according to the determination result. Using the structured query query request can be processed.
- the processing may include providing the user with a database block corresponding to the structured query query request using the database when the data source does not exist in the cache.
- the database block may be stored in the cache in a form corresponding to the data sources.
- the processing may decompress the data source and provide it to the user depending on whether the data source corresponding to the structured query query request is included in the compressed data sources.
- the data source management method may further include decompressing the compressed data sources.
- the determining may be performed based on the hash table sorted in order of increasing number of lookups, using the remainder except for upper data sources on the hash table corresponding to a predetermined percentage of the total number of lookups among the data sources.
- the number of compressed data sources can be determined.
- the data source management method may further include the step of deleting at least one data source of the data source for which the number of inquiries has not increased during a predetermined period of time from the cache.
- the generating may update the hash table for each predetermined period based on the at least one structured query query request requested during the predetermined period.
- the determining may determine the number of the compressed data sources by using the number of inquiries of the updated hash table every predetermined period of time.
- a data source compression scheme is used to maintain a large amount of data sources in the cache server, thereby providing a faster response when requesting a structured query query.
- the present invention can determine the data sources maintained in the cache server based on the frequency of use of the data sources, thereby maintaining the frequently used or recently used data sources in the cache server to quickly process structured query queries.
- FIG. 1 is a block diagram illustrating an apparatus for managing a data source according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a data source management system according to an embodiment of the present invention.
- FIG. 3 illustrates a hash table according to an embodiment of the present invention.
- FIG. 4 is a view showing a reverse index table that can be searched by the table name of the hash table according to an embodiment of the present invention.
- FIG. 5 is a flowchart illustrating a data source management method according to an embodiment of the present invention.
- FIG. 1 is a block diagram illustrating an apparatus for managing a data source according to an embodiment of the present invention.
- the data source management apparatus 100 may include a hash table generator 110, a compression target calculation unit 120, a data source compressor 130, and a query processor 140. ), A data source decompressor 150, and a data source manager 160.
- the hash table generator 110 may generate a hash table in which each element corresponding to the data sources is divided into a plurality of fields and stored.
- Hash table can generate structured query text based on key value generated by using hash function of MD5 or SHA1 in order to show fast search speed when searching the data source.
- the hash table may be displayed in a sorted order based on the number of inquiries.
- the hash table may be updated for each predetermined period. For example, when the preset period is set to 24 hours, the number of inquiries of the corresponding data source may be increased according to the structured query query request requested for 24 hours.
- the sort order of the data sources in the hash table may be changed according to the changed lookup frequency, and the compression state of each of the data sources may also be changed.
- the data sources corresponding to the structured query table among the data sources may be searched and changed using the table name among the fields.
- a reverse index table by analyzing structured queries using table names as key values.
- Such a reverse index table may be used to delete from the cache when a data manipulation word (DML) occurs in the structured query table.
- DML data manipulation word
- the compression target calculator 120 may determine the number of compressed data sources to be compressed among the data sources by using the number of inquiries among the fields. By determining compressed data sources using the number of inquiries, data sources with high usage frequency can be kept uncompressed, and data sources with relatively low usage frequency can be compressed and stored.
- the number of compressed data sources is determined by using the rest of the data sources except the top data sources on the hash table corresponding to a predetermined percentage of the total number of queries based on the hash table sorted in ascending order.
- the number of compressed data sources may be determined using lower data sources except for data sources having a rank of 80 percent of the total number of queries by summing the number of inquiries in the sort order of the hash table. The reason for applying these criteria is that the top 20 percent of top data sources, which are often used, can generate 80 percent of traffic.
- the number of compressed data sources may be determined using the number of times the hash table is updated for each preset period. For example, the number of retrieval on the hash table may be changed by the structured query retrieval request requested for a predetermined period. Accordingly, the number of compressed data sources determined by using the hash table query count may also be newly determined by using the hash table updated in each preset period.
- the data source compressor 130 may compress only compressed data sources among the data sources.
- the data sources may be compressed according to the number of compressed data sources determined by the compression target calculator 120 among the data sources stored in the cache.
- the reason for compressing and storing the data source may be to increase the speed of the structured data response by storing the maximum data source in the cache.
- the reason for using the compression method is to compress and decompress the data source with a central processing unit (CPU) rather than inputting and outputting a disk or querying a database. Because you can do it faster.
- CPU central processing unit
- the query processor 140 may process the structured query query request of the user using a cache in which a hash table and data sources are stored.
- a data source corresponding to the structured query query request may be searched using a hash table, and the searched data source may be provided to the user from the cache.
- the structured query query request may be processed using a database according to whether a data source corresponding to the structured query query request among data sources exists in the cache using a hash table. For example, if a data source corresponding to the structured query query request does not exist among the data sources stored in the cache, the data corresponding to the structured query query request may be queried from the database.
- the database block is provided to the user using the database, and the database block is provided to the data sources. It can be cached in the corresponding form.
- a structured query query request that has been requested once may occur several times at the same time. Therefore, if a data source that was not in the cache is requested, the database block can be provided through the database and stored in the form of a data source in the cache so that the next time the same query request occurs, it can be quickly responded. have.
- the data source decompressor 150 may decompress the compressed data sources.
- the data source decompressing unit 150 may decompress the data source, which is previously stored as the compressed data source, in the decompressed state according to the hash table updated every predetermined period.
- the compressed data source may be decompressed and provided to the user.
- the data source updater 160 may delete at least one data source of which the number of inquiries has not increased during a predetermined period of the data sources from the cache. For example, data sources for which the number of inquiries fall within the lower 10 percent during the preset period or for which the number of inquiries have not increased during the predetermined period may be deleted from the cache.
- an expiration time is given to each data source, and data sources whose expiration time expires are deleted from the cache.
- this method can cause a large burden on the database because many data sources expire at the same time and a query is requested again using the database.
- similar problems may occur because similar usage patterns may occur.
- FIG. 2 is a diagram illustrating a data source management system according to an embodiment of the present invention.
- a data source management system may include a data source management apparatus 200, a cache 210, a database 220, and a structured query transmission server 230. .
- the data source management apparatus 200 may generate a hash table in which each element corresponding to the data sources is divided into a plurality of fields and stored.
- Hash table can generate structured query text based on key value generated by using hash function of MD5 or SHA1 in order to show fast search speed when searching the data source.
- the hash table may be displayed in a sorted order based on the number of inquiries.
- the hash table may be updated for each predetermined period. For example, when the preset period is set to 24 hours, the number of inquiries of the corresponding data source may be increased according to the structured query query request requested for 24 hours.
- the sort order of the data sources in the hash table may be changed according to the changed lookup frequency, and the compression state of each of the data sources may also be changed.
- the data sources corresponding to the structured query table among the data sources may be searched and changed using the table name among the fields.
- the reverse index table may be used to delete from the cache 210 when a data manipulation word (DML) occurs in the structured query table.
- DML data manipulation word
- the data source management apparatus 200 may determine the number of compressed data sources to be compressed among the data sources by using the number of inquiries among the fields. By determining compressed data sources using the number of inquiries, data sources with high usage frequency can be kept uncompressed, and data sources with relatively low usage frequency can be compressed and stored.
- the number of compressed data sources is determined by using the rest of the data sources except the top data sources on the hash table corresponding to a predetermined percentage of the total number of queries based on the hash table sorted in ascending order.
- the number of compressed data sources may be determined using lower data sources except for data sources having a rank of 80 percent of the total number of queries by summing the number of inquiries in the sort order of the hash table. The reason for applying these criteria is that the top 20 percent of top data sources, which are often used, can generate 80 percent of traffic.
- the number of compressed data sources may be determined using the number of times the hash table is updated for each preset period. For example, the number of retrieval on the hash table may be changed by the structured query retrieval request requested for a predetermined period. Accordingly, the number of compressed data sources determined by using the hash table query count may also be newly determined by using the hash table updated in each preset period.
- the data source management apparatus 200 may compress only compressed data sources among the data sources.
- the data sources may be compressed according to the number of compressed data sources determined by the compression target calculator 120 among the data sources stored in the cache 210.
- the reason for compressing and storing the data source may be to improve the speed of the structured data response by storing the maximum data source in the cache 210.
- the reason for using the compression method is that compressing and decompressing a data source with a central processing unit may speed up data processing rather than inputting and outputting a disk or querying a database 220. Because there is.
- when compressed information about 10 times larger than that of the existing data may be stored in the cache 210.
- the data source management apparatus 200 may process the structured query query request of the user using the cache 210 in which the hash table and the data sources are stored.
- a hash table may be used to search a data source corresponding to the structured query query request, and the queryed data source may be provided to the user from the cache 210.
- the structured query query request may be processed using the database 220 according to whether a data source corresponding to the structured query query request among data sources exists in the cache 210 using the hash table. For example, if no data source corresponding to the structured query query request exists among the data sources stored in the cache 210, the data corresponding to the structured query query request may be queried from the database 220.
- the database 220 is used to provide a user with a database block corresponding to the structured query query request.
- the block may be stored in the cache 210 in a form corresponding to the data sources.
- a structured query query request that has been requested once may occur several times at the same time. Therefore, if a data source that does not exist in the cache 210 is requested, the same inquiry request may be generated by providing the database block through the database 220 and storing the data in the cache 210 in the form of a data source. When you can respond quickly.
- the data source management apparatus 200 may decompress the compressed data sources.
- the data source decompressing unit 150 may decompress the data source, which is previously stored as the compressed data source, in the decompressed state according to the hash table updated every predetermined period.
- the compressed data source may be decompressed and provided to the user.
- the data source management apparatus 200 may delete from the cache 210 at least one data source whose number of inquiries has not increased during a predetermined period of data sources. For example, data sources for which the number of inquiries belong to the lower 10 percent during the predetermined period or for which the number of inquiries have not increased at all during the predetermined period may be deleted on the cache 210.
- an expiration time is given to each data source, so that data sources whose expiration time has expired are deleted from the cache 210.
- this method may cause a large burden on the database 220 because many data sources expire at the same time and a request is made again using the database 220.
- similar problems may occur because similar usage patterns may occur.
- Cache 210 may store data sources and a hash table.
- the data sources stored in the cache 210 may be data sources from which the structured query query request has been made at least once from the structured query transmission server 230.
- the reason for providing the data sources using the cache 210 is that, when a query request is made to the database 220 every time the structured query query request is made, the database 220 cannot handle the traffic and a failure may occur. Because there is. Therefore, in order to process the structured query query request by the structured query transmission server 230, it may be inquired whether a data source corresponding to the structured query query request is stored in the cache 210. At this time, the information of the data sources stored in the cache 210 can be inquired using a hash table. If the data source corresponding to the structured query query request does not exist in the cache 210, the database 220 may be queried to provide the corresponding database block to the structured query transmission server 230.
- the database 220 may store data for processing the structured query query request in the form of a database block.
- the structured query transmission server 230 may deliver the structured query query request requested by the user to the cache.
- a user can quickly search and provide a data source for a structured query word desired by a user.
- FIG. 3 illustrates a hash table according to an embodiment of the present invention.
- the hash table 310 divides and stores the element 330 of the data source into a plurality of columns 320.
- the type of the column 320 is a Rank for sorting the Touch Count, which is the number of hits, as a rank, a Key value which is a value created using a hash function such as MD5 or SHA1, and the structured query word.
- Touch Count which shows the number of times of searching
- Update Time which records the change time of data source
- Compress SQL which shows binary string compressed data source.
- the hash table 310 may be used to query the data sources stored in the cache, and the frequently used data sources may be kept in the cache for a long time by managing the data sources to be kept in the cache using the number of inquiries.
- FIG. 4 is a view showing a reverse index table that can be searched by the table name of the hash table according to an embodiment of the present invention.
- the reverse index table 410 that can be searched by the table name of the hash table according to an embodiment of the present invention uses the value of the table name, which is one of the columns of the hash table, of the data sources. You can sort the key values.
- the reverse index table 410 may be used to delete data sources corresponding to the structured query table from the cache when data manipulation occurs in a specific structured query table.
- FIG. 5 is a flowchart illustrating a data source management method according to an embodiment of the present invention.
- the data source management method may generate a hash table in which each element corresponding to the data sources is divided into a plurality of fields and stored (S510).
- Hash table can generate structured query text based on key value generated by using hash function of MD5 or SHA1 in order to show fast search speed when searching the data source.
- the hash table may be displayed in a sorted order based on the number of inquiries.
- the hash table may be updated for each predetermined period. For example, when the preset period is set to 24 hours, the number of inquiries of the corresponding data source may be increased according to the structured query query request requested for 24 hours.
- the sort order of the data sources in the hash table may be changed according to the changed lookup frequency, and the compression state of each of the data sources may also be changed.
- the data sources corresponding to the structured query table among the data sources may be searched and changed using the table name among the fields.
- a reverse index table by analyzing structured queries using table names as key values.
- Such a reverse index table may be used to delete from the cache when a data manipulation word (DML) occurs in the structured query table.
- DML data manipulation word
- the data source management method may determine the number of compressed data sources to be compressed among the data sources by using the number of inquiries among the fields (S520). By determining compressed data sources using the number of inquiries, data sources with high usage frequency can be kept uncompressed, and data sources with relatively low usage frequency can be compressed and stored.
- the number of compressed data sources is determined by using the rest of the data sources except the top data sources on the hash table corresponding to a predetermined percentage of the total number of queries based on the hash table sorted in ascending order.
- the number of compressed data sources may be determined using lower data sources except for data sources having a rank of 80 percent of the total number of queries by summing the number of inquiries in the sort order of the hash table. The reason for applying these criteria is that the top 20 percent of top data sources, which are often used, can generate 80 percent of traffic.
- the number of compressed data sources may be determined using the number of times the hash table is updated for each preset period. For example, the number of retrieval on the hash table may be changed by the structured query retrieval request requested for a predetermined period. Accordingly, the number of compressed data sources determined by using the hash table query count may also be newly determined by using the hash table updated in each preset period.
- the data source management method may compress only compressed data sources among the data sources (S530).
- the data sources may be compressed according to the number of compressed data sources determined by the compression target calculation unit among the data sources stored in the cache.
- the reason for compressing and storing the data source may be to increase the speed of the structured data response by storing the maximum data source in the cache.
- the compression method is used because compressing and decompressing a data source with a central processing unit may speed up data processing rather than inputting and outputting a disk or querying a database. .
- when compressed about 10 times more information can be stored in the cache.
- the data source management method may process a structured query query request of a user by using a cache in which a hash table and data sources are stored (S540).
- a data source corresponding to the structured query query request may be searched using a hash table, and the searched data source may be provided to the user from the cache.
- the structured query query request may be processed using a database according to whether a data source corresponding to the structured query query request among data sources exists in the cache using a hash table. For example, if a data source corresponding to the structured query query request does not exist among the data sources stored in the cache, the data corresponding to the structured query query request may be queried from the database.
- the database block is provided to the user using the database, and the database block is provided to the data sources. It can be cached in the corresponding form.
- a structured query query request that has been requested once may occur several times at the same time. Therefore, if a data source that was not in the cache is requested, the database block can be provided through the database and stored in the form of a data source in the cache so that the next time the same query request occurs, it can be quickly responded. have.
- the data source management method may decompress compressed data sources.
- the data source decompressing unit 150 may decompress the data source, which is previously stored as the compressed data source, in the decompressed state according to the hash table updated every predetermined period.
- the compressed data source may be decompressed and provided to the user.
- the data source management method may delete at least one data source of which the number of inquiries has not increased during a predetermined period of data sources from the cache. For example, data sources for which the number of inquiries fall within the lower 10 percent during the preset period or for which the number of inquiries have not increased during the predetermined period may be deleted from the cache.
- an expiration time is given to each data source, and data sources whose expiration time expires are deleted from the cache.
- this method can cause a large burden on the database because many data sources expire at the same time and a query is requested again using the database.
- similar problems may occur because similar usage patterns may occur.
- data sources are compressed and stored in a cache based on a frequency of use, and thus, a large amount of data can be kept in a cache to enable a rapid processing of a structured query query request.
- the data source management method can be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
- the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
- Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
- Magneto-optical media, and any type of hardware device specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
- Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.
- Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
- the data source management apparatus and method using the compression method according to the present invention are not limited to the configuration and method of the embodiments described as described above, but the embodiments may be modified in various ways. All or some of the embodiments may be selectively combined.
- a hash table is generated by dividing and storing each element corresponding to the data sources into a plurality of fields, and determining the number of compressed data sources to be compressed among the data sources by using the number of inquiries among the fields.
- only compressed data sources among data sources may be compressed, and a hash structure and a cache storing data sources may be used to process a user structured query query request.
- by maintaining the maximum amount of data sources in the cache server using the data source compression scheme it is possible to provide a faster response to the structured query query request while reducing the cost of expanding the cache server.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Disclosed is an apparatus and method for managing a data source using a compression scheme. The present invention can generate a hash table in which each of elements corresponding to data sources is divided into a plurality of fields and stored, determine the number of compression data sources to be compressed from among the data sources using the number of times of inquiries of the fields, compress only the compression data sources from among the data sources, and process a structured query language inquiring request of a user using a cache in which the hash table and the data sources are stored.
Description
본 발명은 기존의 캐시 메모리의 공간적 한계성을 극복하고 캐시에 저장된 데이터들의 사용빈도에 기반하여 데이터를 관리할 수 있는 압축 방식을 이용한 데이터 소스 관리 장치 및 방법에 관한 것이다.The present invention relates to a data source management apparatus and method using a compression scheme that can overcome the spatial limitations of the existing cache memory and manage data based on the frequency of use of the data stored in the cache.
본 발명은 2014년 05월 22일 출원된 한국특허출원 제10-2014-0061843호의 출원일의 이익을 주장하며, 그 내용 전부는 본 명세서에 포함된다.The present invention claims the benefit of the filing date of Korean Patent Application No. 10-2014-0061843, filed May 22, 2014, the entire contents of which are incorporated herein.
대형 트래픽 플랫폼의 경우에는 하루에도 수십에서 수백만 구조화 질의어(SQL; Structrued Query Language)들이 데이터 베이스로 전송된다. 이러한 구조화 질의어에 대해서 데이터 베이스에서는 동일한 구조화 질의어가 반복적으로 전송되는 경우, 이전에 전송했던 구조화 질의어 응답보다는 빠른 응답시간으로 반응하게 된다. 이는 데이터 베이스 블록이 구조화 질의어 전송시 데이터 베이스 서버 메모리(Database Server Memory)상에 캐시가 되기 때문이다. 하지만 DBMS(Database Management System)는 구조화 질의어에 대한 구문이나 의미 체크를 하게 되고, 옵티마이저(Optimizer)를 이용하여 구조화 질의어의 실행 계획을 최적화 하는 작업을 거치기 때문에 느려질 수 밖에 없다. On large traffic platforms, dozens or millions of Structrued Query Languages (SQL) are sent to the database every day. When the same structured query is repeatedly transmitted to the structured query, the database responds with a faster response time than the structured query response previously transmitted. This is because the database block is cached on the database server memory when the structured query is transmitted. However, the DBMS (Database Management System) checks the syntax or semantics of the structured query word, and it slows down because it optimizes the execution plan of the structured query word by using the optimizer.
이러한 작업들 때문에 보통 구조화 질의어 전송 후 응답 값인 데이터 소스를 캐시하기도 하며 이를 간혹 데이터 베이스에서 지원하기도 한다. 하지만 이러한 방법은 데이터 양이 매우 크고, 데이터 조작어(DML; Data Manipulation Language)가 많은 경우에 캐시에서 삭제되면서 오히려 성능이 더 떨어지게 된다. 또한 데이터 베이스에서 매번 요청하게 되면 데이터 베이스가 해당 트래픽을 감당하지 못하고 장애가 발생할 위험이 높아지게 된다. Because of these operations, the data source, which is usually the response value after sending the structured query, is cached and sometimes supported by the database. However, this method has a very large amount of data and, in the case of many Data Manipulation Languages (DMLs), is deleted from the cache, which results in lower performance. In addition, every time a request is made from the database, the database cannot handle the traffic and there is a high risk of failure.
이러한 데이터 베이스 트래픽을 줄이기 위해서 조회의 경우에는 캐싱(Caching) 기법을 사용하여 조회하게 된다. 캐싱 기법은 최초 조회 시 조회 대상이 캐시 메모리 상에 없으면 데이터 베이스에서 조회하여 읽어온 데이터 소스를 캐시 메모리 상에 저장하고, 이후 동일한 구조화 질의어에 대한 조회일 경우 다시 데이터 베이스를 조회하지 않고 캐시 메모리에서 데이터 소스를 읽어오는 방식이다.In order to reduce such database traffic, the inquiry is performed using a caching technique. If the query target is not in cache memory at the time of initial query, the caching technique stores the data source retrieved and read from the database in cache memory, and then in the cache memory without querying the database again if the query is for the same structured query. The method of reading a data source.
선행기술문헌으로는, 한국 공개 특허 제10-2006-0117006호, 2008년 5월 28일 공개 (명칭: 데이터를 압축하여 관리하는 메모리 및 그 방법)가 있다.Prior art documents include Korean Laid-Open Patent Publication No. 10-2006-0117006, published May 28, 2008 (name: memory and method for compressing and managing data).
본 발명의 목적은, 데이터 소스들을 사용 빈도를 기준으로 압축하여 캐시 서버에 저장함으로써, 최대한 많은 양의 데이터를 캐시 서버에 유지하여 구조화 질의어 조회요청에 대한 신속한 응답을 제공하는 것이다.An object of the present invention is to provide a quick response to a structured query query request by keeping data as much as possible in the cache server by compressing the data sources based on frequency of use and storing them in the cache server.
또한, 본 발명의 목적은 데이터 소스의 사용 빈도에 따라 캐시 서버에 유지되는 데이터 소스들을 관리함으로써, 자주 사용되거나 최근에 사용되었던 데이터 소스들을 캐시 서버에 최대한 오랫동안 유지시켜 데이터 베이스 관리 시스템의 효율을 상승시키는 것이다.In addition, an object of the present invention is to manage the data sources maintained in the cache server according to the frequency of use of the data source, thereby increasing the efficiency of the database management system by maintaining the frequently used or recently used data sources in the cache server for as long as possible. It is to let.
상기한 목적을 달성하기 위한 본 발명에 따른 데이터 소스 관리 장치는, 데이터 소스들에 상응하는 엘리먼트들 각각을 복수 개의 필드들로 나누어 저장한 해시 테이블을 생성하는 해시 테이블 생성부; 상기 필드들 중 조회 횟수를 이용하여 상기 데이터 소스들 중 압축될 압축 데이터 소스들의 개수를 결정하는 압축 대상 산정부; 상기 데이터 소스들 중 상기 압축 데이터 소스들만을 압축하는 데이터 소스 압축부; 및 상기 해시 테이블 및 상기 데이터 소스들이 저장된 캐시를 이용하여 사용자의 구조화 질의어 조회요청을 처리하는 질의 처리부를 포함한다.The data source management apparatus according to the present invention for achieving the above object comprises a hash table generation unit for generating a hash table in which each of the elements corresponding to the data sources are divided into a plurality of fields; A compression target calculation unit for determining the number of compressed data sources to be compressed among the data sources using the number of inquiries among the fields; A data source compressor for compressing only the compressed data sources of the data sources; And a query processing unit configured to process a structured query query request of a user using a cache in which the hash table and the data sources are stored.
이 때, 질의 처리부는 상기 해시 테이블을 이용하여 상기 데이터 소스들 중 상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 캐시에 존재하는지 여부에 따라 데이터 베이스를 이용하여 상기 구조화 질의어 조회요청을 처리할 수 있다.In this case, the query processing unit may process the structured query query request using a database according to whether a data source corresponding to the structured query query request among the data sources exists in the cache using the hash table. have.
이 때, 질의 처리부는 상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 캐시에 존재하지 않는 경우에, 상기 데이터 베이스를 이용하여 상기 구조화 질의어 조회요청에 상응하는 데이터 베이스 블록을 상기 사용자에게 제공하고, 상기 데이터 베이스 블록을 상기 데이터 소스들에 상응하는 형태로 상기 캐시에 저장할 수 있다.In this case, when the data source corresponding to the structured query query request does not exist in the cache, the query processing unit provides the user with a database block corresponding to the structured query query request using the database. The database block may be stored in the cache in a form corresponding to the data sources.
이 때, 질의 처리부는 상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 압축 데이터 소스들에 포함되는지 여부에 따라 상기 데이터 소스의 압축을 해제하여 상기 사용자에게 제공할 수 있다.In this case, the query processing unit may decompress the data source and provide it to the user according to whether the data source corresponding to the structured query query request is included in the compressed data sources.
이 때, 데이터 소스 관리 장치는 상기 압축 데이터 소스들의 압축을 해제하는 데이터 소스 압축 해제부를 더 포함할 수 있다.At this time, the data source management apparatus may further include a data source decompression unit for decompressing the compressed data sources.
이 때, 압축 대상 산정부는 상기 조회 횟수가 높은 순서로 정렬된 상기 해시 테이블을 기준으로, 상기 데이터 소스들 중 전체 조회 횟수의 기설정된 퍼센트에 상응하는 상기 해시 테이블 상의 상위 데이터 소스들을 제외한 나머지를 이용하여 상기 압축 데이터 소스들의 개수를 결정할 수 있다.At this time, the compression target calculation unit uses the remainder except for the upper data sources on the hash table corresponding to a predetermined percentage of the total number of inquiries among the data sources based on the hash table arranged in the order of the high inquiries. The number of compressed data sources can be determined.
이 때, 데이터 소스 관리 장치는 상기 데이터 소스들 중 기설정된 기간 동안 상기 조회 횟수가 증가하지 않은 적어도 하나의 데이터 소스를 상기 캐시에서 삭제하는 데이터 소스 갱신부를 더 포함할 수 있다.In this case, the data source management apparatus may further include a data source updater for deleting at least one data source of which the number of inquiries has not increased during the predetermined period of the data sources from the cache.
이 때, 해시 테이블 생성부는 상기 기설정된 기간 동안 요청되는 적어도 하나의 상기 구조화 질의어 조회요청을 기반으로, 상기 기설정된 기간마다 상기 해시 테이블을 갱신할 수 있다.At this time, the hash table generation unit may update the hash table for each predetermined period based on the at least one structured query query request requested during the predetermined period.
이 때, 압축 대상 산정부는 상기 기설정된 기간마다 상기 갱신된 해시 테이블의 상기 조회 횟수를 이용하여 상기 압축 데이터 소스들의 개수를 결정할 수 있다.At this time, the compression target calculation unit may determine the number of the compressed data sources by using the number of inquiries of the updated hash table every predetermined period.
이 때, 해시 테이블 생성부는 구조화 질의어 테이블이 변경되었을 경우에, 상기 필드들 중 테이블 이름을 이용하여 상기 데이터 소스들 중 상기 구조화 질의어 테이블에 상응하는 데이터 소스들을 조회하여 변경할 수 있다.In this case, when the structured query table is changed, the hash table generator may search for and change data sources corresponding to the structured query table among the data sources by using a table name among the fields.
또한, 본 발명에 따른 데이터 소스 관리 방법은, 데이터 소스들에 상응하는 엘리먼트들 각각을 복수 개의 필드들로 나누어 저장한 해시 테이블을 생성하는 단계; 상기 필드들 중 조회 횟수를 이용하여 상기 데이터 소스들 중 압축될 압축 데이터 소스들의 개수를 결정하는 단계; 상기 데이터 소스들 중 상기 압축 데이터 소스들만을 압축하는 단계; 상기 해시 테이블 및 상기 데이터 소스들이 저장된 캐시를 이용하여 사용자의 구조화 질의어 조회 요청을 처리하는 단계를 포함한다.In addition, the data source management method according to the present invention comprises the steps of: generating a hash table storing each of the elements corresponding to the data sources divided into a plurality of fields; Determining the number of compressed data sources of the data sources to be compressed using the number of lookups among the fields; Compressing only the compressed data sources of the data sources; Processing the user's structured query query request using a cache in which the hash table and the data sources are stored.
이 때, 처리하는 단계는 상기 해시 테이블을 이용하여 상기 데이터 소스들 중 상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 캐시에 존재하는지 여부를 판단하는 단계를 포함하고, 상기 판단 결과에 따라 데이터 베이스를 이용하여 상기 구조화 질의어 조회요청을 처리할 수 있다. In this case, the processing may include determining whether a data source corresponding to the structured query query request among the data sources exists in the cache using the hash table, and the database according to the determination result. Using the structured query query request can be processed.
이 때, 처리하는 단계는 상기 판단 결과 상기 데이터 소스가 상기 캐시에 존재하지 않는 경우에, 상기 데이터 베이스를 이용하여 상기 구조화 질의어 조회요청에 상응하는 데이터 베이스 블록을 상기 사용자에게 제공하는 단계를 포함하고, 상기 데이터 베이스 블록을 상기 데이터 소스들에 상응하는 형태로 상기 캐시에 저장할 수 있다. In this case, the processing may include providing the user with a database block corresponding to the structured query query request using the database when the data source does not exist in the cache. The database block may be stored in the cache in a form corresponding to the data sources.
이 때, 처리하는 단계는 상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 압축 데이터 소스들에 포함되는지 여부에 따라 상기 데이터 소스의 압축을 해제하여 상기 사용자에게 제공할 수 있다.In this case, the processing may decompress the data source and provide it to the user depending on whether the data source corresponding to the structured query query request is included in the compressed data sources.
이 때, 데이터 소스 관리 방법은 상기 압축 데이터 소스들의 압축을 해제하는 단계를 더 포함할 수 있다.In this case, the data source management method may further include decompressing the compressed data sources.
이 때, 결정하는 단계는 상기 조회 횟수가 높은 순서로 정렬된 상기 해시 테이블을 기준으로, 상기 데이터 소스들 중 전체 조회 횟수의 기설정된 퍼센트에 상응하는 상기 해시 테이블 상의 상위 데이터 소스들을 제외한 나머지를 이용하여 상기 압축 데이터 소스들의 개수를 결정할 수 있다.In this case, the determining may be performed based on the hash table sorted in order of increasing number of lookups, using the remainder except for upper data sources on the hash table corresponding to a predetermined percentage of the total number of lookups among the data sources. The number of compressed data sources can be determined.
이 때, 데이터 소스 관리 방법은 상기 데이터 소스들 중 기설정된 기간 동안 상기 조회 횟수가 증가하지 않은 적어도 하나의 데이터 소스를 상기 캐시에서 삭제하는 단계를 더 포함할 수 있다.At this time, the data source management method may further include the step of deleting at least one data source of the data source for which the number of inquiries has not increased during a predetermined period of time from the cache.
이 때, 생성하는 단계는 상기 기설정된 기간 동안 요청되는 적어도 하나의 상기 구조화 질의어 조회요청을 기반으로, 상기 기설정된 기간마다 상기 해시 테이블을 갱신할 수 있다.In this case, the generating may update the hash table for each predetermined period based on the at least one structured query query request requested during the predetermined period.
이 때, 결정하는 단계는 상기 기설정된 기간마다 상기 갱신된 해시 테이블의 상기 조회 횟수를 이용하여 상기 압축 데이터 소스들의 개수를 결정할 수 있다.In this case, the determining may determine the number of the compressed data sources by using the number of inquiries of the updated hash table every predetermined period of time.
본 발명에 따르면, 데이터 소스 압축 방식을 이용하여 캐시 서버에 최대한 많은 양의 데이터 소스들을 유지시킴으로써, 구조화 질의어 조회요청 시 보다 신속한 응답을 제공할 수 있다.According to the present invention, a data source compression scheme is used to maintain a large amount of data sources in the cache server, thereby providing a faster response when requesting a structured query query.
또한, 본 발명은 데이터 소스들의 사용 빈도를 기반으로 캐시 서버에 유지되는 데이터 소스들을 결정함으로써, 자주 사용되거나 최근에 사용되었던 데이터 소스를 캐시 서버에 유지시켜 구조화 질의어 조회를 신속하게 처리할 수 있다.In addition, the present invention can determine the data sources maintained in the cache server based on the frequency of use of the data sources, thereby maintaining the frequently used or recently used data sources in the cache server to quickly process structured query queries.
도 1은 본 발명의 일실시예에 따른 데이터 소스 관리 장치를 나타낸 블록도이다.1 is a block diagram illustrating an apparatus for managing a data source according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 데이터 소스 관리 시스템을 나타낸 도면이다.2 is a diagram illustrating a data source management system according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 해시 테이블을 나타낸 도면이다.3 illustrates a hash table according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 해시 테이블의 테이블 이름으로 조회 가능한 리버스 인덱스 테이블을 나타낸 도면이다.4 is a view showing a reverse index table that can be searched by the table name of the hash table according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 데이터 소스 관리 방법을 나타낸 동작 흐름도이다.5 is a flowchart illustrating a data source management method according to an embodiment of the present invention.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in the following description and the accompanying drawings, detailed descriptions of well-known functions or configurations that may obscure the subject matter of the present invention will be omitted. In addition, it should be noted that like elements are denoted by the same reference numerals as much as possible throughout the drawings.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 또한 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.The terms or words used in the specification and claims described below should not be construed as being limited to ordinary or dictionary meanings, and the inventors are appropriate as concepts of terms for explaining their own invention in the best way. It should be interpreted as meanings and concepts in accordance with the technical spirit of the present invention based on the principle that it can be defined. Therefore, the embodiments described in the present specification and the configuration shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all of the technical ideas of the present invention, and various alternatives may be substituted at the time of the present application. It should be understood that there may be equivalents and variations. In addition, terms such as “first” and “second” are used to describe various components, and are only used to distinguish one component from another component and are not used to limit the components.
도 1은 본 발명의 일실시예에 따른 데이터 소스 관리 장치를 나타낸 블록도이다.1 is a block diagram illustrating an apparatus for managing a data source according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 데이터 소스 관리 장치(100)는 해시 테이블 생성부(110), 압축 대상 산정부(120), 데이터 소스 압축부(130), 질의 처리부(140), 데이터 소스 압축 해제부(150) 및 데이터 소스 관리부(160)를 포함할 수 있다.Referring to FIG. 1, the data source management apparatus 100 according to an exemplary embodiment of the present invention may include a hash table generator 110, a compression target calculation unit 120, a data source compressor 130, and a query processor 140. ), A data source decompressor 150, and a data source manager 160.
해시 테이블 생성부(110)는 데이터 소스들에 상응하는 엘리먼트들 각각을 복수 개의 필드들로 나누어 저장한 해시 테이블을 생성할 수 있다. 해시 테이블은 데이터 소스에 대한 조회 시 빠른 조회속도를 보이기 위해, 구조화 질의어 텍스트를 MD5 또는 SHA1의 해시 함수를 이용하여 생성한 키 값을 기반으로 생성할 수 있다. 또한, 해시 테이블은 조회 횟수를 기준으로 생성된 순위로 정렬되어 나타낼 수 있다.The hash table generator 110 may generate a hash table in which each element corresponding to the data sources is divided into a plurality of fields and stored. Hash table can generate structured query text based on key value generated by using hash function of MD5 or SHA1 in order to show fast search speed when searching the data source. In addition, the hash table may be displayed in a sorted order based on the number of inquiries.
이 때, 기설정된 기간 동안 요청되는 적어도 하나의 구조화 질의어 조회 요청을 기반으로, 기설정된 기간마다 해시 테이블을 갱신할 수 있다. 예를 들어, 기설정된 기간을 24시간으로 설정하였을 때, 24시간 동안 요청되는 구조화 질의어 조회요청에 따라 각각 상응하는 데이터 소스의 조회 횟수를 상승시킬 수 있다. 이렇게 변경된 조회 횟수에 따라서 해시 테이블 내에서 데이터 소스들의 정렬 순서가 변경될 수 있고, 데이터 소스들 각각에 대한 압축 상태도 변경될 수도 있다.At this time, based on at least one structured query query request requested for a predetermined period, the hash table may be updated for each predetermined period. For example, when the preset period is set to 24 hours, the number of inquiries of the corresponding data source may be increased according to the structured query query request requested for 24 hours. The sort order of the data sources in the hash table may be changed according to the changed lookup frequency, and the compression state of each of the data sources may also be changed.
이 때, 구조화 질의어 테이블이 변경되었을 경우에, 필드들 중 테이블 이름을 이용하여 데이터 소스들 중 구조화 질의어 테이블에 상응하는 데이터 소스들을 조회하여 변경할 수 있다. 예를 들어, 테이블 이름을 키 값으로 구조화 질의어를 분석하여 리버스 인덱스 테이블을 구성할 수 있다. 이와 같은 리버스 인덱스 테이블은 구조화 질의어 테이블에 데이터 조작어(DML)가 발생하는 경우 캐시에서 삭제하기 위한 용도로 사용될 수 있다. In this case, when the structured query table is changed, the data sources corresponding to the structured query table among the data sources may be searched and changed using the table name among the fields. For example, you can construct a reverse index table by analyzing structured queries using table names as key values. Such a reverse index table may be used to delete from the cache when a data manipulation word (DML) occurs in the structured query table.
압축 대상 산정부(120)는 필드들 중 조회 횟수를 이용하여 데이터 소스들 중 압축될 압축 데이터 소스들의 개수를 결정할 수 있다. 조회 횟수를 이용하여 압축 데이터 소스들을 결정함으로써, 사용빈도가 높은 데이터 소스들은 압축하지 않은 상태로 유지하고 상대적으로 사용빈도가 낮은 데이터 소스들을 압축하여 저장할 수 있다. The compression target calculator 120 may determine the number of compressed data sources to be compressed among the data sources by using the number of inquiries among the fields. By determining compressed data sources using the number of inquiries, data sources with high usage frequency can be kept uncompressed, and data sources with relatively low usage frequency can be compressed and stored.
이 때, 조회 횟수가 높은 순서로 정렬된 해시 테이블을 기준으로, 데이터 소스들 중 전체 조회 횟수의 기설정된 퍼센트에 상응하는 해시 테이블 상의 상위 데이터 소스들을 제외한 나머지를 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 예를 들어, 해시 테이블의 정렬 순으로 조회 횟수를 합산하여, 전체 조회 횟수의 80퍼센트가 되는 순위의 데이터 소스까지를 제외한 하위 데이터 소스들을 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 이와 같은 기준을 적용하는 이유는 대체로 자주 사용되는 상위 20퍼센트의 상위 데이터 소스들이 80퍼센트의 트래픽을 발생시킬 수 있기 때문이다.In this case, the number of compressed data sources is determined by using the rest of the data sources except the top data sources on the hash table corresponding to a predetermined percentage of the total number of queries based on the hash table sorted in ascending order. Can be. For example, the number of compressed data sources may be determined using lower data sources except for data sources having a rank of 80 percent of the total number of queries by summing the number of inquiries in the sort order of the hash table. The reason for applying these criteria is that the top 20 percent of top data sources, which are often used, can generate 80 percent of traffic.
이 때, 기설정된 기간마다 갱신된 해시 테이블의 조회 횟수를 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 예를 들어, 기설정된 기간 동안 요청되는 구조화 질의어 조회요청에 의해 해시 테이블 상의 조회 횟수가 변경될 수 있다. 따라서, 해시 테이블의 조회 횟수를 이용하여 결정되는 압축 데이터 소스들의 개수도 기설정된 기간마다 갱신된 해시 테이블의 조회 횟수를 이용하여 새롭게 결정될 수 있다.In this case, the number of compressed data sources may be determined using the number of times the hash table is updated for each preset period. For example, the number of retrieval on the hash table may be changed by the structured query retrieval request requested for a predetermined period. Accordingly, the number of compressed data sources determined by using the hash table query count may also be newly determined by using the hash table updated in each preset period.
데이터 소스 압축부(130)는 데이터 소스들 중 압축 데이터 소스들만을 압축할 수 있다. 캐시에 저장되어 있는 데이터 소스들 중 압축 대상 산정부(120)에서 결정된 압축 데이터 소스들의 개수에 상응하게 데이터 소스들을 압축할 수 있다. 데이터 소스를 압축하여 저장하는 이유는 캐시에 최대한의 데이터 소스를 저장하도록 하여 구조화 데이터 응답의 속도를 향상시키기 위함일 수 있다. 또한, 압축 방식을 사용하는 이유는 디스크를 이용하여 입력 및 출력하는 방식이나 데이터 베이스를 조회하는 방식보다는 중앙 처리 장치(CPU; Central Processing Unit)로 데이터 소스를 압축 및 해제를 수행하는 것이 데이터 처리를 더 빠르게 할 수 있기 때문이다. 또한, 압축 시 기존 대비 10배 가량의 정보를 캐시에 저장할 수 있다.The data source compressor 130 may compress only compressed data sources among the data sources. The data sources may be compressed according to the number of compressed data sources determined by the compression target calculator 120 among the data sources stored in the cache. The reason for compressing and storing the data source may be to increase the speed of the structured data response by storing the maximum data source in the cache. In addition, the reason for using the compression method is to compress and decompress the data source with a central processing unit (CPU) rather than inputting and outputting a disk or querying a database. Because you can do it faster. In addition, when compressed, about 10 times more information can be stored in the cache.
질의 처리부(140)는 해시 테이블 및 데이터 소스들이 저장된 캐시를 이용하여 사용자의 구조화 질의어 조회요청을 처리할 수 있다. 사용자에 의해 특정 구조화 질의어 조회요청이 접수되는 경우, 해시 테이블을 이용하여 해당 구조화 질의어 조회요청에 상응하는 데이터 소스를 조회하고, 조회된 데이터 소스를 캐시로부터 사용자에게 제공할 수 있다.The query processor 140 may process the structured query query request of the user using a cache in which a hash table and data sources are stored. When a specific structured query query request is received by the user, a data source corresponding to the structured query query request may be searched using a hash table, and the searched data source may be provided to the user from the cache.
이 때, 해시 테이블을 이용하여 데이터 소스들 중 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시에 존재하는지 여부에 따라 데이터 베이스를 이용하여 구조화 질의어 조회요청을 처리할 수 있다. 예를 들어, 캐시에 저장된 데이터 소스들 중에 구조화 질의어 조회요청에 상응하는 데이터 소스가 존재하지 않는다면, 데이터 베이스에서 구조화 질의어 조회요청에 상응하는 데이터를 조회할 수 있다.In this case, the structured query query request may be processed using a database according to whether a data source corresponding to the structured query query request among data sources exists in the cache using a hash table. For example, if a data source corresponding to the structured query query request does not exist among the data sources stored in the cache, the data corresponding to the structured query query request may be queried from the database.
이 때, 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시에 존재하지 않는 경우에, 데이터 베이스를 이용하여 구조화 질의어 조회요청에 상응하는 데이터 베이스 블록을 사용자에게 제공하고, 데이터 베이스 블록을 데이터 소스들에 상응하는 형태로 캐시에 저장할 수 있다. 일반적으로 한번 요청되었던 구조화 질의어 조회요청은 같은 시기에 여러 번 조회요청이 발생할 수 있다. 따라서, 캐시에 존재하지 않던 데이터 소스가 요청되었다면, 데이터 베이스를 통해 데이터 베이스 블록을 제공한 뒤 캐시에 데이터 소스의 형태로 저장함으로써 다음에 같은 조회요청이 발생하였을 때 신속하게 응답할 수 있도록 할 수 있다.At this time, if a data source corresponding to the structured query query request does not exist in the cache, the database block is provided to the user using the database, and the database block is provided to the data sources. It can be cached in the corresponding form. In general, a structured query query request that has been requested once may occur several times at the same time. Therefore, if a data source that was not in the cache is requested, the database block can be provided through the database and stored in the form of a data source in the cache so that the next time the same query request occurs, it can be quickly responded. have.
데이터 소스 압축 해제부(150)는 압축 데이터 소스들의 압축을 해제할 수 있다. 예를 들어, 기설정된 기간마다 갱신되는 해시 테이블에 따라 기존에 압축 데이터 소스로 저장되었던 데이터 소스를 압축 해제상태로 저장할 때 데이터 소스 압축 해제부(150)를 이용하여 압축을 해제할 수 있다. 또한, 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시에 저장된 압축 데이터 소스일 경우에도 해당 압축 데이터 소스의 압축을 해제한 뒤 사용자에게 제공할 수 있다.The data source decompressor 150 may decompress the compressed data sources. For example, the data source decompressing unit 150 may decompress the data source, which is previously stored as the compressed data source, in the decompressed state according to the hash table updated every predetermined period. In addition, even when the data source corresponding to the structured query query request is a compressed data source stored in the cache, the compressed data source may be decompressed and provided to the user.
데이터 소스 갱신부(160)는 데이터 소스들 중 기설정된 기간 동안 조회 횟수가 증가하지 않은 적어도 하나의 데이터 소스를 캐시에서 삭제할 수 있다. 예를 들어, 기설정된 기간 동안 조회 횟수가 하위 10퍼센트에 속하거나, 기설정된 기간 동안 조회 횟수가 전혀 증가하지 않은 데이터 소스들은 캐시 상에서 삭제할 수 있다. 일반적으로 캐시 상에서 데이터 소스를 관리할 때에는 각각의 데이터 소스들마다 만료 시간을 부여하여, 만료 시간이 지난 데이터 소스들은 캐시에서 삭제되는 방식을 이용하였다. 그러나 이러한 방식은 동시에 많은 데이터 소스들이 만료되고 다시 데이터 베이스를 이용하여 조회를 요청하는 경우가 발생하여 데이터 베이스에 큰 부담을 줄 수 있다. 또한, 자주 사용되는 데이터 소스들의 경우 비슷한 시간대의 사용 패턴이 발생할 수 있기 때문에 확률적으로도 상기와 같은 문제가 발생할 수 있다. The data source updater 160 may delete at least one data source of which the number of inquiries has not increased during a predetermined period of the data sources from the cache. For example, data sources for which the number of inquiries fall within the lower 10 percent during the preset period or for which the number of inquiries have not increased during the predetermined period may be deleted from the cache. In general, when managing data sources on a cache, an expiration time is given to each data source, and data sources whose expiration time expires are deleted from the cache. However, this method can cause a large burden on the database because many data sources expire at the same time and a query is requested again using the database. In addition, in the case of frequently used data sources, similar problems may occur because similar usage patterns may occur.
이와 같은 데이터 소스 관리 장치(100)를 이용하여 캐시에 저장되는 데이터 소스를 관리함으로써, 보다 많은 양의 데이터 소스들을 캐시에 저장하고 사용 빈도가 높은 데이터 소스들을 오랫동안 저장하여, 데이터 베이스 관리 시스템의 처리 속도를 향상시킬 수 있다.By managing the data sources stored in the cache by using the data source management apparatus 100 as described above, a larger amount of data sources are stored in the cache and frequently used data sources are stored for a long time, thereby processing the database management system. Can improve speed.
도 2는 본 발명의 일실시예에 따른 데이터 소스 관리 시스템을 나타낸 도면이다.2 is a diagram illustrating a data source management system according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일실시예에 따른 데이터 소스 관리 시스템은 데이터 소스 관리 장치(200), 캐시(210), 데이터 베이스(220) 및 구조화 질의어 전송 서버(230)를 포함할 수 있다. 2, a data source management system according to an embodiment of the present invention may include a data source management apparatus 200, a cache 210, a database 220, and a structured query transmission server 230. .
데이터 소스 관리 장치(200)는 데이터 소스들에 상응하는 엘리먼트들 각각을 복수 개의 필드들로 나누어 저장한 해시 테이블을 생성할 수 있다. 해시 테이블은 데이터 소스에 대한 조회 시 빠른 조회속도를 보이기 위해, 구조화 질의어 텍스트를 MD5 또는 SHA1의 해시 함수를 이용하여 생성한 키 값을 기반으로 생성할 수 있다. 또한, 해시 테이블은 조회 횟수를 기준으로 생성된 순위로 정렬되어 나타낼 수 있다.The data source management apparatus 200 may generate a hash table in which each element corresponding to the data sources is divided into a plurality of fields and stored. Hash table can generate structured query text based on key value generated by using hash function of MD5 or SHA1 in order to show fast search speed when searching the data source. In addition, the hash table may be displayed in a sorted order based on the number of inquiries.
이 때, 기설정된 기간 동안 요청되는 적어도 하나의 구조화 질의어 조회 요청을 기반으로, 기설정된 기간마다 해시 테이블을 갱신할 수 있다. 예를 들어, 기설정된 기간을 24시간으로 설정하였을 때, 24시간 동안 요청되는 구조화 질의어 조회요청에 따라 각각 상응하는 데이터 소스의 조회 횟수를 상승시킬 수 있다. 이렇게 변경된 조회 횟수에 따라서 해시 테이블 내에서 데이터 소스들의 정렬 순서가 변경될 수 있고, 데이터 소스들 각각에 대한 압축 상태도 변경될 수도 있다.At this time, based on at least one structured query query request requested for a predetermined period, the hash table may be updated for each predetermined period. For example, when the preset period is set to 24 hours, the number of inquiries of the corresponding data source may be increased according to the structured query query request requested for 24 hours. The sort order of the data sources in the hash table may be changed according to the changed lookup frequency, and the compression state of each of the data sources may also be changed.
이 때, 구조화 질의어 테이블이 변경되었을 경우에, 필드들 중 테이블 이름을 이용하여 데이터 소스들 중 구조화 질의어 테이블에 상응하는 데이터 소스들을 조회하여 변경할 수 있다. 예를 들어, 테이블 이름을 키 값으로 구조화 질의어를 분석하여 리버스 인덱스 테이블을 구성할 수 있다. 이와 같은 리버스 인덱스 테이블은 구조화 질의어 테이블에 데이터 조작어(DML)가 발생하는 경우 캐시(210)에서 삭제하기 위한 용도로 사용될 수 있다.In this case, when the structured query table is changed, the data sources corresponding to the structured query table among the data sources may be searched and changed using the table name among the fields. For example, you can construct a reverse index table by analyzing structured queries using table names as key values. The reverse index table may be used to delete from the cache 210 when a data manipulation word (DML) occurs in the structured query table.
또한, 데이터 소스 관리 장치(200)는 필드들 중 조회 횟수를 이용하여 데이터 소스들 중 압축될 압축 데이터 소스들의 개수를 결정할 수 있다. 조회 횟수를 이용하여 압축 데이터 소스들을 결정함으로써, 사용빈도가 높은 데이터 소스들은 압축하지 않은 상태로 유지하고 상대적으로 사용빈도가 낮은 데이터 소스들을 압축하여 저장할 수 있다.In addition, the data source management apparatus 200 may determine the number of compressed data sources to be compressed among the data sources by using the number of inquiries among the fields. By determining compressed data sources using the number of inquiries, data sources with high usage frequency can be kept uncompressed, and data sources with relatively low usage frequency can be compressed and stored.
이 때, 조회 횟수가 높은 순서로 정렬된 해시 테이블을 기준으로, 데이터 소스들 중 전체 조회 횟수의 기설정된 퍼센트에 상응하는 해시 테이블 상의 상위 데이터 소스들을 제외한 나머지를 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 예를 들어, 해시 테이블의 정렬 순으로 조회 횟수를 합산하여, 전체 조회 횟수의 80퍼센트가 되는 순위의 데이터 소스까지를 제외한 하위 데이터 소스들을 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 이와 같은 기준을 적용하는 이유는 대체로 자주 사용되는 상위 20퍼센트의 상위 데이터 소스들이 80퍼센트의 트래픽을 발생시킬 수 있기 때문이다.In this case, the number of compressed data sources is determined by using the rest of the data sources except the top data sources on the hash table corresponding to a predetermined percentage of the total number of queries based on the hash table sorted in ascending order. Can be. For example, the number of compressed data sources may be determined using lower data sources except for data sources having a rank of 80 percent of the total number of queries by summing the number of inquiries in the sort order of the hash table. The reason for applying these criteria is that the top 20 percent of top data sources, which are often used, can generate 80 percent of traffic.
이 때, 기설정된 기간마다 갱신된 해시 테이블의 조회 횟수를 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 예를 들어, 기설정된 기간 동안 요청되는 구조화 질의어 조회요청에 의해 해시 테이블 상의 조회 횟수가 변경될 수 있다. 따라서, 해시 테이블의 조회 횟수를 이용하여 결정되는 압축 데이터 소스들의 개수도 기설정된 기간마다 갱신된 해시 테이블의 조회 횟수를 이용하여 새롭게 결정될 수 있다.In this case, the number of compressed data sources may be determined using the number of times the hash table is updated for each preset period. For example, the number of retrieval on the hash table may be changed by the structured query retrieval request requested for a predetermined period. Accordingly, the number of compressed data sources determined by using the hash table query count may also be newly determined by using the hash table updated in each preset period.
또한, 데이터 소스 관리 장치(200)는 데이터 소스들 중 압축 데이터 소스들만을 압축할 수 있다. 캐시(210)에 저장되어 있는 데이터 소스들 중 압축 대상 산정부(120)에서 결정된 압축 데이터 소스들의 개수에 상응하게 데이터 소스들을 압축할 수 있다. 데이터 소스를 압축하여 저장하는 이유는 캐시(210)에 최대한의 데이터 소스를 저장하도록 하여 구조화 데이터 응답의 속도를 향상시키기 위함일 수 있다. 또한, 압축 방식을 사용하는 이유는 디스크를 이용하여 입력 및 출력하는 방식이나 데이터 베이스(220)를 조회하는 방식보다는 중앙 처리 장치로 데이터 소스를 압축 및 해제를 수행하는 것이 데이터 처리를 더 빠르게 할 수 있기 때문이다. 또한, 압축 시 기존 대비 10배 가량의 정보를 캐시(210)에 저장할 수 있다.In addition, the data source management apparatus 200 may compress only compressed data sources among the data sources. The data sources may be compressed according to the number of compressed data sources determined by the compression target calculator 120 among the data sources stored in the cache 210. The reason for compressing and storing the data source may be to improve the speed of the structured data response by storing the maximum data source in the cache 210. In addition, the reason for using the compression method is that compressing and decompressing a data source with a central processing unit may speed up data processing rather than inputting and outputting a disk or querying a database 220. Because there is. In addition, when compressed, information about 10 times larger than that of the existing data may be stored in the cache 210.
또한, 데이터 소스 관리 장치(200)는 해시 테이블 및 데이터 소스들이 저장된 캐시(210)를 이용하여 사용자의 구조화 질의어 조회요청을 처리할 수 있다. 사용자에 의해 특정 구조화 질의어 조회요청이 접수되는 경우, 해시 테이블을 이용하여 해당 구조화 질의어 조회요청에 상응하는 데이터 소스를 조회하고, 조회된 데이터 소스를 캐시(210)로부터 사용자에게 제공할 수 있다.In addition, the data source management apparatus 200 may process the structured query query request of the user using the cache 210 in which the hash table and the data sources are stored. When a specific structured query query request is received by the user, a hash table may be used to search a data source corresponding to the structured query query request, and the queryed data source may be provided to the user from the cache 210.
이 때, 해시 테이블을 이용하여 데이터 소스들 중 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시(210)에 존재하는지 여부에 따라 데이터 베이스(220)를 이용하여 구조화 질의어 조회요청을 처리할 수 있다. 예를 들어, 캐시(210)에 저장된 데이터 소스들 중에 구조화 질의어 조회요청에 상응하는 데이터 소스가 존재하지 않는다면, 데이터 베이스(220)에서 구조화 질의어 조회요청에 상응하는 데이터를 조회할 수 있다.In this case, the structured query query request may be processed using the database 220 according to whether a data source corresponding to the structured query query request among data sources exists in the cache 210 using the hash table. For example, if no data source corresponding to the structured query query request exists among the data sources stored in the cache 210, the data corresponding to the structured query query request may be queried from the database 220.
이 때, 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시(210)에 존재하지 않는 경우에, 데이터 베이스(220)를 이용하여 구조화 질의어 조회요청에 상응하는 데이터 베이스 블록을 사용자에게 제공하고, 데이터 베이스 블록을 데이터 소스들에 상응하는 형태로 캐시(210)에 저장할 수 있다. 일반적으로 한번 요청되었던 구조화 질의어 조회요청은 같은 시기에 여러 번 조회요청이 발생할 수 있다. 따라서, 캐시(210)에 존재하지 않던 데이터 소스가 요청되었다면, 데이터 베이스(220)를 통해 데이터 베이스 블록을 제공한 뒤 캐시(210)에 데이터 소스의 형태로 저장함으로써 다음에 같은 조회요청이 발생하였을 때 신속하게 응답할 수 있도록 할 수 있다.In this case, when the data source corresponding to the structured query query request does not exist in the cache 210, the database 220 is used to provide a user with a database block corresponding to the structured query query request. The block may be stored in the cache 210 in a form corresponding to the data sources. In general, a structured query query request that has been requested once may occur several times at the same time. Therefore, if a data source that does not exist in the cache 210 is requested, the same inquiry request may be generated by providing the database block through the database 220 and storing the data in the cache 210 in the form of a data source. When you can respond quickly.
또한, 데이터 소스 관리 장치(200)는 압축 데이터 소스들의 압축을 해제할 수 있다. 예를 들어, 기설정된 기간마다 갱신되는 해시 테이블에 따라 기존에 압축 데이터 소스로 저장되었던 데이터 소스를 압축 해제상태로 저장할 때 데이터 소스 압축 해제부(150)를 이용하여 압축을 해제할 수 있다. 또한, 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시(210)에 저장된 압축 데이터 소스일 경우에도 해당 압축 데이터 소스의 압축을 해제한 뒤 사용자에게 제공할 수 있다.In addition, the data source management apparatus 200 may decompress the compressed data sources. For example, the data source decompressing unit 150 may decompress the data source, which is previously stored as the compressed data source, in the decompressed state according to the hash table updated every predetermined period. In addition, even when the data source corresponding to the structured query query request is a compressed data source stored in the cache 210, the compressed data source may be decompressed and provided to the user.
또한, 데이터 소스 관리 장치(200)는 데이터 소스들 중 기설정된 기간 동안 조회 횟수가 증가하지 않은 적어도 하나의 데이터 소스를 캐시(210)에서 삭제할 수 있다. 예를 들어, 기설정된 기간 동안 조회 횟수가 하위 10퍼센트에 속하거나, 기설정된 기간 동안 조회 횟수가 전혀 증가하지 않은 데이터 소스들은 캐시(210) 상에서 삭제할 수 있다. 일반적으로 캐시(210) 상에서 데이터 소스를 관리할 때에는 각각의 데이터 소스들마다 만료 시간을 부여하여, 만료 시간이 지난 데이터 소스들은 캐시(210)에서 삭제되는 방식을 이용하였다. 그러나 이러한 방식은 동시에 많은 데이터 소스들이 만료되고 다시 데이터 베이스(220)를 이용하여 조회를 요청하는 경우가 발생하여 데이터 베이스(220)에 큰 부담을 줄 수 있다. 또한, 자주 사용되는 데이터 소스들의 경우 비슷한 시간대의 사용 패턴이 발생할 수 있기 때문에 확률적으로도 상기와 같은 문제가 발생할 수 있다.In addition, the data source management apparatus 200 may delete from the cache 210 at least one data source whose number of inquiries has not increased during a predetermined period of data sources. For example, data sources for which the number of inquiries belong to the lower 10 percent during the predetermined period or for which the number of inquiries have not increased at all during the predetermined period may be deleted on the cache 210. In general, when managing a data source on the cache 210, an expiration time is given to each data source, so that data sources whose expiration time has expired are deleted from the cache 210. However, this method may cause a large burden on the database 220 because many data sources expire at the same time and a request is made again using the database 220. In addition, in the case of frequently used data sources, similar problems may occur because similar usage patterns may occur.
캐시(210)는 데이터 소스들 및 해시 테이블을 저장할 수 있다. 캐시(210)에 저장되는 데이터 소스들은 구조화 질의어 전송 서버(230)로부터 적어도 한번 이상은 구조화 질의어 조회요청이 있었던 데이터 소스들일 수 있다. 이와 같이 캐시(210)를 이용하여 데이터 소스들을 제공하는 이유는, 구조화 질의어 조회요청에 따라 매번 데이터 베이스(220)로 조회요청을 하게 되면 데이터 베이스(220)가 해당 트래픽을 감당하기 못하고 장애가 발생할 수 있기 때문이다. 따라서 구조화 질의어 전송 서버(230)에 의한 구조화 질의어 조회요청을 처리하기 위해서는, 먼저 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시(210)에 저장되어 있는지 조회할 수 있다. 이때, 캐시(210)에 저장된 데이터 소스들의 정보를 해시 테이블을 이용하여 조회할 수 있다. 만약, 캐시(210)에 구조화 질의어 조회요청에 상응하는 데이터 소스가 존재하지 않는다면, 데이터 베이스(220)를 조회하여 해당하는 데이터 베이스 블록을 구조화 질의어 전송 서버(230)로 제공할 수 있다. Cache 210 may store data sources and a hash table. The data sources stored in the cache 210 may be data sources from which the structured query query request has been made at least once from the structured query transmission server 230. The reason for providing the data sources using the cache 210 is that, when a query request is made to the database 220 every time the structured query query request is made, the database 220 cannot handle the traffic and a failure may occur. Because there is. Therefore, in order to process the structured query query request by the structured query transmission server 230, it may be inquired whether a data source corresponding to the structured query query request is stored in the cache 210. At this time, the information of the data sources stored in the cache 210 can be inquired using a hash table. If the data source corresponding to the structured query query request does not exist in the cache 210, the database 220 may be queried to provide the corresponding database block to the structured query transmission server 230.
데이터 베이스(220)는 상기에서 설명한 것과 같이 구조화 질의어 조회요청을 처리하기 위한 데이터들을 데이터 베이스 블록의 형태로 저장할 수 있다. As described above, the database 220 may store data for processing the structured query query request in the form of a database block.
구조화 질의어 전송 서버(230)는 사용자에 의해 요청되는 구조화 질의어 조회요청을 캐시로 전달할 수 있다. The structured query transmission server 230 may deliver the structured query query request requested by the user to the cache.
이와 같은 데이터 소스 관리 시스템을 이용하여 사용자가 원하는 구조화 질의어에 대한 데이터 소스를 신속하게 조회하여 제공할 수 있다.By using such a data source management system, a user can quickly search and provide a data source for a structured query word desired by a user.
도 3은 본 발명의 일실시예에 따른 해시 테이블을 나타낸 도면이다.3 illustrates a hash table according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 일실시예에 따른 해시 테이블(310)은 데이터 소스의 엘리먼트(330)를 여러 개의 컬럼(320)으로 나누어 저장한 것을 알 수 있다. Referring to FIG. 3, it can be seen that the hash table 310 according to an embodiment of the present invention divides and stores the element 330 of the data source into a plurality of columns 320.
예를 들어, 컬럼(320)의 종류는 조회 횟수인 Touch Count를 순위로 정렬하기 위한 Rank, 구조화 질의어 텍스트(SQL text)를 MD5 또는 SHA1 등의 해시 함수를 이용하여 만든 값인 Key 값, 해당 구조화 질의어의 조회 횟수를 나타낸 Touch Count, 데이터 소스의 변경시간을 기록한 Update Time 및 데이터 소스를 압축한 이진 문자열을 나타낸 Compress SQL등을 포함할 수 있다. For example, the type of the column 320 is a Rank for sorting the Touch Count, which is the number of hits, as a rank, a Key value which is a value created using a hash function such as MD5 or SHA1, and the structured query word. Touch Count which shows the number of times of searching, Update Time which records the change time of data source, and Compress SQL which shows binary string compressed data source.
이와 같은 해시 테이블(310)을 이용하여 캐시에 저장된 데이터 소스들을 조회할 수 있고, 조회 횟수를 이용하여 캐시에 유지될 데이터 소스들을 관리함으로 사용 빈도가 높은 데이터 소스들을 오랫동안 캐시에 유지시킬 수 있다.The hash table 310 may be used to query the data sources stored in the cache, and the frequently used data sources may be kept in the cache for a long time by managing the data sources to be kept in the cache using the number of inquiries.
도 4는 본 발명의 일실시예에 따른 해시 테이블의 테이블 이름으로 조회 가능한 리버스 인덱스 테이블을 나타낸 도면이다.4 is a view showing a reverse index table that can be searched by the table name of the hash table according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일실시예에 따른 해시 테이블의 테이블 이름으로 조회 가능한 리버스 인덱스 테이블(410)은 해시 테이블의 컬럼 중 하나인 테이블 이름(Table Name)의 값을 이용하여 데이터 소스들의 키 값을 정렬할 수 있다. 이와 같은 리버스 인덱스 테이블(410)은 특정 구조화 질의어 테이블에 데이터 조작어가 발생하는 경우에 캐시에서 해당 구조화 질의어 테이블에 상응하는 데이터 소스들을 삭제하기 위한 용도로 사용될 수 있다.Referring to FIG. 4, the reverse index table 410 that can be searched by the table name of the hash table according to an embodiment of the present invention uses the value of the table name, which is one of the columns of the hash table, of the data sources. You can sort the key values. The reverse index table 410 may be used to delete data sources corresponding to the structured query table from the cache when data manipulation occurs in a specific structured query table.
도 5는 본 발명의 일실시예에 따른 데이터 소스 관리 방법을 나타낸 동작 흐름도이다.5 is a flowchart illustrating a data source management method according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 일실시예에 따른 데이터 소스 관리 방법은 데이터 소스들에 상응하는 엘리먼트들 각각을 복수 개의 필드들로 나누어 저장한 해시 테이블을 생성할 수 있다(S510). 해시 테이블은 데이터 소스에 대한 조회 시 빠른 조회속도를 보이기 위해, 구조화 질의어 텍스트를 MD5 또는 SHA1의 해시 함수를 이용하여 생성한 키 값을 기반으로 생성할 수 있다. 또한, 해시 테이블은 조회 횟수를 기준으로 생성된 순위로 정렬되어 나타낼 수 있다.Referring to FIG. 5, the data source management method according to an embodiment of the present invention may generate a hash table in which each element corresponding to the data sources is divided into a plurality of fields and stored (S510). Hash table can generate structured query text based on key value generated by using hash function of MD5 or SHA1 in order to show fast search speed when searching the data source. In addition, the hash table may be displayed in a sorted order based on the number of inquiries.
이 때, 기설정된 기간 동안 요청되는 적어도 하나의 구조화 질의어 조회 요청을 기반으로, 기설정된 기간마다 해시 테이블을 갱신할 수 있다. 예를 들어, 기설정된 기간을 24시간으로 설정하였을 때, 24시간 동안 요청되는 구조화 질의어 조회요청에 따라 각각 상응하는 데이터 소스의 조회 횟수를 상승시킬 수 있다. 이렇게 변경된 조회 횟수에 따라서 해시 테이블 내에서 데이터 소스들의 정렬 순서가 변경될 수 있고, 데이터 소스들 각각에 대한 압축 상태도 변경될 수도 있다.At this time, based on at least one structured query query request requested for a predetermined period, the hash table may be updated for each predetermined period. For example, when the preset period is set to 24 hours, the number of inquiries of the corresponding data source may be increased according to the structured query query request requested for 24 hours. The sort order of the data sources in the hash table may be changed according to the changed lookup frequency, and the compression state of each of the data sources may also be changed.
이 때, 구조화 질의어 테이블이 변경되었을 경우에, 필드들 중 테이블 이름을 이용하여 데이터 소스들 중 구조화 질의어 테이블에 상응하는 데이터 소스들을 조회하여 변경할 수 있다. 예를 들어, 테이블 이름을 키 값으로 구조화 질의어를 분석하여 리버스 인덱스 테이블을 구성할 수 있다. 이와 같은 리버스 인덱스 테이블은 구조화 질의어 테이블에 데이터 조작어(DML)가 발생하는 경우 캐시에서 삭제하기 위한 용도로 사용될 수 있다.In this case, when the structured query table is changed, the data sources corresponding to the structured query table among the data sources may be searched and changed using the table name among the fields. For example, you can construct a reverse index table by analyzing structured queries using table names as key values. Such a reverse index table may be used to delete from the cache when a data manipulation word (DML) occurs in the structured query table.
또한, 본 발명의 일실시예에 따른 데이터 소스 관리 방법은 필드들 중 조회 횟수를 이용하여 데이터 소스들 중 압축될 압축 데이터 소스들의 개수를 결정할 수 있다(S520). 조회 횟수를 이용하여 압축 데이터 소스들을 결정함으로써, 사용빈도가 높은 데이터 소스들은 압축하지 않은 상태로 유지하고 상대적으로 사용빈도가 낮은 데이터 소스들을 압축하여 저장할 수 있다.In addition, the data source management method according to an embodiment of the present invention may determine the number of compressed data sources to be compressed among the data sources by using the number of inquiries among the fields (S520). By determining compressed data sources using the number of inquiries, data sources with high usage frequency can be kept uncompressed, and data sources with relatively low usage frequency can be compressed and stored.
이 때, 조회 횟수가 높은 순서로 정렬된 해시 테이블을 기준으로, 데이터 소스들 중 전체 조회 횟수의 기설정된 퍼센트에 상응하는 해시 테이블 상의 상위 데이터 소스들을 제외한 나머지를 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 예를 들어, 해시 테이블의 정렬 순으로 조회 횟수를 합산하여, 전체 조회 횟수의 80퍼센트가 되는 순위의 데이터 소스까지를 제외한 하위 데이터 소스들을 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 이와 같은 기준을 적용하는 이유는 대체로 자주 사용되는 상위 20퍼센트의 상위 데이터 소스들이 80퍼센트의 트래픽을 발생시킬 수 있기 때문이다.In this case, the number of compressed data sources is determined by using the rest of the data sources except the top data sources on the hash table corresponding to a predetermined percentage of the total number of queries based on the hash table sorted in ascending order. Can be. For example, the number of compressed data sources may be determined using lower data sources except for data sources having a rank of 80 percent of the total number of queries by summing the number of inquiries in the sort order of the hash table. The reason for applying these criteria is that the top 20 percent of top data sources, which are often used, can generate 80 percent of traffic.
이 때, 기설정된 기간마다 갱신된 해시 테이블의 조회 횟수를 이용하여 압축 데이터 소스들의 개수를 결정할 수 있다. 예를 들어, 기설정된 기간 동안 요청되는 구조화 질의어 조회요청에 의해 해시 테이블 상의 조회 횟수가 변경될 수 있다. 따라서, 해시 테이블의 조회 횟수를 이용하여 결정되는 압축 데이터 소스들의 개수도 기설정된 기간마다 갱신된 해시 테이블의 조회 횟수를 이용하여 새롭게 결정될 수 있다.In this case, the number of compressed data sources may be determined using the number of times the hash table is updated for each preset period. For example, the number of retrieval on the hash table may be changed by the structured query retrieval request requested for a predetermined period. Accordingly, the number of compressed data sources determined by using the hash table query count may also be newly determined by using the hash table updated in each preset period.
또한, 본 발명의 일실시예에 따른 데이터 소스 관리 방법은 데이터 소스들 중 압축 데이터 소스들만을 압축할 수 있다(S530). 캐시에 저장되어 있는 데이터 소스들 중 압축 대상 산정부에서 결정된 압축 데이터 소스들의 개수에 상응하게 데이터 소스들을 압축할 수 있다. 데이터 소스를 압축하여 저장하는 이유는 캐시에 최대한의 데이터 소스를 저장하도록 하여 구조화 데이터 응답의 속도를 향상시키기 위함일 수 있다. 또한, 압축 방식을 사용하는 이유는 디스크를 이용하여 입력 및 출력하는 방식이나 데이터 베이스를 조회하는 방식보다는 중앙 처리 장치로 데이터 소스를 압축 및 해제를 수행하는 것이 데이터 처리를 더 빠르게 할 수 있기 때문이다. 또한, 압축 시 기존 대비 10배 가량의 정보를 캐시에 저장할 수 있다.In addition, the data source management method according to an embodiment of the present invention may compress only compressed data sources among the data sources (S530). The data sources may be compressed according to the number of compressed data sources determined by the compression target calculation unit among the data sources stored in the cache. The reason for compressing and storing the data source may be to increase the speed of the structured data response by storing the maximum data source in the cache. In addition, the compression method is used because compressing and decompressing a data source with a central processing unit may speed up data processing rather than inputting and outputting a disk or querying a database. . In addition, when compressed, about 10 times more information can be stored in the cache.
또한, 본 발명의 일실시예에 따른 데이터 소스 관리 방법은 해시 테이블 및 데이터 소스들이 저장된 캐시를 이용하여 사용자의 구조화 질의어 조회요청을 처리할 수 있다(S540). 사용자에 의해 특정 구조화 질의어 조회요청이 접수되는 경우, 해시 테이블을 이용하여 해당 구조화 질의어 조회요청에 상응하는 데이터 소스를 조회하고, 조회된 데이터 소스를 캐시로부터 사용자에게 제공할 수 있다.In addition, the data source management method according to an embodiment of the present invention may process a structured query query request of a user by using a cache in which a hash table and data sources are stored (S540). When a specific structured query query request is received by the user, a data source corresponding to the structured query query request may be searched using a hash table, and the searched data source may be provided to the user from the cache.
이 때, 해시 테이블을 이용하여 데이터 소스들 중 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시에 존재하는지 여부에 따라 데이터 베이스를 이용하여 구조화 질의어 조회요청을 처리할 수 있다. 예를 들어, 캐시에 저장된 데이터 소스들 중에 구조화 질의어 조회요청에 상응하는 데이터 소스가 존재하지 않는다면, 데이터 베이스에서 구조화 질의어 조회요청에 상응하는 데이터를 조회할 수 있다.In this case, the structured query query request may be processed using a database according to whether a data source corresponding to the structured query query request among data sources exists in the cache using a hash table. For example, if a data source corresponding to the structured query query request does not exist among the data sources stored in the cache, the data corresponding to the structured query query request may be queried from the database.
이 때, 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시에 존재하지 않는 경우에, 데이터 베이스를 이용하여 구조화 질의어 조회요청에 상응하는 데이터 베이스 블록을 사용자에게 제공하고, 데이터 베이스 블록을 데이터 소스들에 상응하는 형태로 캐시에 저장할 수 있다. 일반적으로 한번 요청되었던 구조화 질의어 조회요청은 같은 시기에 여러 번 조회요청이 발생할 수 있다. 따라서, 캐시에 존재하지 않던 데이터 소스가 요청되었다면, 데이터 베이스를 통해 데이터 베이스 블록을 제공한 뒤 캐시에 데이터 소스의 형태로 저장함으로써 다음에 같은 조회요청이 발생하였을 때 신속하게 응답할 수 있도록 할 수 있다.At this time, if a data source corresponding to the structured query query request does not exist in the cache, the database block is provided to the user using the database, and the database block is provided to the data sources. It can be cached in the corresponding form. In general, a structured query query request that has been requested once may occur several times at the same time. Therefore, if a data source that was not in the cache is requested, the database block can be provided through the database and stored in the form of a data source in the cache so that the next time the same query request occurs, it can be quickly responded. have.
도 5에는 도시하지 아니하였지만, 본 발명의 일실시예에 따른 데이터 소스 관리 방법은 압축 데이터 소스들의 압축을 해제할 수 있다. 예를 들어, 기설정된 기간마다 갱신되는 해시 테이블에 따라 기존에 압축 데이터 소스로 저장되었던 데이터 소스를 압축 해제상태로 저장할 때 데이터 소스 압축 해제부(150)를 이용하여 압축을 해제할 수 있다. 또한, 구조화 질의어 조회요청에 상응하는 데이터 소스가 캐시에 저장된 압축 데이터 소스일 경우에도 해당 압축 데이터 소스의 압축을 해제한 뒤 사용자에게 제공할 수 있다.Although not shown in FIG. 5, the data source management method according to an embodiment of the present invention may decompress compressed data sources. For example, the data source decompressing unit 150 may decompress the data source, which is previously stored as the compressed data source, in the decompressed state according to the hash table updated every predetermined period. In addition, even when the data source corresponding to the structured query query request is a compressed data source stored in the cache, the compressed data source may be decompressed and provided to the user.
또한, 도 5에는 도시하지 아니하였지만, 본 발명의 일실시예에 따른 데이터 소스 관리 방법은 데이터 소스들 중 기설정된 기간 동안 조회 횟수가 증가하지 않은 적어도 하나의 데이터 소스를 캐시에서 삭제할 수 있다. 예를 들어, 기설정된 기간 동안 조회 횟수가 하위 10퍼센트에 속하거나, 기설정된 기간 동안 조회 횟수가 전혀 증가하지 않은 데이터 소스들은 캐시 상에서 삭제할 수 있다. 일반적으로 캐시 상에서 데이터 소스를 관리할 때에는 각각의 데이터 소스들마다 만료 시간을 부여하여, 만료 시간이 지난 데이터 소스들은 캐시에서 삭제되는 방식을 이용하였다. 그러나 이러한 방식은 동시에 많은 데이터 소스들이 만료되고 다시 데이터 베이스를 이용하여 조회를 요청하는 경우가 발생하여 데이터 베이스에 큰 부담을 줄 수 있다. 또한, 자주 사용되는 데이터 소스들의 경우 비슷한 시간대의 사용 패턴이 발생할 수 있기 때문에 확률적으로도 상기와 같은 문제가 발생할 수 있다.In addition, although not shown in FIG. 5, the data source management method according to an embodiment of the present invention may delete at least one data source of which the number of inquiries has not increased during a predetermined period of data sources from the cache. For example, data sources for which the number of inquiries fall within the lower 10 percent during the preset period or for which the number of inquiries have not increased during the predetermined period may be deleted from the cache. In general, when managing data sources on a cache, an expiration time is given to each data source, and data sources whose expiration time expires are deleted from the cache. However, this method can cause a large burden on the database because many data sources expire at the same time and a query is requested again using the database. In addition, in the case of frequently used data sources, similar problems may occur because similar usage patterns may occur.
이와 같은 데이터 소스 관리 방법을 이용하여 데이터 소스들을 사용 빈도 기준으로 압축하여 캐시에 저장함으로써, 최대한 많은 양의 데이터를 캐시에 유지시켜 구조화 질의어 조회요청에 대한 신속한 처리를 가능하게 할 수 있다.By using such a data source management method, data sources are compressed and stored in a cache based on a frequency of use, and thus, a large amount of data can be kept in a cache to enable a rapid processing of a structured query query request.
본 발명에 따른 데이터 소스 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 모든 형태의 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The data source management method according to the present invention can be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and any type of hardware device specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler. Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상에서와 같이 본 발명에 따른 압축 방식을 이용한 데이터 소스 관리 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the data source management apparatus and method using the compression method according to the present invention are not limited to the configuration and method of the embodiments described as described above, but the embodiments may be modified in various ways. All or some of the embodiments may be selectively combined.
본 발명에 의하면 데이터 소스들에 상응하는 엘리먼트들 각각을 복수 개의 필드들로 나누어 저장한 해시 테이블을 생성하고, 필드들 중 조회 횟수를 이용하여 데이터 소스들 중 압축될 압축 데이터 소스들의 개수를 결정하고, 데이터 소스들 중 압축 데이터 소스들만을 압축하고, 해시 테이블 및 데이터 소스들이 저장된 캐시를 이용하여 사용자 구조화 질의어 조회 요청을 처리할 수 있다. 나아가, 데이터 소스 압축 방식을 이용하여 캐시 서버에 최대한 많은 양의 데이터 소스들을 유지시킴으로써, 캐시 서버를 확장하는 비용을 절감하면서 구조화 질의어 조회요청 시 보다 신속한 응답을 제공할 수 있다.According to the present invention, a hash table is generated by dividing and storing each element corresponding to the data sources into a plurality of fields, and determining the number of compressed data sources to be compressed among the data sources by using the number of inquiries among the fields. In addition, only compressed data sources among data sources may be compressed, and a hash structure and a cache storing data sources may be used to process a user structured query query request. In addition, by maintaining the maximum amount of data sources in the cache server using the data source compression scheme, it is possible to provide a faster response to the structured query query request while reducing the cost of expanding the cache server.
Claims (20)
- 데이터 소스들에 상응하는 엘리먼트들 각각을 복수 개의 필드들로 나누어 저장한 해시 테이블을 생성하는 해시 테이블 생성부;A hash table generator configured to generate a hash table in which each element corresponding to data sources is divided into a plurality of fields and stored therein;상기 필드들 중 조회 횟수를 이용하여 상기 데이터 소스들 중 압축될 압축 데이터 소스들의 개수를 결정하는 압축 대상 산정부;A compression target calculation unit for determining the number of compressed data sources to be compressed among the data sources using the number of inquiries among the fields;상기 데이터 소스들 중 상기 압축 데이터 소스들만을 압축하는 데이터 소스 압축부; 및A data source compressor for compressing only the compressed data sources of the data sources; And상기 해시 테이블 및 상기 데이터 소스들이 저장된 캐시를 이용하여 사용자의 구조화 질의어 조회요청을 처리하는 질의 처리부Query processing unit for processing a user's structured query query request using the cache stored in the hash table and the data sources를 포함하는 것을 특징으로 하는 데이터 소스 관리 장치.Data source management apparatus comprising a.
- 청구항 1에 있어서,The method according to claim 1,상기 질의 처리부는The query processing unit상기 해시 테이블을 이용하여 상기 데이터 소스들 중 상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 캐시에 존재하는지 여부에 따라 데이터 베이스를 이용하여 상기 구조화 질의어 조회요청을 처리하는 것을 특징으로 하는 데이터 소스 관리 장치.And managing the structured query query request using a database according to whether a data source corresponding to the structured query query request among the data sources exists in the cache using the hash table. Device.
- 청구항 2에 있어서,The method according to claim 2,상기 질의 처리부는The query processing unit상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 캐시에 존재하지 않는 경우에, 상기 데이터 베이스를 이용하여 상기 구조화 질의어 조회요청에 상응하는 데이터 베이스 블록을 상기 사용자에게 제공하고, 상기 데이터 베이스 블록을 상기 데이터 소스들에 상응하는 형태로 상기 캐시에 저장하는 것을 특징으로 하는 데이터 소스 관리 장치.If a data source corresponding to the structured query query request does not exist in the cache, provide the user with a database block corresponding to the structured query query request using the database, and provide the database block to the user. And storing the data in the cache in a form corresponding to data sources.
- 청구항 2에 있어서,The method according to claim 2,상기 질의 처리부는The query processing unit상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 압축 데이터 소스들에 포함되는지 여부에 따라 상기 데이터 소스의 압축을 해제하여 상기 사용자에게 제공하는 것을 특징으로 하는 데이터 소스 관리 장치.And decompressing the data source and providing the data source to the user according to whether the data source corresponding to the structured query query request is included in the compressed data sources.
- 청구항 4에 있어서,The method according to claim 4,상기 데이터 소스 관리 장치는The data source management device상기 압축 데이터 소스들의 압축을 해제하는 데이터 소스 압축 해제부를 더 포함하는 것을 특징으로 하는 데이터 소스 관리 장치.And a data source decompressor for decompressing the compressed data sources.
- 청구항 1에 있어서,The method according to claim 1,상기 압축 대상 산정부는The compression target mountain unit상기 조회 횟수가 높은 순서로 정렬된 상기 해시 테이블을 기준으로, 상기 데이터 소스들 중 전체 조회 횟수의 기설정된 퍼센트에 상응하는 상기 해시 테이블 상의 상위 데이터 소스들을 제외한 나머지를 이용하여 상기 압축 데이터 소스들의 개수를 결정하는 것을 특징으로 하는 데이터 소스 관리 장치.The number of the compressed data sources using the remainder except the upper data sources on the hash table corresponding to a predetermined percentage of the total number of inquiries among the data sources based on the hash table sorted in ascending order Data source management device, characterized in that for determining.
- 청구항 1에 있어서,The method according to claim 1,상기 데이터 소스 관리 장치는The data source management device상기 데이터 소스들 중 기설정된 기간 동안 상기 조회 횟수가 증가하지 않은 적어도 하나의 데이터 소스를 상기 캐시에서 삭제하는 데이터 소스 갱신부를 더 포함하는 것을 특징으로 하는 데이터 소스 관리 장치.And a data source update unit which deletes at least one data source of which the number of inquiries has not increased during the predetermined period of the data sources from the cache.
- 청구항 7에 있어서,The method according to claim 7,상기 해시 테이블 생성부는The hash table generator상기 기설정된 기간 동안 요청되는 적어도 하나의 상기 구조화 질의어 조회요청을 기반으로, 상기 기설정된 기간마다 상기 해시 테이블을 갱신하는 것을 특징으로 하는 데이터 소스 관리 장치.And the hash table is updated every predetermined period of time based on the at least one structured query query request requested during the predetermined period of time.
- 청구항 8에 있어서,The method according to claim 8,상기 압축 대상 산정부는The compression target mountain unit상기 기설정된 기간마다 상기 갱신된 해시 테이블의 상기 조회 횟수를 이용하여 상기 압축 데이터 소스들의 개수를 결정하는 것을 특징으로 하는 데이터 소스 관리 장치.And determining the number of the compressed data sources by using the number of inquiries of the updated hash table every predetermined period of time.
- 청구항 8에 있어서,The method according to claim 8,상기 해시 테이블 생성부는The hash table generator구조화 질의어 테이블이 변경되었을 경우에, 상기 필드들 중 테이블 이름을 이용하여 상기 데이터 소스들 중 상기 구조화 질의어 테이블에 상응하는 데이터 소스들을 조회하여 변경하는 것을 특징으로 하는 데이터 소스 관리 장치.And when a structured query table is changed, querying and changing data sources corresponding to the structured query table among the data sources by using a table name among the fields.
- 데이터 소스들에 상응하는 엘리먼트들 각각을 복수 개의 필드들로 나누어 저장한 해시 테이블을 생성하는 단계;Generating a hash table storing each of the elements corresponding to the data sources into a plurality of fields;상기 필드들 중 조회 횟수를 이용하여 상기 데이터 소스들 중 압축될 압축 데이터 소스들의 개수를 결정하는 단계;Determining the number of compressed data sources of the data sources to be compressed using the number of lookups among the fields;상기 데이터 소스들 중 상기 압축 데이터 소스들만을 압축하는 단계; 및Compressing only the compressed data sources of the data sources; And상기 해시 테이블 및 상기 데이터 소스들이 저장된 캐시를 이용하여 사용자의 구조화 질의어 조회 요청을 처리하는 단계Processing a user's structured query query request using a cache stored in the hash table and the data sources를 포함하는 것을 특징으로 하는 데이터 소스 관리 방법.Data source management method comprising a.
- 청구항 11에 있어서,The method according to claim 11,상기 처리하는 단계는The processing step상기 해시 테이블을 이용하여 상기 데이터 소스들 중 상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 캐시에 존재하는지 여부를 판단하는 단계를 포함하고,Determining whether a data source corresponding to the structured query query request among the data sources exists in the cache by using the hash table;상기 판단 결과에 따라 데이터 베이스를 이용하여 상기 구조화 질의어 조회요청을 처리하는 것을 특징으로 하는 데이터 소스 관리 방법.And processing the structured query query request using a database according to the determination result.
- 청구항 12에 있어서,The method according to claim 12,상기 처리하는 단계는The processing step상기 판단 결과 상기 데이터 소스가 상기 캐시에 존재하지 않는 경우에, 상기 데이터 베이스를 이용하여 상기 구조화 질의어 조회요청에 상응하는 데이터 베이스 블록을 상기 사용자에게 제공하는 단계를 포함하고,If the data source does not exist in the cache as a result of the determination, providing the user with a database block corresponding to the structured query query request using the database;상기 데이터 베이스 블록을 상기 데이터 소스들에 상응하는 형태로 상기 캐시에 저장하는 것을 특징으로 하는 데이터 소스 관리 방법.Storing the database block in the cache in a form corresponding to the data sources.
- 청구항 12에 있어서,The method according to claim 12,상기 처리하는 단계는The processing step상기 구조화 질의어 조회요청에 상응하는 데이터 소스가 상기 압축 데이터 소스들에 포함되는지 여부에 따라 상기 데이터 소스의 압축을 해제하여 상기 사용자에게 제공하는 것을 특징으로 하는 데이터 소스 관리 방법.And decompressing the data source and providing the data source to the user according to whether the data source corresponding to the structured query query request is included in the compressed data sources.
- 청구항 14에 있어서,The method according to claim 14,상기 데이터 소스 관리 방법은The data source management method상기 압축 데이터 소스들의 압축을 해제하는 단계를 더 포함하는 것을 특징으로 하는 데이터 소스 관리 방법.Decompressing the compressed data sources.
- 청구항 11에 있어서,The method according to claim 11,상기 결정하는 단계는The determining step상기 조회 횟수가 높은 순서로 정렬된 상기 해시 테이블을 기준으로, 상기 데이터 소스들 중 전체 조회 횟수의 기설정된 퍼센트에 상응하는 상기 해시 테이블 상의 상위 데이터 소스들을 제외한 나머지를 이용하여 상기 압축 데이터 소스들의 개수를 결정하는 것을 특징으로 하는 데이터 소스 관리 방법.The number of the compressed data sources using the remainder except for the upper data sources on the hash table corresponding to a predetermined percentage of the total number of inquiries among the data sources based on the hash table sorted in ascending order Determining a data source.
- 청구항 11에 있어서,The method according to claim 11,상기 데이터 소스 관리 방법은The data source management method상기 데이터 소스들 중 기설정된 기간 동안 상기 조회 횟수가 증가하지 않은 적어도 하나의 데이터 소스를 상기 캐시에서 삭제하는 단계를 더 포함하는 것을 특징으로 하는 데이터 소스 관리 방법.And deleting from the cache at least one data source of which the number of inquiries has not increased during a predetermined period of the data sources.
- 청구항 17에 있어서,The method according to claim 17,상기 생성하는 단계는The generating step상기 기설정된 기간 동안 요청되는 적어도 하나의 상기 구조화 질의어 조회요청을 기반으로, 상기 기설정된 기간마다 상기 해시 테이블을 갱신하는 것을 특징으로 하는 데이터 소스 관리 방법.And updating the hash table every predetermined period of time based on the at least one structured query query request requested during the predetermined period of time.
- 청구항 18에 있어서,The method according to claim 18,상기 결정하는 단계는The determining step상기 기설정된 기간마다 상기 갱신된 해시 테이블의 상기 조회 횟수를 이용하여 상기 압축 데이터 소스들의 개수를 결정하는 것을 특징으로 하는 데이터 소스 관리 방법.And determining the number of the compressed data sources by using the retrieval number of the updated hash table every predetermined period of time.
- 청구항 11 내지 19 중 어느 항 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of claim 11.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140061843A KR20150134718A (en) | 2014-05-22 | 2014-05-22 | Apparatus and method for managing data-source using method of compression |
KR10-2014-0061843 | 2014-05-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015178554A1 true WO2015178554A1 (en) | 2015-11-26 |
Family
ID=54554196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2014/011164 WO2015178554A1 (en) | 2014-05-22 | 2014-11-20 | Apparatus and method for managing data source using compression scheme |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20150134718A (en) |
WO (1) | WO2015178554A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568917A (en) * | 2021-08-13 | 2021-10-29 | 网易(杭州)网络有限公司 | Data ranking method and device, electronic equipment and storage medium |
CN114553975A (en) * | 2020-11-18 | 2022-05-27 | 北京广利核系统工程有限公司 | Data communication method and device based on UDP network and computer equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450562A (en) * | 1992-10-19 | 1995-09-12 | Hewlett-Packard Company | Cache-based data compression/decompression |
JP2001125820A (en) * | 1999-10-26 | 2001-05-11 | Nec Eng Ltd | Cache data managing device for web browser |
KR20100072770A (en) * | 2008-12-22 | 2010-07-01 | 한국전자통신연구원 | Hot data management based on hit counter from data servers in parallelism |
JP2012505440A (en) * | 2009-02-25 | 2012-03-01 | 株式会社日立製作所 | Storage device and data processing method in storage device |
KR20140047916A (en) * | 2012-10-15 | 2014-04-23 | 삼성전자주식회사 | Data compressor, memory system comprising the compress and method for compressing data |
-
2014
- 2014-05-22 KR KR1020140061843A patent/KR20150134718A/en not_active Application Discontinuation
- 2014-11-20 WO PCT/KR2014/011164 patent/WO2015178554A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450562A (en) * | 1992-10-19 | 1995-09-12 | Hewlett-Packard Company | Cache-based data compression/decompression |
JP2001125820A (en) * | 1999-10-26 | 2001-05-11 | Nec Eng Ltd | Cache data managing device for web browser |
KR20100072770A (en) * | 2008-12-22 | 2010-07-01 | 한국전자통신연구원 | Hot data management based on hit counter from data servers in parallelism |
JP2012505440A (en) * | 2009-02-25 | 2012-03-01 | 株式会社日立製作所 | Storage device and data processing method in storage device |
KR20140047916A (en) * | 2012-10-15 | 2014-04-23 | 삼성전자주식회사 | Data compressor, memory system comprising the compress and method for compressing data |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553975A (en) * | 2020-11-18 | 2022-05-27 | 北京广利核系统工程有限公司 | Data communication method and device based on UDP network and computer equipment |
CN114553975B (en) * | 2020-11-18 | 2024-03-15 | 北京广利核系统工程有限公司 | Data communication method and device based on UDP (user datagram protocol) network and computer equipment |
CN113568917A (en) * | 2021-08-13 | 2021-10-29 | 网易(杭州)网络有限公司 | Data ranking method and device, electronic equipment and storage medium |
CN113568917B (en) * | 2021-08-13 | 2023-07-28 | 网易(杭州)网络有限公司 | Data ranking method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
KR20150134718A (en) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238098B2 (en) | Heterogenous key-value sets in tree database | |
US9710517B2 (en) | Data record compression with progressive and/or selective decomposition | |
Qader et al. | A comparative study of secondary indexing techniques in LSM-based NoSQL databases | |
KR101127304B1 (en) | Hsm two-way orphan reconciliation for extremely large file systems | |
US8738572B2 (en) | System and method for storing data streams in a distributed environment | |
US8706710B2 (en) | Methods for storing data streams in a distributed environment | |
US9639542B2 (en) | Dynamic mapping of extensible datasets to relational database schemas | |
TW201841122A (en) | Key-value store tree | |
US20160188623A1 (en) | Scan optimization using bloom filter synopsis | |
US11030242B1 (en) | Indexing and querying semi-structured documents using a key-value store | |
CN107783985B (en) | Distributed database query method, device and management system | |
US9305041B2 (en) | Compression of serialized B-tree data | |
KR101892067B1 (en) | Method for storing and searching of text logdata based relational database | |
WO2021107211A1 (en) | In-memory database-based time-series data management system | |
KR20130049111A (en) | Forensic index method and apparatus by distributed processing | |
US9262511B2 (en) | System and method for indexing streams containing unstructured text data | |
US9734178B2 (en) | Searching entity-key associations using in-memory objects | |
CN101789027A (en) | Metadata management method based on DBMS and metadata server | |
US8756246B2 (en) | Method and system for caching lexical mappings for RDF data | |
JP2015197909A (en) | Online analytical processing method using 2 level query by sql parsing and result cashing for processing large capacity data | |
WO2015178554A1 (en) | Apparatus and method for managing data source using compression scheme | |
US11868331B1 (en) | Systems and methods for aligning big data tables in linear time | |
CN112579726A (en) | Method, apparatus and computer program product for managing index table | |
JP2015176407A (en) | Search device, search method, search program and search data structure | |
US10360248B1 (en) | Method and system for processing search queries using permission definition tokens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14892685 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14892685 Country of ref document: EP Kind code of ref document: A1 |