WO2020153522A1 - Hybrid indexing device in heterogeneous storage based database management system - Google Patents

Hybrid indexing device in heterogeneous storage based database management system Download PDF

Info

Publication number
WO2020153522A1
WO2020153522A1 PCT/KR2019/001244 KR2019001244W WO2020153522A1 WO 2020153522 A1 WO2020153522 A1 WO 2020153522A1 KR 2019001244 W KR2019001244 W KR 2019001244W WO 2020153522 A1 WO2020153522 A1 WO 2020153522A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
storage
stored
index
management system
Prior art date
Application number
PCT/KR2019/001244
Other languages
French (fr)
Korean (ko)
Inventor
이고르체르냐크
한혁
진성일
민대홍
Original Assignee
㈜리얼타임테크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ㈜리얼타임테크 filed Critical ㈜리얼타임테크
Publication of WO2020153522A1 publication Critical patent/WO2020153522A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Definitions

  • the present invention relates to a database management system that stores data in different storages, such as DRAM, NVM, or DISK. Index data corresponding to the stored data is stored in each storage to perform index data management more efficiently. It relates to a technology that provides a search filter in each storage to perform data search processing in the storage in which the requested data is stored, thereby allowing faster access to required data.
  • a database management system is a set of software tools that allow multiple users to access data in a database. More specifically, a DBMS is implemented in a database server to systematically handle the needs of a large number of users or programs and respond appropriately to use data.
  • a query means a description of what request for data stored in a table in a database, that is, what operation to perform on the data, is expressed using a language such as Structured Query Language (SQL).
  • SQL Structured Query Language
  • the DBMS generally has an index.
  • the index means a data structure that speeds up a search for a table in the database field.
  • Storage provided in the hybrid DBMS includes DRAM, NVM, and DISK.
  • DRAM is fast to read and write, but it is still relatively expensive despite a significant price drop.
  • NVM has a write operation that is as fast as DRAM, but has poor read performance compared to write performance. Also, the price of NVM is more expensive than DISK.
  • the hybrid DBMS stores HOT data in DRAM, WARM data in NVM, and COLD data that has not been accessed for the longest time in DISK.
  • T-tree index suitable for an in-memory DBMS does not have the same performance as a B-tree that shows high performance in a disk-based DBMS in terms of performance
  • a hybrid DBMS is applied by applying a data structure suitable for specific storage characteristics In the case of operating the work performance may be deteriorated.
  • each index is stored in a data structure suitable for the corresponding storage in each storage, thereby enabling more efficient index data management.
  • the technical objective is to provide a hybrid indexing device in a heterogeneous storage-based database management system.
  • the present invention is equipped with a search filter corresponding to the stored data in each storage, and by selecting the storage in which the requested data is stored through the search filter, and performing data search processing, it reduces unnecessary read operations and searches data more quickly.
  • Another technical purpose is to provide a hybrid indexing device in a heterogeneous storage-based database management system that enables the user to do so.
  • each storage is index data corresponding to data stored in the corresponding storage
  • a plurality of storages including an index data storage in which a data is stored, a search filter having a bit string, and a bit value of a location corresponding to data stored in the storage is set to a valid value, and a request to insert data from the outside
  • the corresponding data is stored in the DRAM, and new index data corresponding to the stored data is generated and stored in the index data storage of the DRAM, and the corresponding data is applied to a predetermined hash function to DRAM at a location corresponding to the hash value.
  • the search filter bit of is set to a valid value, and for data change requests that include data modification and deletion from the outside, the hash value is calculated by applying the data to be changed to a predetermined hash function, and then the hash value is stored in each storage. Based on the bit value of the corresponding location, it determines the storage where the data to be changed is stored, retrieves the data to be changed from the determined storage, performs data change processing, and changes the index data stored in the index data storage in response to the changes.
  • a hybrid indexing device is provided in a heterogeneous storage-based database management system comprising data processing means for performing data management.
  • the DRAM stores HOT data having an access point within a certain period from the present, including the initial data insertion
  • the NVM stores WARM data with a certain period of access from the present
  • DISK access from the current COLD data exceeding a certain period is configured to be stored
  • the data processing means performs data tiering to move data between storages based on the access point of data stored in each storage, and corresponds to data movement.
  • a hybrid indexing device is provided in a heterogeneous storage-based database management system characterized by updating the index data storage of storage and the bit stream of a search filter.
  • a hybrid indexing device is provided in a heterogeneous storage-based database management system characterized by determining data to be moved based on an access time point in correspondence with a layer of storage in which data is to be stored and moved.
  • each storage is configured to have different data structures in consideration of read/write characteristics and space utilization characteristics of data
  • the data processing means stores data corresponding to the data structures of the corresponding storage when data is stored.
  • a hybrid indexing device is provided in a heterogeneous storage-based database management system.
  • the data processing means is provided with a hybrid indexing device in a heterogeneous storage-based database management system, characterized in that the search filter bit string provided in each storage is regenerated based on data stored in the storage according to a preset condition. .
  • the data processing means is provided with a hybrid indexing device in a heterogeneous storage-based database management system characterized by regenerating the search filter bit string of the storage when data deletion from the storage is performed more than a predetermined number of times.
  • the storage in which the requested data is stored by using the Bloom filter without unconditionally checking all the storage for the requested query Search performance can be improved by selecting and searching.
  • FIG. 1 is a view showing a schematic configuration of a hybrid indexing device in a heterogeneous storage-based database management system according to the first embodiment.
  • FIG. 2 is a view for explaining the structure of the search filter 203 shown in FIG. 1;
  • FIG. 3 is a view showing the internal configuration of the data processing means 100 shown in FIG. 1 separated by function.
  • FIG. 4 is a view for explaining the operation of the hybrid indexing device in the heterogeneous storage-based database management system shown in FIG.
  • FIG. 5 is a view for explaining in more detail the data layering process operation (ST100) shown in FIG.
  • FIG. 6 is a diagram for explaining the data management operation ST200 shown in FIG. 4 in more detail.
  • FIG. 1 is a diagram showing the schematic configuration of a hybrid indexing device in a heterogeneous storage-based database management system according to a first embodiment of the present invention.
  • the hybrid indexing device includes a data processing means 100 and different types of storage 200.
  • the storage 200 includes a dynamic random access memory (DRAM) 210, a non-volatile memory (NVM) 220, and a DISK 230.
  • DRAM dynamic random access memory
  • NVM non-volatile memory
  • DISK DISK
  • the DRAM 210 stores HOT data having an access point within a certain period from the present, including the initial data insertion
  • the NVM 220 stores WARM data whose access point has passed a certain period from the present
  • DISK 230 is configured to store COLD data whose access point exceeds a certain period from the present.
  • data satisfying a criterion for a preset access time may be moved to and stored in the corresponding storage.
  • each storage 200 is configured to have different data structures in consideration of data read/write characteristics and space utilization characteristics.
  • the DRAM 210 and the NVM 220 store data using a T-Tree structure
  • the DISK 230 store data using a B-Tree structure.
  • each storage 200 is basically composed of an index data storage 201 and a search filter 202, and the index object storage 203 is additionally added to the DRAM 210 in which data to be initially inserted is stored. It is provided.
  • the index data storage 201 stores actual index data for data stored in each storage 200.
  • the index data of the DRAM 210 and the NVM 220 are stored using a T-Tree structure
  • the index data of the DISK 230 is stored using a B-Tree structure.
  • the T-Tree structure is an optimal data structure for accessing data in the main memory DBMS
  • the B-Tree structure is the most suitable data structure for a disk-based DBMS.
  • the search filter 202 may consist of a Bloom filter, which is a stochastic data structure used to test whether an element is a member of a set.
  • a bloom filter may be expressed as a bit stream having an m-bit size, and k different hash functions for each element among the bit streams having an m-bit size. Bits corresponding to the hash value of the derived element may be set to a valid value expressed in black, for example, "1", and the remaining bits may be set to "0".
  • an index having hash values by k hash functions of the data to be examined is obtained.
  • bit strings of bloom filters If all bits of the positions corresponding to the indices are "1”, it is determined that the corresponding data belongs to the set, and if any of those bits is "0", it is negative that it does not belong to the set. do.
  • the DRAM 210 may select “1,1”, NVM ( 220) and DISK 230 have a bit value of “0,0”, so it can be determined that the corresponding data is stored in the DRAM 210.
  • the index object store 203 stores index objects including storage information including the number of storage devices currently in use and index points for each storage.
  • Figure 3 is a view showing the internal configuration of the data processing means 100 shown in Figure 1 separated by function.
  • the data processing means 100 includes a data processing unit 110, a layering processing unit 120, an index processing unit 130, a storage search unit 140, and a search filter management unit 150.
  • the data processing unit 110 analyzes an input query, performs transaction processing such as insertion, deletion, modification, and search for the corresponding data in response to the query, and returns the transaction processing result as a query processing result.
  • the data processing unit 110 stores the corresponding data in the DRAM 210 for a data insertion request, provides the data to the index processing unit 120 to request index creation, and transmits the index data and the corresponding data to the DRAM 210. To save. That is, the data processing unit 110 unconditionally stores and processes the first insert request data in the DRAM 210.
  • the data processing unit 110 provides a hash value for the corresponding data to the search filter 202 of each storage 200 for a change transaction including deletion and modification of specific data previously stored in the storage 200 , Based on the bit value of the search filter 202, the storage target storage 200 is determined, and the determined storage target storage 200 searches and changes the corresponding target data.
  • the data processing unit 110 may perform a range search on all storage 200 for a range search query and perform transaction processing on the searched range.
  • the tiering processing unit 120 analyzes a recent access time of data stored in each storage 200, stratifies the data based on a difference between the current time and the access time, and corresponds to the data hierarchy to the predetermined storage 200. Perform data movement.
  • the tiering processing unit 120 may check the data storage amount of the other storage and further perform data movement to storage having a difference from the preset threshold. At this time, the layering processing unit 120 determines the moving target data based on the access point in time in correspondence with the layer of the storage where the data is to be moved and stored. That is, when the layer of storage for storing data is higher than the storage in which the current data is stored, the access point is determined as the data to be moved in the order of recent data.
  • the index processor 130 changes index data to correspond to data inserted and changed and data moved by the layering process.
  • the index processor 130 changes index data to correspond to the data structure of the storage 200 in which the corresponding data is stored.
  • the storage search unit 140 calculates a hash value by applying the data to the hash function in response to the request from the data processing unit 110, and a bit corresponding to the hash value in the search filter 202 of each storage 200 The bit value of is called, and the storage 200 in which the corresponding request data is stored is determined based on the called bit value.
  • the search filter 202 of the DRAM 210 calls the “2" and “6” th bit values to DRAM Set as the search value, and call the "2" and “6” bit values from the search filter 202 of the NVM 220 to set the NVM search value, and select "2" from the search filter 202 of the DISK 230.
  • Set the DISK search value by calling the "and "6" bit values.
  • storage that is “1” in each storage search value may be set as the storage to be searched. In this case, when two or more storages are determined as a search target, the storage search unit 140 may set all storages as the search target storage.
  • the search filter manager 150 updates the bit stream of the search filter 203 in response to data stored in the corresponding storage 200. That is, the search filter management unit 150 applies the data to a predetermined hash function and sets the search filter bit of the DRAM at a position corresponding to the hash value to an effective value.
  • the search filter management unit 150 re-generates a search filter bit string of each storage 200 based on the currently stored data when a predetermined period or the number of times data is deleted from the storage 200 is greater than a predetermined period.
  • the biggest problem with bloom filters is that you can only add elements to a set, but not elements. Accordingly, in a system that searches for a specific data item in a database using a bloom filter, if a data item is added to and deleted from the database, the bloom filter outputs a search result as if the data item still exists in the database, Since it is not possible to judge whether or not to delete, the false positive judgment increases rapidly. Accordingly, the search filter bit stream is periodically regenerated based on the currently stored data to solve the problem of the bloom filter.
  • index object storage 203 of the DRAM 210 storage information including the number and pointer of the storage 200 provided in the system is registered.
  • a search filter 201 and an index data storage 202 are provided in each storage 200.
  • the data processing means 100 performs data layering processing on the data pre-stored in the storage 200 (ST100), and inserts, modifies, deletes and searches data in response to a query requested from the outside.
  • the corresponding data management process is performed, and the result is returned as a query result value (ST200).
  • the data processing means 100 regenerates the search filter 202 provided in each storage 200 when the preset condition for regeneration of the search filter is satisfied while performing the above-described data layering process and data management process. (ST300).
  • the data processing means 100 regenerates a search filter bit string of the corresponding storage 200 or deletes data from at least one storage 200 when data deletion in the storage 200 is performed more than a preset number of times. When the number of times is greater than or equal to the set number, the search filter bit string of all the storages 200 may be regenerated.
  • index data and search filter 203 are respectively registered and stored in correspondence to the stored data, and a layering criterion for data tiering is set in advance.
  • the data processing means 100 determines whether there is data to be moved among the data stored in each storage 200 and the current state satisfies a preset layering condition (ST110).
  • the layering criterion may be set as a difference between a current date and a data access date.
  • step ST110 the data processing means 100 determines the storage target storage 200 to which the target data is to be moved (ST120).
  • the DRAM 210 stores the HOT data having the shortest difference between the current date and the data access date, the difference between the current date and the data access date, and the WARM data is stored in the NVM 220, and the current date and data
  • the storage target storage 200 may be determined such that COLD data having the longest difference between access dates is stored in the DISK 230.
  • the data processing means 100 allocates a new slot to the storage target storage 200 and stores the movement target data corresponding to the index structure of the storage target storage 220. (ST130). Data is stored in the DRAM 210 and NVM 220 in a T-Tree structure, and data is stored in the DISK 230 in a B-Tree structure.
  • the data processing means 100 updates the index data storage 201 and the search filter 203 of the storage 200 before the movement and the storage target storage 200 after the movement in response to the movement of the data to be moved ( ST140). That is, the index data for the corresponding data is deleted from the index data storage 201 of the storage 200 before moving, and the index data for the moving target data is generated in the index data storage 201 of the storage target storage 200. To add. In addition, the search filter bit string of the storage target storage 200 is updated to search the corresponding data.
  • the data processing means 100 analyzes the query and determines the transaction type included in the query.
  • the data processing means 100 allocates a new slot to the DRAM 210 to store the data (ST220), and corresponds to the corresponding data stored in the DRAM 210
  • the new index data is generated and stored in the index data storage 201 of the DRAM 210 (ST230).
  • the data processing means 100 updates the search filter bit string provided in the DRAM 210 in response to the inserted data (ST240). At this time, the data processing means 100 calculates a hash function for the changed data, and sets a search filter bit string corresponding to the calculated hash value to "1".
  • the data processing means 100 applies the data to the predetermined k hash functions to calculate a hash value, and each storage The corresponding hash value is transmitted to (200) to collect the bit value of the position corresponding to the currently calculated hash value in the corresponding search filter bit string for each storage (200) (ST260).
  • the data processing means 100 determines the search target storage 200 based on the search filter bit value of each storage 200 (ST270). At this time, the data processing means 100 determines the corresponding storage 200 as the search target storage when the bit values are all "1." And, when the search target storage is two, all three storages are changed to the search target. In addition, when the storage to be searched does not exist, processing to return the query result as the requested data does not exist in any storage.
  • the data processing means 100 searches for the corresponding change target data in the search target storage 200 and performs the corresponding change transaction processing in the storage 200 in which the change target data is searched (ST280). That is, change processing such as modification or deletion of data stored in the searched storage 200 is performed.
  • the data processing means 100 updates the index data storage 201 of the corresponding storage 200 in response to the data change in step ST280 (ST290). That is, in response to data deletion, the index data of the corresponding data is deleted from the corresponding index data storage 201, and the index data stored in the corresponding index data storage 201 is changed in response to data modification.
  • the data processing means 100 performs the operations of ST260 to ST280 of FIG. 6 for the search transaction.
  • the data processing means 100 calculates a hash value by applying the corresponding data to the predetermined k hash functions for the search transaction, and transmits the hash value to each storage 200 to correspond to each storage 200
  • the search target storage 200 is determined by collecting a bit value at a position corresponding to the currently calculated hash value in the search filter bit string. Then, the data processing means 100 searches for the search target data in the search target storage 200 and returns the searched data as a result of the query.
  • the data processing means 100 may perform a corresponding range search process in all storage for a certain range search and return the query result.

Landscapes

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

Abstract

The present invention relates to a database management system that stores data in different storages, such as DRAMs, NVMs, or disks. The present invention relates to a technology that enables faster access to required data in such a manner that each storage is provided with a search filter corresponding to stored data, and a storage in which requested data is stored is selected through the search filter to perform a data retrieval process.

Description

이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치Hybrid indexing device in heterogeneous storage-based database management system
본 발명은 데이터를 DRAM, NVM 또는 DISK와 같이 상이한 스토리지에 저장하는 데이터베이스 관리 시스템에 관한 것으로, 각 스토리지에 해당 저장 데이터에 대응되는 인덱스 데이터를 각각 저장하여 보다 효율적으로 인덱스 데이터 관리를 수행함은 물론, 각 스토리지에 검색 필터를 각각 구비하여 요청 데이터가 저장된 스토리지에서 데이터 검색처리를 수행함으로써, 필요한 데이터에 보다 빠르게 접근할 수 있도록 해 주는 기술에 관한 것이다. The present invention relates to a database management system that stores data in different storages, such as DRAM, NVM, or DISK. Index data corresponding to the stored data is stored in each storage to perform index data management more efficiently. It relates to a technology that provides a search filter in each storage to perform data search processing in the storage in which the requested data is stored, thereby allowing faster access to required data.
데이터베이스 관리 시스템(DataBase Management System, DBMS)은 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 하는 소프트웨어 도구의 집합이다. 보다 구체적으로, DBMS는 데이터베이스 서버에 구현되어 다수의 사용자들 또는 프로그램들의 요구를 체계적으로 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해준다.A database management system (DBMS) is a set of software tools that allow multiple users to access data in a database. More specifically, a DBMS is implemented in a database server to systematically handle the needs of a large number of users or programs and respond appropriately to use data.
한편, DBMS는 외부로부터 특정 질의(Query)가 입력되는 경우, 입력된 질의에 따라 데이터베이스에 데이터를 선택, 삽입, 갱신, 삭제 등의 기능을 수행한다. 여기서 질의란 데이터베이스의 테이블에 저장되어 있는 데이터에 대한 어떠한 요구, 즉 데이터에 대한 어떠한 조작을 하기 원하는지를 기술한 것을 의미하는 것으로서, SQL(Structured Query Language)과 같은 언어를 이용하여 표현한다.Meanwhile, when a specific query is input from the outside, the DBMS performs functions such as selecting, inserting, updating, and deleting data in the database according to the entered query. Here, a query means a description of what request for data stored in a table in a database, that is, what operation to perform on the data, is expressed using a language such as Structured Query Language (SQL).
그리고, 데이터의 양이 갈수록 방대해짐에 따라 DBMS는 일반적으로 색인(index)을 구비한다. 여기서, 인덱스는 데이터베이스 분야에 있어서 테이블에 대한 탐색 속도를 높여주는 자료구조를 의미한다. In addition, as the amount of data increases, the DBMS generally has an index. Here, the index means a data structure that speeds up a search for a table in the database field.
한편, 최근에는 각기 다른 성능을 가진 스토리지를 구비하는 하이브리드 DBMS가 제안되어 운용되고 있다. 이러한 하이브리드 DBMS에 구비되는 스토리지는 DRAM, NVM, DISK 등이 있다.Meanwhile, recently, hybrid DBMSs having storages having different performances have been proposed and operated. Storage provided in the hybrid DBMS includes DRAM, NVM, and DISK.
DRAM은 읽기 및 쓰기 작업이 빠르지만 가격이 크게 떨어졌음에도 불구하고 아직도 비교적 비싼 편에 속한다. DRAM is fast to read and write, but it is still relatively expensive despite a significant price drop.
NVM은 쓰기 작업의 성능은 DRAM 처럼 빠르지만 읽기 성능은 쓰기 성능에 비해 떨어진다. 또한 NVM의 가격은 DISK보다 비싸다.NVM has a write operation that is as fast as DRAM, but has poor read performance compared to write performance. Also, the price of NVM is more expensive than DISK.
DISK는 비용이 저렴하고 대용량 저장공간을 제공하지만 읽기 및 쓰기 성능이 가장 떨어진다. 하이브리드 DBMS는 이러한 문제를 해결하기 위해 HOT 데이터는 DRAM에 저장하고 WARM 데이터는 NVM에, 가장 오랫동안 액세스되지 않은 COLD 데이터는 DISK에 저장한다. DISK offers low cost and large storage space, but has the lowest read and write performance. To solve this problem, the hybrid DBMS stores HOT data in DRAM, WARM data in NVM, and COLD data that has not been accessed for the longest time in DISK.
그런데, 이렇게 데이터를 계층별로 나누어 저장하는 하이브리드 DBMS에서 하나의 스토리지에 인덱스를 모두 저장하여 운용하는 경우, 해당 스토리지의 메모리 사용이 크게 늘어 날 수 있고, 용량이 큰 인덱스인 경우 스토리지 내 매우 많은 공간을 차지 할 수도 있기 때문에 매우 비효율적인 운용 방법이다.However, in a hybrid DBMS that divides and stores data by layer, if all indexes are stored and operated in one storage, the memory usage of the storage may increase significantly, and in the case of a large capacity index, very much space in the storage is used. It can be occupied, so it is a very inefficient operation method.
또한, 성능적 측면에서도 In-Memory DBMS에 적합한 T-tree 인덱스는 Disk 기반 DBMS에서 높은 성능을 보이는 B-tree와 같은 성능을 내지 못하기 때문에, 특정 스토리지의 특성에 적합한 자료구조를 적용하여 하이브리드 DBMS를 운용하는 경우 작업 성능이 저하될 수 있다. In addition, since the T-tree index suitable for an in-memory DBMS does not have the same performance as a B-tree that shows high performance in a disk-based DBMS in terms of performance, a hybrid DBMS is applied by applying a data structure suitable for specific storage characteristics In the case of operating the work performance may be deteriorated.
이에, 본 발명은 상기한 사정을 감안하여 창출된 것으로, 각 스토리지에 해당 저장 데이터에 대응되는 인덱스를 해당 스토리지에 적합한 자료구조로 각각 저장함으로써, 보다 효율적으로 인덱스 데이터 관리를 수행할 수 있도록 해 주는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치를 제공함에 그 기술적 목적이 있다.Accordingly, the present invention was created in consideration of the above-described circumstances, and each index is stored in a data structure suitable for the corresponding storage in each storage, thereby enabling more efficient index data management. The technical objective is to provide a hybrid indexing device in a heterogeneous storage-based database management system.
또한, 본 발명은 각 스토리지에 저장 데이터에 대응되는 검색 필터를 각각 구비하여, 검색 필터를 통해 요청 데이터가 저장된 스토리지를 선택하여 데이터 검색처리를 수행함으로써, 불필요한 읽기 작업을 줄여 보다 신속하게 데이터를 검색할 수 있도록 해 주는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치를 제공함에 또 다른 기술적 목적이 있다.In addition, the present invention is equipped with a search filter corresponding to the stored data in each storage, and by selecting the storage in which the requested data is stored through the search filter, and performing data search processing, it reduces unnecessary read operations and searches data more quickly. Another technical purpose is to provide a hybrid indexing device in a heterogeneous storage-based database management system that enables the user to do so.
상기 목적을 달성하기 위한 본 발명의 일측면에 따르면, DRAM(dynamic random access memory)과, NVM(non-volatile memory) 및, DISK를 포함하고, 각 스토리지는 해당 스토리지에 저장된 데이터에 대응되는 인덱스 데이터가 저장되는 인덱스 데이터 저장소와, 일정 비트열을 가지면서 해당 스토리지에 저장된 데이터에 대응되는 위치의 비트값이 유효값으로 설정되는 검색필터를 포함하여 구성되는 다수의 스토리지와, 외부로부터의 데이터 삽입 요청에 대해서는 DRAM에 해당 데이터를 저장함과 더불어, 저장된 데이터에 대응되는 새로운 인덱스 데이터를 생성하여 DRAM의 인덱스 데이터 저장소에 저장하고, 해당 데이터를 기 설정된 해시 함수에 적용하여 그 해시값에 대응되는 위치의 DRAM의 검색필터 비트를 유효값으로 설정하며, 외부로부터의 데이터 수정 및 삭제를 포함하는 데이터 변경요청에 대해서는 변경 대상 데이터를 기 설정된 해시함수에 적용하여 해시값을 산출한 후, 각 스토리지에서 해시값에 대응되는 위치의 비트값을 근거로 변경 대상 데이터가 저장된 스토리지를 결정하고, 결정된 스토리지에서 변경 대상 데이터를 검색하여 데이터 변경처리를 수행함과 더불어 변경내용에 대응하여 인덱스 데이터 저장소에 저장된 인덱스 데이터를 변경하는 데이터 관리를 수행하는 데이터 처리수단을 포함하여 구성되는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치가 제공된다.According to an aspect of the present invention for achieving the above object, including dynamic random access memory (DRAM), non-volatile memory (NVM), and DISK, each storage is index data corresponding to data stored in the corresponding storage A plurality of storages including an index data storage in which a data is stored, a search filter having a bit string, and a bit value of a location corresponding to data stored in the storage is set to a valid value, and a request to insert data from the outside With respect to, the corresponding data is stored in the DRAM, and new index data corresponding to the stored data is generated and stored in the index data storage of the DRAM, and the corresponding data is applied to a predetermined hash function to DRAM at a location corresponding to the hash value. The search filter bit of is set to a valid value, and for data change requests that include data modification and deletion from the outside, the hash value is calculated by applying the data to be changed to a predetermined hash function, and then the hash value is stored in each storage. Based on the bit value of the corresponding location, it determines the storage where the data to be changed is stored, retrieves the data to be changed from the determined storage, performs data change processing, and changes the index data stored in the index data storage in response to the changes. A hybrid indexing device is provided in a heterogeneous storage-based database management system comprising data processing means for performing data management.
또한, 상기 DRAM에는 최초 데이터 삽입을 포함하여 억세스 시점이 현재로부터 일정 기간 이내인 HOT 데이터가 저장되고, NVM에는 현재로부터 억세스 시점이 일정 기간이 경과된 WARM 데이터가 저장되며, DISK에는 현재로부터 억세스 시점이 일정 기간을 초과하는 COLD 데이터가 저장되도록 구성되고, 상기 데이터 처리수단은 각 스토리지에 저장된 데이터의 억세스 시점을 근거로 스토리지간 데이터를 이동하는 데이터 계층화를 수행함과 더불어, 데이터의 이동에 대응하여 해당 스토리지의 인덱스 데이터 저장소 및 검색필터의 비트열을 업데이트하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치가 제공된다.In addition, the DRAM stores HOT data having an access point within a certain period from the present, including the initial data insertion, and the NVM stores WARM data with a certain period of access from the present, and DISK access from the current COLD data exceeding a certain period is configured to be stored, and the data processing means performs data tiering to move data between storages based on the access point of data stored in each storage, and corresponds to data movement. A hybrid indexing device is provided in a heterogeneous storage-based database management system characterized by updating the index data storage of storage and the bit stream of a search filter.
또한, 상기 데이터 처리수단은 데이터 계층화 수행시 임의 스토리지에 저장된 데이터량이 기 설정된 임계치 이상인 경우, 타 스토리지의 데이터 저장량을 확인하고, 기 설정된 임계치와 차이가 큰 스토리지로의 데이터 이동을 추가로 수행하되, 데이터가 이동 저장될 스토리지의 계층에 대응하여 억세스 시점에 기반한 이동 대상 데이터를 결정하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치가 제공된다.In addition, the data processing means, if the amount of data stored in any storage when performing data tiering is greater than or equal to a preset threshold, check the data storage amount of the other storage, and additionally perform data movement to storage having a difference from the preset threshold, A hybrid indexing device is provided in a heterogeneous storage-based database management system characterized by determining data to be moved based on an access time point in correspondence with a layer of storage in which data is to be stored and moved.
또한, 상기 각 스토리지는 데이터의 읽기/쓰기 특성과 공간 활용 특성을 고려하여 서로 다른 자료구조를 갖도록 구성되고, 상기 데이터 처리수단은 데이터 저장시 해당 스토리지의 자료구조에 대응되게 데이터를 저장하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치가 제공된다.In addition, each storage is configured to have different data structures in consideration of read/write characteristics and space utilization characteristics of data, and the data processing means stores data corresponding to the data structures of the corresponding storage when data is stored. A hybrid indexing device is provided in a heterogeneous storage-based database management system.
또한, 상기 데이터 처리수단은 기 설정된 조건에 따라 각 스토리지에 구비된 검색필터 비트열을 해당 스토리지에 저장된 데이터를 기반으로 재생성하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치가 제공된다.In addition, the data processing means is provided with a hybrid indexing device in a heterogeneous storage-based database management system, characterized in that the search filter bit string provided in each storage is regenerated based on data stored in the storage according to a preset condition. .
또한, 상기 데이터 처리수단은 스토리지에서 데이터 삭제가 기 설정된 횟수 이상 이루어지는 경우, 해당 스토리지의 검색필터 비트열을 재생성하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치가 제공된다.In addition, the data processing means is provided with a hybrid indexing device in a heterogeneous storage-based database management system characterized by regenerating the search filter bit string of the storage when data deletion from the storage is performed more than a predetermined number of times.
본 발명에 의하면, 비용이 비싼 스토리지에 많은 양의 인덱스 데이터가 저장되던 문제를 해결함은 물론, 요청된 질의에 대해 무조건적으로 모든 스토리지를 검사하지 않고 Bloom 필터를 이용하여 요청된 데이터가 저장된 스토리지를 선택하여 검색함으로써, 검색 성능을 향상시킬 수 있다. According to the present invention, as well as solving the problem of storing a large amount of index data in expensive storage, the storage in which the requested data is stored by using the Bloom filter without unconditionally checking all the storage for the requested query Search performance can be improved by selecting and searching.
또한, 본 발명에 의하면 주기적으로 현재 저장된 데이터를 기반으로 각 스토리지의 검색필터 비트열을 재 생성함으로써, 삭제된 데이터가 여전히 해당 스토리지에 존재하는 것처럼 판정하는 오류를 최소화할 수 있다. In addition, according to the present invention, by periodically regenerating the search filter bit string of each storage based on the currently stored data, it is possible to minimize the error of determining that the deleted data still exists in the corresponding storage.
도1은 제1 실시예에 따른 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치의 개략적인 구성을 도시한 도면.1 is a view showing a schematic configuration of a hybrid indexing device in a heterogeneous storage-based database management system according to the first embodiment.
도2는 도1에 도시된 검색 필터(203) 구조를 설명하기 위한 도면. FIG. 2 is a view for explaining the structure of the search filter 203 shown in FIG. 1;
도3은 도1에 도시된 데이터 처리수단(100)의 내부 구성을 기능별로 분리하여 나타낸 도면.3 is a view showing the internal configuration of the data processing means 100 shown in FIG. 1 separated by function.
도4는 도1에 도시된 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치의 동작을 설명하기 위한 도면.4 is a view for explaining the operation of the hybrid indexing device in the heterogeneous storage-based database management system shown in FIG.
도5는 도4에 도시된 데이터 계층화처리 동작(ST100)을 보다 상세히 설명하기 위한 도면.5 is a view for explaining in more detail the data layering process operation (ST100) shown in FIG.
도6은 도4에 도시된 데이터 관리 동작(ST200)을 보다 상세히 설명하기 위한 도면.FIG. 6 is a diagram for explaining the data management operation ST200 shown in FIG. 4 in more detail.
본 발명에 기재된 실시예 및 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 표현하는 것은 아니므로, 본 발명의 권리범위는 본문에 설명된 실시예 및 도면에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The configurations shown in the embodiments and drawings described in the present invention are only preferred embodiments of the present invention, and do not represent all of the technical spirit of the present invention, so the scope of the present invention is the embodiments and drawings described in the text It should not be construed as limited by. That is, since the embodiments can be variously changed and have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing technical ideas. In addition, the purpose or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such an effect, and the scope of the present invention should not be understood as being limited thereby.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as generally understood by a person skilled in the art to which the present invention pertains, unless otherwise defined. The terms defined in the commonly used dictionary should be interpreted as being consistent with meanings in the context of related technologies, and cannot be interpreted as having ideal or excessively formal meanings that are not explicitly defined in the present invention.
도1은 본 발명의 제1 실시예에 따른 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치의 개략적인 구성을 도시한 도면이다. 1 is a diagram showing the schematic configuration of a hybrid indexing device in a heterogeneous storage-based database management system according to a first embodiment of the present invention.
도1을 참조하면, 본 발명에 따른 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치는 데이터 처리수단(100)과 서로 다른 타입의 스토리지(200)를 포함한다.Referring to FIG. 1, in the heterogeneous storage-based database management system according to the present invention, the hybrid indexing device includes a data processing means 100 and different types of storage 200.
상기 스토리지(200)는 DRAM(dynamic random access memory, 210)과, NVM(non-volatile memory, 220) 및 DISK(230)를 포함한다. The storage 200 includes a dynamic random access memory (DRAM) 210, a non-volatile memory (NVM) 220, and a DISK 230.
여기서, 상기 DRAM(210)에는 최초 데이터 삽입을 포함하여 억세스 시점이 현재로부터 일정 기간 이내인 HOT 데이터가 저장되고, NVM(220)에는 현재로부터 억세스 시점이 일정 기간이 경과된 WARM 데이터가 저장되며, DISK(230)에는 현재로부터 억세스 시점이 일정 기간을 초과하는 COLD 데이터가 저장되도록 구성된다. 물론, 이외에 또 다른 타입의 스토리지가 구비된 경우, 기 설정된 억세스 시점을 기준을 만족하는 데이터가 해당 스토리지에 이동되어 저장될 수 있다. Here, the DRAM 210 stores HOT data having an access point within a certain period from the present, including the initial data insertion, and the NVM 220 stores WARM data whose access point has passed a certain period from the present, DISK 230 is configured to store COLD data whose access point exceeds a certain period from the present. Of course, if another type of storage is provided, data satisfying a criterion for a preset access time may be moved to and stored in the corresponding storage.
이때, 각 스토리지(200)는 데이터의 읽기/쓰기 특성과 공간 활용 특성을 고려하여 서로 다른 자료구조를 갖도록 구성된다. DRAM(210)와 NVM(220)는 T-Tree 구조를 이용하여 데이터가 저장되고, DISK(230)는 B-Tree 구조를 이용하여 데이터가 저장된다. At this time, each storage 200 is configured to have different data structures in consideration of data read/write characteristics and space utilization characteristics. The DRAM 210 and the NVM 220 store data using a T-Tree structure, and the DISK 230 store data using a B-Tree structure.
또한, 상기 각 스토리지(200)는 기본적으로 인덱스 데이터저장소(201)와 검색필터(202)를 포함하여 구성되고, 최초 삽입되는 데이터가 저장되는 DRAM(210)에는 인덱스 오브젝트 저장소(203)가 추가로 구비된다.In addition, each storage 200 is basically composed of an index data storage 201 and a search filter 202, and the index object storage 203 is additionally added to the DRAM 210 in which data to be initially inserted is stored. It is provided.
인덱스 데이터 저장소(201)는 각 스토리지(200)에 저장된 데이터에 대한 실제 인덱스 데이터를 저장한다. 이때, DRAM(210)와 NVM(220)의 인덱스 데이터는 T-Tree 구조를 이용하여 저장되고, DISK(230)의 인덱스 데이터는 B-Tree 구조를 이용하여 저장된다. 상기 T-Tree 구조는 메인 메모리 DBMS에서 데이터에 접근하는데 최적의 자료 구조이고, B-Tree 구조는 디스크 기반 DBMS에 가장 적합한 자료 구조이다.The index data storage 201 stores actual index data for data stored in each storage 200. At this time, the index data of the DRAM 210 and the NVM 220 are stored using a T-Tree structure, and the index data of the DISK 230 is stored using a B-Tree structure. The T-Tree structure is an optimal data structure for accessing data in the main memory DBMS, and the B-Tree structure is the most suitable data structure for a disk-based DBMS.
검색필터(202)는 요소가 집합의 구성원인지 테스트하는데 사용되는 확률적 자료 구조인 Bloom 필터로 이루어질 수 있다. The search filter 202 may consist of a Bloom filter, which is a stochastic data structure used to test whether an element is a member of a set.
블룸 필터(Bloom filter)는 도2에 도시된 바와 같이 m 비트 크기의 비트열로 표현될 수 있는데, m 비트의 비트열 중에서 각각의 원소에 관하여 k 가지의 서로 다른 해시 함수(hash function)에 의해 도출된 원소의 해시값에 대응하는 비트들이검정색으로 표현되는 유효값, 예컨대 "1"로 설정되고 나머지 비트들은 "0"으로 설정될 수 있다. As shown in FIG. 2, a bloom filter may be expressed as a bit stream having an m-bit size, and k different hash functions for each element among the bit streams having an m-bit size. Bits corresponding to the hash value of the derived element may be set to a valid value expressed in black, for example, "1", and the remaining bits may be set to "0".
즉, 어떤 데이터가 해당 스토리지(200)에 저장되는지 여부를 검사(query)할 경우에, 검사하려는 데이터의 k가지 해시 함수에 의한 해시값들이 가지는 인덱스(index)가 얻어지는데, 블룸 필터 비트열 중에서 그러한 인덱스들에 해당하는 위치의 비트들이 모두 "1"이면 해당 데이터가 집합에 속한다고 양성으로(positive) 판정하고, 그러한 비트들 중에 하나라도 "0"이면 집합에 속하지 않는다고 음성으로(negative) 판정한다.That is, when querying whether or not any data is stored in the corresponding storage 200, an index having hash values by k hash functions of the data to be examined is obtained. Among the bit strings of bloom filters If all bits of the positions corresponding to the indices are "1", it is determined that the corresponding data belongs to the set, and if any of those bits is "0", it is negative that it does not belong to the set. do.
예컨대, 도2에서 해시함수에 의해 산출된 "2"와 "6"으로, 블룸 필터(202)의 제2 비트와 제6 비트가 선택된 경우, DRAM(210)은 "1,1", NVM(220)과 DISK(230)은 "0,0"의 비트값을 가지므로, 해당 데이터는 DRAM(210)에 저장된 것으로 판단할 수 있다.For example, when the second bit and the sixth bit of the bloom filter 202 are selected as “2” and “6” calculated by the hash function in FIG. 2, the DRAM 210 may select “1,1”, NVM ( 220) and DISK 230 have a bit value of “0,0”, so it can be determined that the corresponding data is stored in the DRAM 210.
인덱스 오브젝트 저장소(203)는 현재 사용중인 스토리지 장치 수와 각 스토리지에 대한 인덱스 포인트를 포함하는 스토리지 정보로 이루어지는 인덱스 오브젝트가 저장된다. The index object store 203 stores index objects including storage information including the number of storage devices currently in use and index points for each storage.
한편, 도3은 도1에 도시된 데이터 처리수단(100)의 내부 구성을 기능별로 분리하여 나타낸 도면이다.On the other hand, Figure 3 is a view showing the internal configuration of the data processing means 100 shown in Figure 1 separated by function.
도3을 참조하면, 데이터 처리수단(100)은 데이터 처리부(110)와, 계층화 처리부(120), 인덱스 처리부(130), 스토리지 검색부(140) 및, 검색필터 관리부(150)를 포함한다.Referring to FIG. 3, the data processing means 100 includes a data processing unit 110, a layering processing unit 120, an index processing unit 130, a storage search unit 140, and a search filter management unit 150.
데이터 처리부(110)는 입력되는 질의를 분석하고, 질의에 대응하여 해당 데이터에 대한 삽입, 삭제, 수정, 검색 등의 트랜잭션 처리를 수행하며, 트랜잭션 처리 결과를 질의 처리 결과로서 반환한다.The data processing unit 110 analyzes an input query, performs transaction processing such as insertion, deletion, modification, and search for the corresponding data in response to the query, and returns the transaction processing result as a query processing result.
데이터 처리부(110)는 데이터 삽입요청에 대해 DRAM(210)에 해당 데이터를 저장하고, 해당 데이터를 인덱스 처리부(120)로 제공하여 인덱스 생성을 요청하며, 인덱스 데이터와 해당 데이터를 DRAM(210)에 저장한다. 즉, 데이터 처리부(110)는 최초의 삽입 요청 데이터는 무조건 DRAM(210)에 저장하여 처리한다.The data processing unit 110 stores the corresponding data in the DRAM 210 for a data insertion request, provides the data to the index processing unit 120 to request index creation, and transmits the index data and the corresponding data to the DRAM 210. To save. That is, the data processing unit 110 unconditionally stores and processes the first insert request data in the DRAM 210.
또한, 데이터 처리부(110)는 스토리지(200)에 기 저장된 특정 데이터에 대한 삭제 및 수정을 포함하는 변경 트랜잭션에 대해서는 해당 데이터에 대한 해쉬값을 각 스토리지(200)의 검색필터(202)로 제공하고, 이에 대한 검색필터(202)의 비트값을 근거로 저장 대상 스토리지(200)를 결정하며, 결정된 저장 대상 스토리지(200)에서 해당 변경 대상 데이터에 대한 검색 및 변경처리를 수행한다. In addition, the data processing unit 110 provides a hash value for the corresponding data to the search filter 202 of each storage 200 for a change transaction including deletion and modification of specific data previously stored in the storage 200 , Based on the bit value of the search filter 202, the storage target storage 200 is determined, and the determined storage target storage 200 searches and changes the corresponding target data.
또한, 데이터 처리부(110)는 범위 검색 질의에 대해서는 모든 스토리지(200)에서 해당 범위 검색을 수행하고, 검색된 범위에 대한 트랜잭션 처리를 수행할 수 있다. In addition, the data processing unit 110 may perform a range search on all storage 200 for a range search query and perform transaction processing on the searched range.
계층화 처리부(120)는 각 스토리지(200)에 저장된 데이터의 최근 억세스 시점을 분석하고, 현재 시점과 액세스 시점간의 차이를 근거로 데이터를 계층화하며, 데이터의 계층에 대응하여 기 설정된 스토리지(200)로의 데이터 이동을 수행한다. The tiering processing unit 120 analyzes a recent access time of data stored in each storage 200, stratifies the data based on a difference between the current time and the access time, and corresponds to the data hierarchy to the predetermined storage 200. Perform data movement.
또한, 계층화 처리부(120)는 임의 스토리지에 저장된 데이터량이 기 설정된 임계치 이상인 경우, 타 스토리지의 데이터 저장량을 확인하고, 기 설정된 임계치와 차이가 큰 스토리지로의 데이터 이동을 추가로 수행할 수 있다. 이때, 계층화 처리부(120)는 데이터가 이동 저장될 스토리지의 계층에 대응하여 억세스 시점에 기반한 이동 대상 데이터를 결정한다. 즉, 데이터를 저장할 스토리지의 계층이 현재 데이터가 저장된 스토리지보다 높은 경우, 억세스 시점이 최근인 데이터 순으로 이동 대상 데이터로 결정한다. In addition, when the amount of data stored in any storage is greater than or equal to a preset threshold, the tiering processing unit 120 may check the data storage amount of the other storage and further perform data movement to storage having a difference from the preset threshold. At this time, the layering processing unit 120 determines the moving target data based on the access point in time in correspondence with the layer of the storage where the data is to be moved and stored. That is, when the layer of storage for storing data is higher than the storage in which the current data is stored, the access point is determined as the data to be moved in the order of recent data.
인덱스 처리부(130)는 데이터 삽입과 변경 및 상기 계층화 처리에 의해 이동되는 데이터에 대응되게 인덱스 데이터를 변경한다. 인덱스 처리부(130)는 해당 데이터가 저장되는 스토리지(200)의 자료 구조에 대응되도록 인덱스 데이터를 변경한다. The index processor 130 changes index data to correspond to data inserted and changed and data moved by the layering process. The index processor 130 changes index data to correspond to the data structure of the storage 200 in which the corresponding data is stored.
스토리지 검색부(140)는 데이터 처리부(110)로부터의 요청에 대해 해당 데이터를 해시함수에 적용하여 해시값을 산출하고, 각 스토리지(200)의 검색필터(202)에서 해당 해시값에 대응되는 비트의 비트값을 호출하며, 호출된 비트값을 근거로 해당 요청 데이터가 저장된 스토리지(200)를 결정한다.The storage search unit 140 calculates a hash value by applying the data to the hash function in response to the request from the data processing unit 110, and a bit corresponding to the hash value in the search filter 202 of each storage 200 The bit value of is called, and the storage 200 in which the corresponding request data is stored is determined based on the called bit value.
즉, 요청 데이터를 해시함수에 적용하여 산출된 비트 포인트가 "2"와 "6"인 경우, DRAM(210)의 검색필터(202)에서 "2"와 "6"번째 비트값을 호출하여 DRAM 검색값으로 설정하고, NVM(220)의 검색필터(202)에서 "2"와 "6"번째 비트값을 호출하여 NVM 검색값으로 설정하며, DISK(230)의 검색필터(202)에서 "2"와 "6"번째 비트값을 호출하여 DISK 검색값으로 설정한다. 그리고, 각 스토리지 검색값에서 모두 "1"인 스토리지를 검색 대상 스토리지로 설정할 수 있다. 이때, 스토리지 검색부(140)는 2개 이상의 스토리지가 검색대상으로 결정된 경우, 모든 스토리지를 검색 대상 스토리지로 설정할 수 있다.That is, when the bit points calculated by applying the requested data to the hash function are "2" and "6", the search filter 202 of the DRAM 210 calls the "2" and "6" th bit values to DRAM Set as the search value, and call the "2" and "6" bit values from the search filter 202 of the NVM 220 to set the NVM search value, and select "2" from the search filter 202 of the DISK 230. Set the DISK search value by calling the "and "6" bit values. In addition, storage that is “1” in each storage search value may be set as the storage to be searched. In this case, when two or more storages are determined as a search target, the storage search unit 140 may set all storages as the search target storage.
검색필터 관리부(150)는 해당 스토리지(200)에 저장되는 데이터에 대응하여 검색필터(203)의 비트열을 업데이트한다. 즉, 검색필터 관리부(150)는 해당 데이터를 기 설정된 해시 함수에 적용하여 그 해시값에 대응되는 위치의 DRAM의 검색필터 비트를 유효값으로 설정한다.The search filter manager 150 updates the bit stream of the search filter 203 in response to data stored in the corresponding storage 200. That is, the search filter management unit 150 applies the data to a predetermined hash function and sets the search filter bit of the DRAM at a position corresponding to the hash value to an effective value.
또한, 검색필터 관리부(150)는 기 설정된 기간 또는 스토리지(200)에서 데이터가 삭제되는 회수가 일정 이상인 경우, 현재 저장된 데이터를 기반으로 각 스토리지(200)의 검색필터 비트열을 재 생성한다. 일반적으로 블룸 필터의 가장 큰 문제는 집합에 원소를 추가시킬 수만 있고, 원소를 제거할 수는 없다. 이에 따라, 블룸 필터를 이용하여 데이터베이스 내에 특정 데이터 항목을 검색하는 시스템에서, 어떤 데이터 항목이 데이터베이스에 추가되었다가 삭제되었다면, 블룸 필터는 그 데이터 항목이 여전히 데이터베이스에 존재하는 것처럼 검색 결과를 출력하며, 삭제 여부를 판단할 수 없으므로, 거짓 양성 판정이 급증한다. 이에, 검색필터 비트열을 현재 저장된 데이터를 기반으로 주기적으로 재생성함으로써, 이러한 블룸 필터의 문제를 해결하기 위한 것이다. In addition, the search filter management unit 150 re-generates a search filter bit string of each storage 200 based on the currently stored data when a predetermined period or the number of times data is deleted from the storage 200 is greater than a predetermined period. In general, the biggest problem with bloom filters is that you can only add elements to a set, but not elements. Accordingly, in a system that searches for a specific data item in a database using a bloom filter, if a data item is added to and deleted from the database, the bloom filter outputs a search result as if the data item still exists in the database, Since it is not possible to judge whether or not to delete, the false positive judgment increases rapidly. Accordingly, the search filter bit stream is periodically regenerated based on the currently stored data to solve the problem of the bloom filter.
이어, 도4를 참조하여 도1에 도시된 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치의 동작을 설명한다. Next, the operation of the hybrid indexing device in the heterogeneous storage-based database management system shown in FIG. 1 will be described with reference to FIG. 4.
먼저, DRAM(210)의 인덱스 오브젝트저장소(203)에는 본 시스템에 구비된 스토리지(200)의 개 수 및 포인터를 포함하는 스토리지정보가 등록된다. 그리고, 각 스토리지(200)에는 검색필터(201)와 인덱스 데이터저장소(202)가 각각 구비된다.First, in the index object storage 203 of the DRAM 210, storage information including the number and pointer of the storage 200 provided in the system is registered. In addition, a search filter 201 and an index data storage 202 are provided in each storage 200.
상기한 상태에서, 데이터 처리수단(100)은 스토리지(200)에 기 저장된 데이터에 대한 데이터 계층화처리를 수행함과 더불어(ST100), 외부로부터 요구되는 질의에 대응하여 데이터 삽입, 수정, 삭제 및 검색을 포함하는 해당 데이터 관리처리를 수행하고, 그 결과를 질의 결과값으로 반환한다(ST200). In the above-described state, the data processing means 100 performs data layering processing on the data pre-stored in the storage 200 (ST100), and inserts, modifies, deletes and searches data in response to a query requested from the outside. The corresponding data management process is performed, and the result is returned as a query result value (ST200).
그리고, 데이터 처리수단(100)은 상기한 데이터 계층화처리 및 데이터 관리처리를 수행하면서, 검색필터 재생성을 위한 기 설정된 조건을 만족하는 경우 각 스토리지(200)에 구비된 검색필터(202)를 재 생성한다(ST300). 이때, 데이터 처리수단(100)은 스토리지(200)에서 데이터 삭제가 기 설정된 횟수 이상 이루어지는 경우, 해당 스토리지(200)의 검색필터 비트열을 재생성하거나, 적어도 하나의 스토리지(200)에서 데이터 삭제가 기 설정된 횟수 이상 이루어지는 경우, 모든 스토리지(200)의 검색필터 비트열을 재생성할 수 있다.In addition, the data processing means 100 regenerates the search filter 202 provided in each storage 200 when the preset condition for regeneration of the search filter is satisfied while performing the above-described data layering process and data management process. (ST300). In this case, the data processing means 100 regenerates a search filter bit string of the corresponding storage 200 or deletes data from at least one storage 200 when data deletion in the storage 200 is performed more than a preset number of times. When the number of times is greater than or equal to the set number, the search filter bit string of all the storages 200 may be regenerated.
이어, 도5를 참조하여 도4에 도시된 데이터 계층화처리 동작(ST100)을 보다 상세히 설명한다.Next, with reference to FIG. 5, the data layering operation (ST100) shown in FIG. 4 will be described in more detail.
도5를 참조하면, 먼저 각 스토리지(200)에 데이터가 저장되고, 저장된 데이터에 대응하여 인덱스 데이터 및 검색필터(203)가 각각 등록 저장되며, 데이터 계층화를 위한 계층화 기준이 미리 설정된다. Referring to FIG. 5, data is first stored in each storage 200, index data and search filter 203 are respectively registered and stored in correspondence to the stored data, and a layering criterion for data tiering is set in advance.
상기한 상태에서, 데이터 처리수단(100)은 각 스토리지(200)에 저장된 데이터 중 현재 상태가 기 설정된 계층화 조건을 만족하는 이동 대상 데이터가 존재하는지를 판단한다(ST110). 이때 계층화 기준은 현재 날짜와 데이터 억세스 날짜간의 차이로 설정될 수 있다.In the above-described state, the data processing means 100 determines whether there is data to be moved among the data stored in each storage 200 and the current state satisfies a preset layering condition (ST110). At this time, the layering criterion may be set as a difference between a current date and a data access date.
데이터 처리수단(100)은 상기 ST110 단계에서 이동 대상 데이터가 존재하면, 해당 이동 대상 데이터를 이동시킬 저장 대상 스토리지(200)를 결정한다(ST120). 이때, DRAM(210)에는 현재 날짜와 데이터 억세스 날짜간의 차이가 가장 짧은 HOT데이터가 저장되고, 현재 날짜와 데이터 억세스 날짜간의 차이가 중간이 WARM 데이터는 NVM(220)에 저장되며, 현재 날짜와 데이터 억세스 날짜간의 차이가 가장 긴 COLD 데이터는 DISK(230)에 저장되도록 저장 대상 스토리지(200)를 결정할 수 있다.In step ST110, the data processing means 100 determines the storage target storage 200 to which the target data is to be moved (ST120). At this time, the DRAM 210 stores the HOT data having the shortest difference between the current date and the data access date, the difference between the current date and the data access date, and the WARM data is stored in the NVM 220, and the current date and data The storage target storage 200 may be determined such that COLD data having the longest difference between access dates is stored in the DISK 230.
이어, 데이터 처리수단(100)은 저장 대상 스토리지(200)가 결정되면, 저장 대상 스토리지(200)에 새로운 슬롯을 할당하고, 이동 대상 데이터를 저장 대상 스토리지(220)의 인덱스 구조에 대응되게 저장한다(ST130). DRAM(210)과 NVM(220)에는 T-Tree 구조로 데이터가 저장되고, DISK(230)에는 B-Tree 구조로 데이터가 저장된다. Subsequently, when the storage target storage 200 is determined, the data processing means 100 allocates a new slot to the storage target storage 200 and stores the movement target data corresponding to the index structure of the storage target storage 220. (ST130). Data is stored in the DRAM 210 and NVM 220 in a T-Tree structure, and data is stored in the DISK 230 in a B-Tree structure.
또한, 데이터 처리수단(100)은 이동 대상 데이터의 이동에 대응하여 이동 전 스토리지(200)와 이동 후의 저장 대상 스토리지(200)의 인덱스 데이터 저장소(201) 및, 검색필터(203)를 업데이트 한다(ST140). 즉, 이동 전 스토리지(200)의 인덱스 데이터 저장소(201)에서 해당 데이터에 대한 인덱스 데이터를 삭제하고, 저장 대상 스토리지(200)의 인덱스 데이터 저장소(201)에는 해당 이동 대상 데이터에 대한 인덱스 데이터를 생성하여 추가한다. 또한, 저장 대상 스토리지(200)의 검색필터 비트열을 해당 데이터가 검색되도록 업데이트 한다. In addition, the data processing means 100 updates the index data storage 201 and the search filter 203 of the storage 200 before the movement and the storage target storage 200 after the movement in response to the movement of the data to be moved ( ST140). That is, the index data for the corresponding data is deleted from the index data storage 201 of the storage 200 before moving, and the index data for the moving target data is generated in the index data storage 201 of the storage target storage 200. To add. In addition, the search filter bit string of the storage target storage 200 is updated to search the corresponding data.
또한, 도6을 참조하여 도4에 도시된 데이터 관리 동작(ST200)을 보다 상세히 설명한다. In addition, the data management operation ST200 illustrated in FIG. 4 will be described in more detail with reference to FIG. 6.
데이터 처리수단(100)은 외부로부터 질의요청이 있게 되면, 해당 질의를 분석하여 해당 질의에 포함된 트랜잭션 종류를 판단한다.When there is a query request from the outside, the data processing means 100 analyzes the query and determines the transaction type included in the query.
데이터 처리수단(100)은 질의에 포함된 트랜잭션이 삽입 트랜잭션이면(ST210), DRAM(210)에 새로운 슬롯을 할당하여 데이터를 저장함과 더불어(ST220), DRAM(210)에 저장된 해당 데이터에 대응되는 새로운 인덱스 데이터를 생성하여 DRAM(210)의 인덱스 데이터저장소(201)에 저장한다(ST230).If the transaction included in the query is an insert transaction (ST210), the data processing means 100 allocates a new slot to the DRAM 210 to store the data (ST220), and corresponds to the corresponding data stored in the DRAM 210 The new index data is generated and stored in the index data storage 201 of the DRAM 210 (ST230).
또한, 데이터 처리수단(100)은 삽입 데이터에 대응하여 DRAM(210)에 구비된 검색필터 비트열을 업데이트시킨다(ST240). 이때, 데이터 처리수단(100)은 변경된 데이터에 대한 해시함수를 산출하고, 산출된 해시값에 대응되는 검색필터 비트열을 "1"로 설정한다. In addition, the data processing means 100 updates the search filter bit string provided in the DRAM 210 in response to the inserted data (ST240). At this time, the data processing means 100 calculates a hash function for the changed data, and sets a search filter bit string corresponding to the calculated hash value to "1".
한편, 데이터 처리수단(100)은 질의에 포함된 트랜잭션이 데이터의 수정이나 삭제를 포함하는 변경 트랜잭션이면(ST250), 해당 데이터를 기 설정된 k개의 해시함수에 적용하여 해시값을 산출하고, 각 스토리지(200)로 해당 해시값을 전송하여 각 스토리지(200)별 해당 검색필터 비트열에서 현재 산출된 해시값에 대응되는 위치의 비트값을 수집한다(ST260).Meanwhile, if the transaction included in the query is a change transaction including modification or deletion of data (ST250), the data processing means 100 applies the data to the predetermined k hash functions to calculate a hash value, and each storage The corresponding hash value is transmitted to (200) to collect the bit value of the position corresponding to the currently calculated hash value in the corresponding search filter bit string for each storage (200) (ST260).
데이터 처리수단(100)은 각 스토리지(200)의 검색필터 비트값을 근거로 검색 대상 스토리지(200)를 결정한다(ST270). 이때, 데이터 처리수단(100)은 비트값이 모두 "1'인 경우 해당 스토리지(200)를 검색 대상 스토리지로 결정한다. 그리고, 검색 대상 스토리지가 2개인 경우에는 3개의 모든 스토리지를 검색 대상으로 변경설정한다. 또한, 검색 대상 스토리지가 존재하지 않는 경우에는 요청된 데이터가 어느 스토리지에도 존재하지 않는 것으로 질의 결과를 반환하는 처리를 수행한다.The data processing means 100 determines the search target storage 200 based on the search filter bit value of each storage 200 (ST270). At this time, the data processing means 100 determines the corresponding storage 200 as the search target storage when the bit values are all "1." And, when the search target storage is two, all three storages are changed to the search target. In addition, when the storage to be searched does not exist, processing to return the query result as the requested data does not exist in any storage.
또한, 데이터 처리수단(100)은 검색 대상 스토리지(200)에서 해당 변경 대상 데이터를 검색하고, 변경 대상 데이터가 검색된 스토리지(200)에서 해당 변경 트랜잭션 처리를 수행한다(ST280). 즉, 검색된 스토리지(200)에 저장된 데이터를 수정하거나 삭제하는 등의 변경 처리를 수행한다.In addition, the data processing means 100 searches for the corresponding change target data in the search target storage 200 and performs the corresponding change transaction processing in the storage 200 in which the change target data is searched (ST280). That is, change processing such as modification or deletion of data stored in the searched storage 200 is performed.
그리고, 데이터 처리수단(100)은 상기 ST280 단계에서의 데이터 변경에 대응하여 해당 스토리지(200)의 인덱스 데이터 저장소(201)를 업데이트 한다(ST290). 즉, 데이터 삭제에 대응하여 해당 인덱스 데이터 저장소(201)에서 해당 데이터의 인덱스 데이터를 삭제하고, 데이터 수정에 대응하여 해당 인덱스 데이터 저장소(201)에 저장된 인덱스 데이터를 변경한다.Then, the data processing means 100 updates the index data storage 201 of the corresponding storage 200 in response to the data change in step ST280 (ST290). That is, in response to data deletion, the index data of the corresponding data is deleted from the corresponding index data storage 201, and the index data stored in the corresponding index data storage 201 is changed in response to data modification.
한편, 본 발명에서 데이터 처리수단(100)은 검색 트랜잭션에 대해 도6의 ST260 내지 ST280의 동작을 수행한다. Meanwhile, in the present invention, the data processing means 100 performs the operations of ST260 to ST280 of FIG. 6 for the search transaction.
즉, 데이터 처리수단(100)은 검색 트랜잭션에 대해 해당 데이터를 기 설정된 k개의 해시함수에 적용하여 해시값을 산출하고, 각 스토리지(200)로 해당 해시값을 전송하여 각 스토리지(200)별 해당 검색필터 비트열에서 현재 산출된 해시값에 대응되는 위치의 비트값을 수집하여 검색 대상 스토리지(200)를 결정한다. 그리고, 데이터 처리수단(100)은 검색 대상 스토리지(200)에서 해당 검색 대상 데이터를 검색하고, 검색된 데이터를 질의에 대한 결과로 반환한다. That is, the data processing means 100 calculates a hash value by applying the corresponding data to the predetermined k hash functions for the search transaction, and transmits the hash value to each storage 200 to correspond to each storage 200 The search target storage 200 is determined by collecting a bit value at a position corresponding to the currently calculated hash value in the search filter bit string. Then, the data processing means 100 searches for the search target data in the search target storage 200 and returns the searched data as a result of the query.
또한, 본 발명에서 데이터 처리수단(100)은 일정 범위 검색에 대해서는 모든 스토리지에서 해당 범위 검색처리를 수행하여 그 질의 결과를 반환할 수 있다. In addition, in the present invention, the data processing means 100 may perform a corresponding range search process in all storage for a certain range search and return the query result.

Claims (6)

  1. DRAM(dynamic random access memory)과, NVM(non-volatile memory) 및, DISK를 포함하고, 각 스토리지는 해당 스토리지에 저장된 데이터에 대응되는 인덱스 데이터가 저장되는 인덱스 데이터 저장소와, 일정 비트열을 가지면서 해당 스토리지에 저장된 데이터에 대응되는 위치의 비트값이 유효값으로 설정되는 검색필터를 포함하여 구성되는 다수의 스토리지와,It includes dynamic random access memory (DRAM), non-volatile memory (NVM), and DISK, and each storage has an index data storage in which index data corresponding to data stored in the storage is stored, and a certain bit string. A plurality of storages including a search filter in which a bit value of a location corresponding to data stored in the storage is set to an effective value,
    외부로부터의 데이터 삽입 요청에 대해서는 DRAM에 해당 데이터를 저장함과 더불어, 저장된 데이터에 대응되는 새로운 인덱스 데이터를 생성하여 DRAM의 인덱스 데이터 저장소에 저장하고, 해당 데이터를 기 설정된 해시 함수에 적용하여 그 해시값에 대응되는 위치의 DRAM의 검색필터 비트를 유효값으로 설정하며,For requests to insert data from the outside, the data is stored in DRAM, and new index data corresponding to the stored data is generated and stored in the index data storage of DRAM, and the hash value is applied to the predetermined hash function. Set the search filter bit of the DRAM at the position corresponding to the effective value,
    외부로부터의 데이터 수정 및 삭제를 포함하는 데이터 변경요청에 대해서는 변경 대상 데이터를 기 설정된 해시함수에 적용하여 해시값을 산출한 후, 각 스토리지에서 해시값에 대응되는 위치의 비트값을 근거로 변경 대상 데이터가 저장된 스토리지를 결정하고, 결정된 스토리지에서 변경 대상 데이터를 검색하여 데이터 변경처리를 수행함과 더불어 변경내용에 대응하여 인덱스 데이터 저장소에 저장된 인덱스 데이터를 변경하는 데이터 관리를 수행하는 데이터 처리수단을 포함하여 구성되는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치.For data change requests that include data modification and deletion from the outside, the change target data is applied to a predetermined hash function to calculate the hash value, and the change target is based on the bit value of the location corresponding to the hash value in each storage. And data processing means for determining storage in which data is stored, retrieving data to be changed from the determined storage, performing data change processing, and managing data to change index data stored in the index data storage in response to changes. Hybrid indexing device in a heterogeneous storage-based database management system characterized by being configured.
  2. 제1항에 있어서,According to claim 1,
    상기 DRAM에는 최초 데이터 삽입을 포함하여 억세스 시점이 현재로부터 일정 기간 이내인 HOT 데이터가 저장되고, NVM에는 현재로부터 억세스 시점이 일정 기간이 경과된 WARM 데이터가 저장되며, DISK에는 현재로부터 억세스 시점이 일정 기간을 초과하는 COLD 데이터가 저장되도록 구성되고,In the DRAM, HOT data having an access point within a certain period from the present, including the first data insertion, is stored, and in the NVM, WARM data is stored in which an access point from a current has passed a certain period, and the access point from the current is fixed in the DISK. COLD data exceeding the period is configured to be stored,
    상기 데이터 처리수단은 각 스토리지에 저장된 데이터의 억세스 시점을 근거로 스토리지간 데이터를 이동하는 데이터 계층화를 수행함과 더불어, 데이터의 이동에 대응하여 해당 스토리지의 인덱스 데이터 저장소 및 검색필터의 비트열을 업데이트하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치.The data processing means performs data tiering to move data between storage based on the access point of data stored in each storage, and updates the bit strings of the index data storage and search filter of the corresponding storage in response to data movement. Hybrid indexing device in a heterogeneous storage-based database management system.
  3. 제2항에 있어서,According to claim 2,
    상기 데이터 처리수단은 데이터 계층화 수행시 임의 스토리지에 저장된 데이터량이 기 설정된 임계치 이상인 경우, 타 스토리지의 데이터 저장량을 확인하고, 기 설정된 임계치와 차이가 큰 스토리지로의 데이터 이동을 추가로 수행하되, 데이터가 이동 저장될 스토리지의 계층에 대응하여 억세스 시점에 기반한 이동 대상 데이터를 결정하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치. When performing the data tiering, the data processing means checks the data storage amount of the other storage when the amount of data stored in any storage is greater than or equal to a preset threshold, and additionally performs data movement to storage having a difference from the preset threshold, but the data is Hybrid indexing device in a heterogeneous storage-based database management system, characterized in that it determines the data to be moved based on the access point in response to the layer of storage to be moved.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3,
    상기 각 스토리지는 데이터의 읽기/쓰기 특성과 공간 활용 특성을 고려하여 서로 다른 자료구조를 갖도록 구성되고,Each storage is configured to have different data structures in consideration of data read/write characteristics and space utilization characteristics,
    상기 데이터 처리수단은 데이터 저장시 해당 스토리지의 자료구조에 대응되게 데이터를 저장하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치.The data processing means is a hybrid indexing device in a heterogeneous storage-based database management system characterized by storing data corresponding to a data structure of the corresponding storage when storing data.
  5. 제1항에 있어서,According to claim 1,
    상기 데이터 처리수단은 기 설정된 조건에 따라 각 스토리지에 구비된 검색필터 비트열을 해당 스토리지에 저장된 데이터를 기반으로 재생성하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치.The data processing means is a hybrid indexing device in a heterogeneous storage-based database management system, characterized in that the search filter bit string provided in each storage is regenerated based on data stored in the storage according to a preset condition.
  6. 제5항에 있어서,The method of claim 5,
    상기 데이터 처리수단은 스토리지에서 데이터 삭제가 기 설정된 횟수 이상 이루어지는 경우, 해당 스토리지의 검색필터 비트열을 재생성하는 것을 특징으로 하는 이기종 스토리지 기반의 데이터베이스 관리시스템에서 하이브리드 색인장치.The data processing means is a hybrid indexing device in a heterogeneous storage-based database management system characterized by regenerating the search filter bit string of the storage when data deletion from the storage is performed more than a preset number of times.
PCT/KR2019/001244 2019-01-25 2019-01-30 Hybrid indexing device in heterogeneous storage based database management system WO2020153522A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0009961 2019-01-25
KR1020190009961A KR20200092710A (en) 2019-01-25 2019-01-25 Hybride index appratus in database management system based heterogeneous storage

Publications (1)

Publication Number Publication Date
WO2020153522A1 true WO2020153522A1 (en) 2020-07-30

Family

ID=71737006

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/001244 WO2020153522A1 (en) 2019-01-25 2019-01-30 Hybrid indexing device in heterogeneous storage based database management system

Country Status (2)

Country Link
KR (1) KR20200092710A (en)
WO (1) WO2020153522A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434092B (en) * 2021-07-07 2022-04-01 中国人民解放军国防科技大学 Fingerprint identification method based on hybrid DRAM-NVM

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120078096A (en) * 2010-12-31 2012-07-10 세종대학교산학협력단 System including volatile memory and non-volatile memory and processing mehthod thereof
KR101498673B1 (en) * 2007-08-14 2015-03-09 삼성전자주식회사 Solid state drive, data storing method thereof, and computing system including the same
US9384126B1 (en) * 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US20180107601A1 (en) * 2015-05-21 2018-04-19 Agency For Science, Technology And Research Cache architecture and algorithms for hybrid object storage devices
KR20180094469A (en) * 2017-02-15 2018-08-23 삼성전자주식회사 Hybrid memory module and operating method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101775107B1 (en) 2014-05-08 2017-09-05 주식회사 알티베이스 Hybrid DBMS and the method to manage table thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101498673B1 (en) * 2007-08-14 2015-03-09 삼성전자주식회사 Solid state drive, data storing method thereof, and computing system including the same
KR20120078096A (en) * 2010-12-31 2012-07-10 세종대학교산학협력단 System including volatile memory and non-volatile memory and processing mehthod thereof
US9384126B1 (en) * 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US20180107601A1 (en) * 2015-05-21 2018-04-19 Agency For Science, Technology And Research Cache architecture and algorithms for hybrid object storage devices
KR20180094469A (en) * 2017-02-15 2018-08-23 삼성전자주식회사 Hybrid memory module and operating method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FEI XIA: "HiKV: A Hybrid Index Key-Value Store for DRAM-NVM Memory Systems", 2017 USENIX ANNUAL TECHNICAL CONFERENCE (UXENIX ATC '17, vol. 14, 12 July 2017 (2017-07-12), pages 350 - 352, XP061025245, ISBN: 978-1-931971-38-6 *

Also Published As

Publication number Publication date
KR20200092710A (en) 2020-08-04

Similar Documents

Publication Publication Date Title
JP4162183B2 (en) Storage device having means for acquiring static information of database management system
JP4087097B2 (en) Data relocation method and data relocation method considering database management system information
JP4162184B2 (en) Storage device having means for acquiring execution information of database management system
US7890541B2 (en) Partition by growth table space
US7805427B1 (en) Integrated search engine devices that support multi-way search trees having multi-column nodes
US20040225865A1 (en) Integrated database indexing system
WO2021107211A1 (en) In-memory database-based time-series data management system
CN110083601A (en) Index tree constructing method and system towards key assignments storage system
WO2013152678A1 (en) Method and device for metadata query
WO2016199955A1 (en) Code dispersion hash table-based map-reduce system and method
US10248693B2 (en) Multi-layered row mapping data structure in a database system
JP2708657B2 (en) Split control method
WO2013075306A1 (en) Data access method and device
WO2018182060A1 (en) Method for storing and searching text log data on basis of relational database
WO2021107210A1 (en) Method for vectorization-based storage medium search using bloom filters in database management system having multiple storage media
WO2023179787A1 (en) Metadata management method and apparatus for distributed file system
WO2016117739A1 (en) In-memory database-based data management system and method
WO2020153522A1 (en) Hybrid indexing device in heterogeneous storage based database management system
US9275091B2 (en) Database management device and database management method
CN111309263B (en) Method for realizing logical volume in distributed object storage
WO2023121338A1 (en) Ssd device using ftl based on lsm-tree and approximate indexing and operation method thereof
WO2018080188A1 (en) Database clustering device and method therefor
Barak et al. A holographic file system for a multicomputer with many disk nodes
WO2021017655A1 (en) Method, apparatus, and computing device for obtaining inode number, and storage medium
WO2021017647A1 (en) Method and apparatus for merging data units

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: 19911909

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: 19911909

Country of ref document: EP

Kind code of ref document: A1