WO2016117739A1 - In-memory database-based data management system and method - Google Patents

In-memory database-based data management system and method Download PDF

Info

Publication number
WO2016117739A1
WO2016117739A1 PCT/KR2015/000831 KR2015000831W WO2016117739A1 WO 2016117739 A1 WO2016117739 A1 WO 2016117739A1 KR 2015000831 W KR2015000831 W KR 2015000831W WO 2016117739 A1 WO2016117739 A1 WO 2016117739A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
link
record
identification information
data
Prior art date
Application number
PCT/KR2015/000831
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 WO2016117739A1 publication Critical patent/WO2016117739A1/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/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD

Definitions

  • the present invention relates to an in-memory database-based data management system and method thereof, and more particularly, to an in-memory database-based data management system capable of performing a high-performance network path search through direct record access in a database management system. And to a method thereof.
  • DBMS Database Management System
  • the basic software for organizing and archiving data for effective use is a software package that combines functions such as adding, changing, deleting, and retrieving data, which are necessary steps for managing a database.
  • In-Memory Computing is when an application loads data for operation into main memory rather than a hard disk to perform a service. In-memory computing uses a memory area that was used only as an area for computation as a space for storing and processing a large amount of data.
  • in-memory computing technologies can be classified into three categories: in-memory application platform, in-memory data management, and in-memory messaging.
  • an in-memory database is a database management system that is installed and operated in the main memory of a data store, and data access and processing speed are faster than those installed on a disk.
  • the in-memory database management system stores the records in main memory and transfers the data directly from the main memory to the CPU. Quickly search through the index
  • the in-memory database management system When implementing a network path search algorithm in an in-memory database, a large number of node data and link data must be accessed and read for path search. At this time, the in-memory database management system must perform a path search algorithm by searching the records of the node table and the link table through index search each time for mutual data access between the node table and the link table.
  • Korean Patent No. 10-1260165 discloses a technical content of an open database management system.
  • a record is composed of a key, and a column is created by designating a plurality of regions each consisting of a set of values as a table, which is implemented as a database management system of key-value pairs, and is composed of a domain key and a record key.
  • a key is a field or fields in a table that are indexed so that you can quickly find the data you want in the database.
  • the prior art performs record retrieval by using an index structure using a key for linking between records of tables existing in different accounts or regions, and thus it takes a lot of time for the record retrieval.
  • the path search performance is inevitably deteriorated, there is a problem that it takes a long time to obtain the final result.
  • the record identification information which is a logical address value of a record that should be cross-referenced between node data and link data, is stored separately in a network table so that the record can be directly accessed through the record identification information when searching for records between nodes and links. It provides a memory database-based data management system and method thereof.
  • an in-memory database based data management system may generate a node table by inputting node data and link record identification information of a link connected to the node data, and generating the link data and the link in a link record.
  • a data input module for inputting node record identification information of a node connected with data to generate a link table;
  • a data storage module for constructing a network table including the node table or a link table;
  • a pointer operation for extracting link record identification information and node record identification information from the node table and the link table, respectively, and changing the node record identification information and the link record identification information to address values of a memory and setting them as starting pointers of the corresponding records.
  • module And a control module for performing a record access control operation to perform a record search using the node record identification information or the record identification information, and performing an information management operation so that the node record identification information or the record identification information is not changed.
  • the data management system based on the in-memory database may further include a path search module for accessing a corresponding record directly using the start pointer to check connectivity information between a node and a link and performing a path search operation.
  • the data management system based on an in-memory database may further include a memory compression module configured to perform a compression operation to prevent fragmentation of the memory while maintaining data consistency of the data storage module.
  • the memory compression module controls the memory compression module to perform a compression operation on the remaining tables except the network table through an information management operation.
  • the node table adds a link identification column for inserting link record identification information of link data connected to each node, and the link table inserts node identification column for inserting node record identification information of a start node and an end node of each link. It is characterized by adding the.
  • an in-memory database-based data management method includes an in-memory database-based data management method for constructing network data by an in-memory database management system (DBMS).
  • DBMS in-memory database management system
  • the node table is generated by inputting node data and link record identification information of the link connected to the node in the node record
  • the link table is generated by entering link data and node record identification information of the node associated with the link in the link record.
  • the table generating step may include a link identification column for inserting link record identification information of a link connected to each node in the node table, and inserting node record identification information of a start node and an end node of each link in the link table.
  • the node identification column may be added.
  • the table generating step may include inputting node data into the node table and setting the link identification column as an initialization value; If a start node and an end node for a link of the link data exist in the node table, the corresponding link data is input to the link table, and node record identification information of the start node and the end node of the link is entered in the node identification column. Inserting each; And inserting link record identification information connected to the start node in the link identification column of the node record for the start node in the node table, and identifying the link record connected to the end node in the link identification column of the node record for the end node. And inserting the information.
  • a node record including node data for initial access is searched in the network table, and the link record connected to the node is identified in the searched node record. And extracting information, and using the extracted link record identification information as a start pointer, directly accessing the corresponding record to perform a path search operation.
  • the in-memory database-based data management method may perform a compression operation to prevent fragmentation of memory for the tables other than the network table so that the node record identification information and the link record identification information are not changed. It further comprises a memory compression step to perform.
  • a pointer operation is performed on the link record identification information stored in the node record to be changed to the start pointer of the corresponding link record, and the node record identification information stored on the link record is converted to the start pointer of the corresponding node record. And cross-reference between the node data and the link data.
  • the record identification information by adding the record identification information, which is the logical address value of the record that should be cross-referenced between the node table and the link table, in a separate column and storing it in each table
  • the record identification information which is the logical address value of the record that should be cross-referenced between the node table and the link table
  • a method of accessing a record by using the record identification information of the present invention is a memory pointer type operation operation, the record retrieval time through the index is completely removed, thereby ensuring a very fast response speed.
  • FIG. 1 is a diagram illustrating a configuration of an in-memory database based data management system according to an exemplary embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating an in-memory database based data management method according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a record direct access method of FIG. 2.
  • FIG. 4 is a flowchart illustrating a table generation process of FIG. 2.
  • first and second are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms.
  • first component may be named a second component, and similarly, the second component may also be named a first component.
  • an identification code (e.g., a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step clearly indicates a specific order in context. Unless stated otherwise, they may occur out of the order noted. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
  • FIG. 1 is a diagram illustrating a configuration of an in-memory database based data management system according to an exemplary embodiment of the present invention.
  • an in-memory database based data management system includes a data input module 110, a data storage module 120, a pointer operation module 130, a control module 140, a path search module 150, and Memory compression module 160.
  • the data input module 110 inserts node data and link record identification information LINK_RID of a link connected with a node of the node data to each node record to generate a node table.
  • the data input module 110 inserts link data and NODE_RID of each link connected node into each link record to generate a link table.
  • the node table and the link table since the node table and the link table have their own RID information, the node table and the link table inform their own RID values according to requests of tables to be referred to each other.
  • the node table and the link table are tables for organizing network data. As shown in Table 1 and Table 2, a node table and a link table are sets of records composed of columns. At this time, the node data is represented through a node list in which each node is represented as a node record. Node records contain one or more fields that are unique identifiers for that node, but may include other attribute fields that provide information about the node.
  • Link data is represented through a link list (or link matrix) that identifies at least two nodes (start node and end node) but can also display information such as link strength, link direction, and link type. .
  • the node data is NODE_ID as identification information for identifying the node record by the user and has a value such as coordinates
  • the link data is LINK_ID as identification information for identifying the link record by the user. It has values such as start node ID, end node ID, and cost.
  • RID is the logical address translation of memory from the system.
  • the data storage module 120 stores a network table including a node table and a link table generated by the data input module 110 in a main memory that is a data storage of a DBMS.
  • the main memory stores tables related to various data.
  • the pointer operation module 130 extracts the LINK_RID from the node table stored in the data storage module 120, extracts the NODE_RID from the link table, and changes the extracted NODE_RID and LINK_RID to logical address values of the memory, respectively, to start the corresponding record. Set by pointer. In other words, if the pointer operation is performed on the LINK_RID information stored in the node record, the start pointer of the link record can be obtained. If the pointer operation is performed on the NODE_RID information stored in the link record, the start pointer of the node record can be obtained. Cross reference is possible.
  • the control module 140 performs a record access control operation to directly access a record using NODE_RID and LINK_RID when searching for a network path, and performs an information management operation so that the NODE_RID and LINK_RID of the network table are not changed.
  • the path search module 150 may return a record through the pointer calculation module 130 and request a record to be searched by the pointer calculation module 130. That is, the path search module 150 directly accesses the corresponding record using the start pointer, checks the connectivity information between the node and the link, and proceeds with the path search operation. In this case, the path search module 150 may use a path search algorithm such as a Dijkstra algorithm or an A * algorithm.
  • the memory compression module 160 performs a compression operation for each page to prevent fragmentation of the memory while maintaining data consistency of the data storage module 120.
  • control module 140 changes the location on the physical memory. Compress only the rest of the tables.
  • FIG. 2 is a flowchart illustrating an in-memory database based data management method according to an embodiment of the present invention
  • FIG. 3 is a diagram illustrating a record direct access method of FIG. 2.
  • a node table is generated by inputting node data and LINK_RID of a link connected to a node in each node record through the data input module 110.
  • the link table is generated by inputting link data and NODE_RID of a node connected to the link data in each link record (S10).
  • the node table has a link identification column for inserting the LINK_RID of the link connected to each node, and the link table has a node identification column for inserting START_NODE_RID and END_NODE_RID, which are node record identification information of the start and end nodes of each link. Is added.
  • the network table including the node table and the link table thus generated is stored in the main memory (S20).
  • the pointer operation module 130 extracts the LINK_RID and the NODE_RID from the node table and the link table, respectively, and changes them into memory address values and sets them as the start pointers of the corresponding records. (S30) If NODE_RID and LINK_RID are set as the start pointers of the memory, the memory pointer type of arithmetic operations allows direct access to records, which ensures faster response times than record searches using existing index structures.
  • the LINK_RID of the link connected to each node is a start pointer
  • the link table is the start pointer of NODE_RID of the start node and the end node of the end node connected to each link.
  • the path search module 150 may directly access the corresponding record using the start pointer to check the connectivity information between the node and the link and perform the shortest path search operation at high speed.
  • the node table inputs a node ID and a value of node data, and a link identification column for inputting a LINK_RID connected to the node is added.
  • a node ID column for inputting a link ID and a value of link data and inputting NODE_RIDs of a start node and an end node of the link is added.
  • the path search module 150 searches for a record to be visited by searching for a node ID or a link ID when the first record is accessed, and then starts a path search algorithm.
  • the path search module 150 extracts the NODE_RID and LINK_RID for the linked node and link from the record retrieved through the pointer operation module 130, and directly accesses the record using the extracted NODE_RID and LINK_RID as the starting pointer of the corresponding record. Proceed with the path search operation.
  • a route search retrieves a node with ID 104 to retrieve the first access node, retrieves a value of '004' from the LINK_RID value of the retrieved node record to visit a link that is connected to node 104, You can directly access the link record by converting it to the start pointer of the link record through pointer operation.
  • the main memory which is the data storage module 120, divides the entire memory space into pages of the same size and stores a plurality of data or tables. However, since data or tables stored in memory are stored in different sizes, page fragmentation, which is an empty memory space, occurs in a page.
  • the memory compression module 160 performs a compression operation to make a memory space that can be used by gathering fragmented spaces scattered here and there in one place.
  • the control module 140 performs an information management operation so that the network table does not perform a compression operation so that NODE_RID and LINK_RID of the node table and the link table are not changed. Therefore, the memory compression module 160 performs the compression operation only on the data or the table except the network table by the control module 140.
  • FIG. 4 is a flowchart illustrating a table generation process of FIG. 2.
  • NODE_RID and LINK_RID stored in the node table and the link table are address values that should be referred to each other. Therefore, the data input module 110 should store address values for records connected to the node identification column and the link identification column.
  • the data input module 110 inputs node data into the node record, and sets the address value of the link identification column to an initialization value (000). (S11, S12)
  • the data input module 110 updates the initialization value set in the link identification column of the record of the start node in the node table to the LINK1_RID of the link connected to the start node, and updates the initialization value set in the link identification column of the record of the end node to the end node. Update to LINK1_RID of the linked link (S15).
  • the data input module 110 inputs data into the node table and the link table, respectively, and stores an RID which is an address value that should be cross-referenced to the node identification column and the link identification column.
  • an in-memory database-based data management system and method thereof are linked with node record identification information, which is a logical address of an object record to be visited for direct record access to the node table and the link table.
  • node record identification information which is a logical address of an object record to be visited for direct record access to the node table and the link table.
  • a data storage structure that adds record identification information to a column is defined, and a path search algorithm can be performed based on the high performance network path search.

Abstract

The present invention relates to an in-memory database-based data management system comprising: a data input module for generating a node table, by inputting in a node record node data and link record identification information of a link connected to the node data, and for generating a link table by inputting in a link record link data and node record identification information of a node connected to the link data; a data storage module for constructing a network table that comprises the node table or link table; a pointer calculation module for extracting link record identification information and node record identification information from the node table and link table, respectively, and changing into a memory address value the node record identification information and link record identification information, respectively, thereby setting same as a start pointer of a corresponding record; and a control module for performing record access control operation so as to perform a record search by using the node record identification information or record identification information, and for performing information management operation such that the node record identification information or record identification information does not change. Therefore, the present invention enables adding of record identification information, which is a logical record address value that is to be mutually referred between a node table and a link table, to a separate column and then storing same in each table, thereby enabling a path search in a short time while confirming connectivity information between a node and a link by means of a direct record access using record identification information during a network path search. And the present invention enables memory pointer calculation and thereby secures extremely fast response speed by having record searching time through an existing index completely removed.

Description

인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법In-memory database based data management system and method
본 발명은 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 데이터베이스 관리 시스템에서 레코드 직접 접근을 통해 고성능 네트워크 경로 탐색을 수행할 수 있는 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법에 관한 것이다.The present invention relates to an in-memory database-based data management system and method thereof, and more particularly, to an in-memory database-based data management system capable of performing a high-performance network path search through direct record access in a database management system. And to a method thereof.
데이터를 효과적으로 이용할 수 있도록 정리 및 보관하기 위한 기본 소프트웨어인 DBMS(DataBase Management System)는 데이터베이스를 관리하기 위해 필요한 수행 과정인 데이터의 추가, 변경, 삭제, 검색 등의 기능을 집대성한 소프트웨어 패키지이다.DBMS (Database Management System), the basic software for organizing and archiving data for effective use, is a software package that combines functions such as adding, changing, deleting, and retrieving data, which are necessary steps for managing a database.
인-메모리 컴퓨팅(In-Memory Computing)이란 어플리케이션이 운영을 위한 데이터를 하드 디스크가 아닌 메인 메모리에 로딩하여 서비스를 수행하는 것이다. 인-메모리 컴퓨팅은 즉 연산을 위한 영역으로만 사용되던 메모리 영역을 대량의 데이터를 저장하여 처리할 수 있는 공간으로 사용하는 것이다.In-Memory Computing is when an application loads data for operation into main memory rather than a hard disk to perform a service. In-memory computing uses a memory area that was used only as an area for computation as a space for storing and processing a large amount of data.
이러한 인-메모리 컴퓨팅 기술에는 인-메모리 응용 플랫폼, 인-메모리 데이터관리, 인-메모리 메시징의 3가지로 분류할 수 있다. 특히, 인-메모리 데이터베이스(In-memory Database)는 데이터 저장소의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템으로서, 디스크에 설치되는 방식에 비해 자료 접근 및 처리 속도가 빠르다. These in-memory computing technologies can be classified into three categories: in-memory application platform, in-memory data management, and in-memory messaging. In particular, an in-memory database is a database management system that is installed and operated in the main memory of a data store, and data access and processing speed are faster than those installed on a disk.
인-메모리 데이터 관리에서 인-메모리 데이터베이스 관리 시스템은 메인 메모리에 레코드들을 저장함으로써 메인 메모리에서 바로 CPU로 데이터를 전송하면 되므로 구조상 간단할 뿐만 아니라, 메모리 상에 색인을 로드해 필요한 모든 정보를 메모리 상의 색인을 통해 빠르게 검색할 수 있다 In in-memory data management, the in-memory database management system stores the records in main memory and transfers the data directly from the main memory to the CPU. Quickly search through the index
인-메모리 데이터베이스에서 네트워크 경로 탐색 알고리즘을 구현하는 경우에, 경로 탐색을 위해 수많은 노드 데이터와 링크 데이터에 접근하여 데이터를 읽어들여야 한다. 이때, 인-메모리 데이터베이스 관리 시스템은 노드 테이블과 링크 테이블간에 상호 데이터 접근을 위해 매번 색인 검색을 통해 노드 테이블과 링크 테이블의 레코드를 검색하여 경로 탐색 알고리즘을 수행해야 한다.When implementing a network path search algorithm in an in-memory database, a large number of node data and link data must be accessed and read for path search. At this time, the in-memory database management system must perform a path search algorithm by searching the records of the node table and the link table through index search each time for mutual data access between the node table and the link table.
선행기술자료로서, 한국등록특허 제10-1260165호를 보면 오픈 데이터베이스 관리 시스템에 관한 기술내용이 공개되어 있다. As prior art data, Korean Patent No. 10-1260165 discloses a technical content of an open database management system.
종래의 오픈 데이터베이스 관리 시스템은 레코드는 키로 구성되고, 칼럼은 값들의 집합으로 구성되는 복수의 영역을 각각 테이블로 지정하여 생성함으로써 키-값 쌍의 데이터베이스 관리 시스템으로 구현되며, 도메인 키와 레코드 키로 구성되는 ID들의 쌍으로 구성되는 링크 테이블을 참조하여 서로 다른 계정이나 영역에 존재하는 테이블의 레코드 간에도 연결을 할 수 있다. In a conventional open database management system, a record is composed of a key, and a column is created by designating a plurality of regions each consisting of a set of values as a table, which is implemented as a database management system of key-value pairs, and is composed of a domain key and a record key. You can also link between records in tables that exist in different accounts or regions by referring to the link table composed of pairs of IDs.
여기서, 키는 데이터베이스에서 원하는 자료를 빨리 찾을 수 있도록 색인으로 설정된 테이블의 한 필드 또는 여러 필드이다.Here, a key is a field or fields in a table that are indexed so that you can quickly find the data you want in the database.
이로 인해, 종래 기술은 서로 다른 계정이나 영역에 존재하는 테이블의 레코드 간에도 연결을 위해 키를 이용한 색인 구조를 활용하여 레코드 검색 수행하므로, 레코드 검색에 많은 시간이 소요되고, 그로 인해 네트워크 경로 탐색 알고리즘을 수행할 경우에 경로 탐색 성능이 저하될 수밖에 없어 최종 결과를 도출하기까지 많은 시간이 소요되는 문제점이 있다. As a result, the prior art performs record retrieval by using an index structure using a key for linking between records of tables existing in different accounts or regions, and thus it takes a lot of time for the record retrieval. When the path search performance is inevitably deteriorated, there is a problem that it takes a long time to obtain the final result.
본 발명은 노드 데이터와 링크 데이터간 상호 참조해야 하는 레코드의 논리 주소값인 레코드 식별 정보를 별도로 네트워크 테이블에 저장함으로써 노드와 링크간 레코드 탐색시 레코드 식별 정보를 통해 해당 레코드에 직접 접근할 수 있는 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법을 제공한다. According to the present invention, the record identification information, which is a logical address value of a record that should be cross-referenced between node data and link data, is stored separately in a network table so that the record can be directly accessed through the record identification information when searching for records between nodes and links. It provides a memory database-based data management system and method thereof.
실시예들 중에서, 인-메모리 데이터베이스 기반의 데이터 관리 시스템은, 노드 레코드에 노드 데이터와 상기 노드 데이터와 연결된 링크의 링크 레코드 식별 정보를 입력하여 노드 테이블을 생성하고, 링크 레코드에 링크 데이터와 상기 링크 데이터와 연결된 노드의 노드 레코드 식별 정보를 입력하여 링크 테이블을 생성하는 데이터 입력 모듈; 상기 노드 테이블 또는 링크 테이블을 포함하는 네트워크 테이블을 구축하는 데이터 저장모듈; 상기 노드 테이블과 링크 테이블에서 링크 레코드 식별정보와 노드 레코드 식별 정보를 각각 추출하고, 상기 노드 레코드 식별 정보와 링크 레코드 식별 정보를 메모리의 주소값으로 각각 변경하여 해당 레코드의 시작 포인터로 설정하는 포인터 연산 모듈; 및 상기 노드 레코드 식별 정보 또는 레코드 식별 정보를 이용해 레코드 검색을 수행하도록 레코드 접근 제어 동작을 수행하고, 상기 노드 레코드 식별 정보 또는 레코드 식별 정보가 변경되지 않도록 정보 관리 동작을 수행하는 제어 모듈을 포함하는 것을 특징으로 한다.In embodiments, an in-memory database based data management system may generate a node table by inputting node data and link record identification information of a link connected to the node data, and generating the link data and the link in a link record. A data input module for inputting node record identification information of a node connected with data to generate a link table; A data storage module for constructing a network table including the node table or a link table; A pointer operation for extracting link record identification information and node record identification information from the node table and the link table, respectively, and changing the node record identification information and the link record identification information to address values of a memory and setting them as starting pointers of the corresponding records. module; And a control module for performing a record access control operation to perform a record search using the node record identification information or the record identification information, and performing an information management operation so that the node record identification information or the record identification information is not changed. It features.
인-메모리 데이터베이스 기반의 데이터 관리 시스템은, 상기 시작 포인터를 이용해 해당 레코드에 직접 접근하여 노드와 링크 간의 연결성 정보를 확인하고, 경로 탐색 연산을 진행하는 경로 탐색 모듈을 더 포함하는 것을 특징으로 한다.The data management system based on the in-memory database may further include a path search module for accessing a corresponding record directly using the start pointer to check connectivity information between a node and a link and performing a path search operation.
또한, 인-메모리 데이터베이스 기반의 데이터 관리 시스템은, 상기 데이터 저장 모듈의 데이터 일관성을 유지하면서 메모리의 단편화 현상을 방지하기 위한 압축(Compaction) 작업을 수행하는 메모리 압축 모듈을 더 포함하고, 상기 제어 모듈은 정보 관리 동작을 통해 상기 네트워크 테이블을 제외한 나머지 테이블에 대한 압축 작업을 수행하도록 상기 메모리 압축 모듈을 제어하는 것을 특징으로 한다.The data management system based on an in-memory database may further include a memory compression module configured to perform a compression operation to prevent fragmentation of the memory while maintaining data consistency of the data storage module. The memory compression module controls the memory compression module to perform a compression operation on the remaining tables except the network table through an information management operation.
한편, 상기 노드 테이블은 각 노드에 연결된 링크 데이터의 링크 레코드 식별 정보를 삽입하는 링크 식별 컬럼을 추가하고, 상기 링크 테이블은 각 링크의 시작 노드와 종단 노드의 노드 레코드 식별 정보를 삽입하는 노드 식별 컬럼을 추가하는 것을 특징으로 한다.Meanwhile, the node table adds a link identification column for inserting link record identification information of link data connected to each node, and the link table inserts node identification column for inserting node record identification information of a start node and an end node of each link. It is characterized by adding the.
실시예들 중에서, 인-메모리 데이터베이스 기반의 데이터 관리 방법은, 인-메모리 데이터베이스 관리 시스템(In-Memory DataBase Management System, DBMS)에 의해 네트워크 데이터를 구축하는 인-메모리 데이터베이스 기반의 데이터 관리 방법에 있어서, 노드 레코드에 노드 데이터와 해당 노드와 연결된 링크의 링크 레코드 식별 정보를 입력하여 노드 테이블을 생성하고, 링크 레코드에 링크 데이터와 해당 링크 와 연결된 노드의 노드 레코드 식별 정보를 입력하여 링크 테이블을 생성하는 테이블 생성 단계; 상기 노드 테이블 또는 링크 테이블을 포함하는 네트워크 테이블을 메모리상에 저장하는 데이터 저장 단계; 상기 노드 테이블과 링크 테이블에서 링크 레코드 식별정보와 노드 레코드 식별 정보를 각각 추출하고, 상기 추출한 노드 레코드 식별 정보와 링크 레코드 식별 정보를 메모리 주소값으로 각각 변경하여 해당 레코드의 시작 포인터로 설정하는 포인터 연산 단계; 및 상기 노드 레코드 식별 정보 또는 레코드 식별 정보를 이용해 노드와 링크간 연결성 정보를 확인하며 레코드 검색을 수행하도록 레코드 접근 제어 동작을 수행하는 레코드 접근 단계를 포함하는 것을 특징으로 한다.Among the embodiments, an in-memory database-based data management method includes an in-memory database-based data management method for constructing network data by an in-memory database management system (DBMS). The node table is generated by inputting node data and link record identification information of the link connected to the node in the node record, and the link table is generated by entering link data and node record identification information of the node associated with the link in the link record. Creating a table; A data storage step of storing a network table including the node table or a link table on a memory; A pointer operation for extracting link record identification information and node record identification information from the node table and the link table, respectively, and changing the extracted node record identification information and link record identification information to memory address values and setting them as starting pointers of the corresponding records. step; And a record access step of confirming the connectivity information between the node and the link using the node record identification information or the record identification information and performing a record access control operation to perform a record search.
상기 테이블 생성 단계는, 상기 노드 테이블에 각 노드에 연결된 링크의 링크 레코드 식별 정보를 삽입하는 링크 식별 컬럼을 추가하고, 상기 링크 테이블에 각 링크의 시작 노드와 종단 노드의 노드 레코드 식별 정보를 삽입하는 노드 식별 컬럼을 추가하는 것을 특징으로 한다.The table generating step may include a link identification column for inserting link record identification information of a link connected to each node in the node table, and inserting node record identification information of a start node and an end node of each link in the link table. The node identification column may be added.
상기 테이블 생성 단계는, 상기 노드 테이블에 노드 데이터를 입력하고, 상기 링크 식별 컬럼을 초기화 값으로 설정하는 단계; 상기 링크 데이터의 링크에 대한 시작 노드와 종단 노드가 상기 노드 테이블에 존재하면, 상기 링크 테이블에 해당 링크 데이터를 입력하고, 상기 노드 식별 컬럼에 상기 링크의 시작 노드와 종단 노드의 노드 레코드 식별 정보를 각각 삽입하는 단계; 및 상기 노드 테이블에서 상기 시작 노드에 대한 노드 레코드의 링크 식별 컬럼에 상기 시작 노드에 연결된 링크 레코드 식별 정보를 삽입하고, 상기 종단 노드에 대한 노드 레코드의 링크 식별 컬럼에 상기 종단 노드에 연결된 링크 레코드 식별 정보를 삽입하는 단계를 포함하는 것을 특징으로 한다.The table generating step may include inputting node data into the node table and setting the link identification column as an initialization value; If a start node and an end node for a link of the link data exist in the node table, the corresponding link data is input to the link table, and node record identification information of the start node and the end node of the link is entered in the node identification column. Inserting each; And inserting link record identification information connected to the start node in the link identification column of the node record for the start node in the node table, and identifying the link record connected to the end node in the link identification column of the node record for the end node. And inserting the information.
한편, 인-메모리 데이터베이스 기반의 데이터 관리 방법은, 네트워크 경로 탐색시, 상기 네트워크 테이블에서 최초 접근을 위한 노드 데이터를 포함하는 노드 레코드를 검색하고, 상기 검색한 노드 레코드에서 해당 노드에 연결된 링크 레코드 식별 정보를 추출하며, 상기 추출한 링크 레코드 식별 정보를 시작 포인터로 이용해 해당 레코드에 직접 접근하여 경로 탐색 연산을 진행하는 경로 탐색 단계를 더 포함하는 것을 특징으로 한다.Meanwhile, in the in-memory database-based data management method, when searching for a network path, a node record including node data for initial access is searched in the network table, and the link record connected to the node is identified in the searched node record. And extracting information, and using the extracted link record identification information as a start pointer, directly accessing the corresponding record to perform a path search operation.
또한, 인-메모리 데이터베이스 기반의 데이터 관리 방법은, 상기 노드 레코드 식별 정보와 링크 레코드 식별 정보가 변경되지 않도록 상기 네트워크 테이블을 제외한 나머지 테이블에 대한 메모리의 단편화 현상을 방지하기 위한 압축(Compaction) 작업을 수행하는 메모리 압축 단계를 더 포함하는 것을 특징으로 한다.In addition, the in-memory database-based data management method may perform a compression operation to prevent fragmentation of memory for the tables other than the network table so that the node record identification information and the link record identification information are not changed. It further comprises a memory compression step to perform.
상기 포인터 연산 단계는, 상기 노드 레코드에 저장된 링크 레코드 식별 정보를 포인터 연산하여 해당 링크 레코드의 시작 포인터로 변경하고, 상기 링크 레코드에 저장된 노드 레코드 식별 정보를 포인터 연산하여 해당 노드 레코드의 시작 포인터로 변경하여 상기 노드 데이터와 링크 데이터 간에 상호 참조되도록 하는 것을 특징으로 한다.In the pointer operation step, a pointer operation is performed on the link record identification information stored in the node record to be changed to the start pointer of the corresponding link record, and the node record identification information stored on the link record is converted to the start pointer of the corresponding node record. And cross-reference between the node data and the link data.
본 발명의 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법은 노드 테이블과 링크 테이블간 상호 참조해야 하는 레코드의 논리 주소값인 레코드 식별 정보를 별도의 컬럼에 추가하여 각 테이블에 저장함으로써 레코드 식별 정보를 통해 해당 레코드에 직접 접근할 수 있고, 특히 네트워크 경로 탐색시 레코드 식별 정보를 이용한 레코드 직접 접근을 통해 노드와 링크간 연결성 정보를 확인하며 단시간에 경로 탐색을 수행할 수 있는 효과가 있다. In the in-memory database-based data management system and method of the present invention, the record identification information by adding the record identification information, which is the logical address value of the record that should be cross-referenced between the node table and the link table, in a separate column and storing it in each table Through the direct access to the corresponding record, in particular, it is possible to perform the path search in a short time while checking the connectivity information between the node and the link through the direct record access using the record identification information when searching the network path.
본 발명의 레코드 식별 정보를 이용하여 레코드에 접근하는 방식은 메모리 포인터 형식의 연산 동작이므로 기존에 색인을 통한 레코드 검색 시간이 완전히 제거되어 매우 빠른 응답 속도를 보장할 수 있는 효과가 있다.Since a method of accessing a record by using the record identification information of the present invention is a memory pointer type operation operation, the record retrieval time through the index is completely removed, thereby ensuring a very fast response speed.
도 1은 본 발명의 일 실시예에 따른 인-메모리 데이터베이스 기반의 데이터 관리 시스템의 구성을 설명하는 도면이다.1 is a diagram illustrating a configuration of an in-memory database based data management system according to an exemplary embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 인-메모리 데이터베이스 기반의 데이터 관리 방법을 설명하는 순서도이다.2 is a flowchart illustrating an in-memory database based data management method according to an embodiment of the present invention.
도 3은 도 2의 레코드 직접 접근 방식을 설명하는 도면이다.FIG. 3 is a diagram illustrating a record direct access method of FIG. 2.
도 4는 도 2의 테이블 생성 과정을 설명하는 순서도이다.4 is a flowchart illustrating a table generation process of FIG. 2.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Description of the present invention is only an embodiment for structural or functional description, the scope of the present invention should not be construed as limited by the embodiments described in the text. That is, since the embodiments may be variously modified and may have various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical idea. In addition, the objects or effects presented in the present invention does not mean that a specific embodiment should include all or only such effects, the scope of the present invention should not be understood as being limited thereby.
한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present invention will be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, the first component may be named a second component, and similarly, the second component may also be named a first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that there may be other components in between, although it may be directly connected to the other component. On the other hand, when a component is referred to as being "directly connected" to another component, it should be understood that there is no other component in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "comprise" or "have" refer to features, numbers, steps, operations, components, parts, or parts thereof described. It is to be understood that the combination is intended to be present and does not exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, an identification code (e.g., a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step clearly indicates a specific order in context. Unless stated otherwise, they may occur out of the order noted. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Generally, the terms defined in the dictionary used are to be interpreted as being consistent with the meanings in the context of the related art, and should not be interpreted as having ideal or excessively formal meanings unless clearly defined in the present invention.
도 1은 본 발명의 일 실시예에 따른 인-메모리 데이터베이스 기반의 데이터 관리 시스템의 구성을 설명하는 도면이다.1 is a diagram illustrating a configuration of an in-memory database based data management system according to an exemplary embodiment of the present invention.
도 1을 참고하면, 인-메모리 데이터베이스 기반의 데이터 관리 시스템은 데이터 입력 모듈(110), 데이터 저장 모듈(120), 포인터 연산 모듈(130), 제어 모듈(140), 경로 탐색 모듈(150) 및 메모리 압축 모듈(160)을 포함한다.Referring to FIG. 1, an in-memory database based data management system includes a data input module 110, a data storage module 120, a pointer operation module 130, a control module 140, a path search module 150, and Memory compression module 160.
데이터 입력 모듈(110)은 각 노드 레코드에 노드 데이터, 이 노드 데이터의 노드와 연결된 링크의 링크 레코드 식별 정보(LINK_RID)를 삽입하여 노드 테이블을 생성한다. 또한, 데이터 입력 모듈(110)은 각 링크 레코드에 링크 데이터, 각 링크 연결된 노드의 NODE_RID를 삽입하여 링크 테이블을 생성한다. 이때, 노드 테이블과 링크 테이블은 자신의 RID 정보는 가지고 있으므로, 서로 참조해야하는 테이블의 요청에 따라 자신의 RID 값을 알려준다. The data input module 110 inserts node data and link record identification information LINK_RID of a link connected with a node of the node data to each node record to generate a node table. In addition, the data input module 110 inserts link data and NODE_RID of each link connected node into each link record to generate a link table. At this time, since the node table and the link table have their own RID information, the node table and the link table inform their own RID values according to requests of tables to be referred to each other.
노드 테이블과 링크 테이블은 네트워크 데이터를 구성하는 테이블로서, 표 1 및 표 2에 나타나 있듯이 컬럼들로 구성된 레코드들의 집합이다. 이때, 노드 데이터는 각각의 노드가 노드 레코드로써 표현되는 노드 리스트를 통해 표현된다. 노드 레코드들은 그 노드를 위한 고유한 식별자인 하나 이상의 필드를 포함 하지만 노드에 관한 정보를 제공하는 다른 속성 필드들을 포함할 수도 있다. 링크 데이터는 최소한 어떤 2개 노드들(시작 노드와 종단 노드)이 링크되어 있는지를 식별하지만 링크 강도, 링크 방향, 및 링크 유형과 같은 정보도 나타낼 수 있는 링크 리스트(또는 링크 행렬)을 통해 표현된다.The node table and the link table are tables for organizing network data. As shown in Table 1 and Table 2, a node table and a link table are sets of records composed of columns. At this time, the node data is represented through a node list in which each node is represented as a node record. Node records contain one or more fields that are unique identifiers for that node, but may include other attribute fields that provide information about the node. Link data is represented through a link list (or link matrix) that identifies at least two nodes (start node and end node) but can also display information such as link strength, link direction, and link type. .
표 1
Figure PCTKR2015000831-appb-T000001
Table 1
Figure PCTKR2015000831-appb-T000001
표 2
Figure PCTKR2015000831-appb-T000002
TABLE 2
Figure PCTKR2015000831-appb-T000002
표 1 및 표 2에서, 노드 데이터는 사용자가 노드 레코드를 구분하기 위한 식별 정보로서 NODE_ID이고 좌표 등의 값(Value)을 가지며, 링크 데이터는 사용자가 링크 레코드를 구분하기 위한 식별 정보로서 LINK_ID이고, 시작 노드ID, 종단 노드ID, 비용(cost) 등의 값을 가진다. 한편, RID는 시스템에서 가져오는 메모리의 논리 주소 변환값이다. In Table 1 and Table 2, the node data is NODE_ID as identification information for identifying the node record by the user and has a value such as coordinates, and the link data is LINK_ID as identification information for identifying the link record by the user. It has values such as start node ID, end node ID, and cost. RID, on the other hand, is the logical address translation of memory from the system.
데이터 저장 모듈(120)은 DBMS의 데이터 저장소인 메인 메모리에 데이터 입력 모듈(110)에 의해 생성된 노드 테이블과 링크 테이블을 포함하는 네트워크 테이블을 저장한다. 메인 메모리에는 네트워크 테이블 이외에도 다양한 데이터에 관련한 테이블들이 저장되어 있다. The data storage module 120 stores a network table including a node table and a link table generated by the data input module 110 in a main memory that is a data storage of a DBMS. In addition to the network table, the main memory stores tables related to various data.
포인터 연산 모듈(130)은 데이터 저장 모듈(120)에 저장된 노드 테이블에서 LINK_RID를 추출하고, 링크 테이블에서 NODE_RID를 추출하며, 이렇게 추출한 NODE_RID와 LINK_RID를 메모리의 논리 주소값으로 각각 변경하여 해당 레코드의 시작 포인터로 설정한다. 즉, 노드 레코드에 저장된 LINK_RID 정보를 포인터 연산하면 해당 링크 레코드의 시작 포인터를 얻을 수 있고, 링크 레코드에 저장된 NODE_RID 정보를 포인터 연산 하면 해당 노드 레코드의 시작 포인터를 얻을 수 있어, 노드 데이터와 링크 데이터 간 상호 참조가 가능하다.The pointer operation module 130 extracts the LINK_RID from the node table stored in the data storage module 120, extracts the NODE_RID from the link table, and changes the extracted NODE_RID and LINK_RID to logical address values of the memory, respectively, to start the corresponding record. Set by pointer. In other words, if the pointer operation is performed on the LINK_RID information stored in the node record, the start pointer of the link record can be obtained. If the pointer operation is performed on the NODE_RID information stored in the link record, the start pointer of the node record can be obtained. Cross reference is possible.
제어 모듈(140)은 네트워크 경로 탐색시 NODE_RID와 LINK_RID를 이용해 레코드에 직접 접근하도록 레코드 접근 제어 동작을 수행하고, 네트워크 테이블의 NODE_RID와 LINK_RID가 변경되지 않도록 정보 관리 동작을 수행한다.The control module 140 performs a record access control operation to directly access a record using NODE_RID and LINK_RID when searching for a network path, and performs an information management operation so that the NODE_RID and LINK_RID of the network table are not changed.
경로 탐색 모듈(150)은 포인터 연산 모듈(130)을 통해 레코드가 반환되고, 포인터 연산 모듈(130)로 탐색하고자 하는 레코드를 요청할 수 있다. 즉, 경로 탐색 모듈(150)은 시작 포인터를 이용해 해당 레코드에 직접 접근하여 노드와 링크 간의 연결성 정보를 확인하고, 경로 탐색 연산을 진행한다. 이때, 경로 탐색 모듈(150)은 일반적으로 알려진 데이크스트라(Dijstra) 알고리즘이나 에이스타(A*) 알고리즘 등의 경로 탐색 알고리즘을 사용할 수 있다. The path search module 150 may return a record through the pointer calculation module 130 and request a record to be searched by the pointer calculation module 130. That is, the path search module 150 directly accesses the corresponding record using the start pointer, checks the connectivity information between the node and the link, and proceeds with the path search operation. In this case, the path search module 150 may use a path search algorithm such as a Dijkstra algorithm or an A * algorithm.
메모리 압축 모듈(160)은 데이터 저장 모듈(120)의 데이터 일관성을 유지하면서 메모리의 단편화 현상을 방지하기 위해 페이지마다 압축(Compaction) 작업을 수행한다. The memory compression module 160 performs a compression operation for each page to prevent fragmentation of the memory while maintaining data consistency of the data storage module 120.
이때, 제어 모듈(140)은 메모리 압축 모듈(160)의 압축 작업시 네트워크 테이블의 NODE_RID와 LINK_RID가 변경되면 실제 메모리 상의 위치가 변경되므로 정보 관리 동작을 통해 메모리 압축 모듈(160)이 네트워크 테이블을 제외한 나머지 테이블들에 대해서만 압축 작업을 수행하도록 한다. In this case, when the NODE_RID and LINK_RID of the network table are changed during the compression operation of the memory compression module 160, the control module 140 changes the location on the physical memory. Compress only the rest of the tables.
도 2는 본 발명의 일 실시예에 따른 인-메모리 데이터베이스 기반의 데이터 관리 방법을 설명하는 순서도이고, 도 3은 도 2의 레코드 직접 접근 방식을 설명하는 도면이다.2 is a flowchart illustrating an in-memory database based data management method according to an embodiment of the present invention, and FIG. 3 is a diagram illustrating a record direct access method of FIG. 2.
도 2를 참고하면, 인-메모리 데이터베이스 기반의 데이터 관리 방법은, 데이터 입력 모듈(110)을 통해 각 노드 레코드에 노드 데이터와 노드와 연결된 링크의 LINK_RID를 입력하여 노드 테이블을 생성한다. 그리고, 링크 테이블은 각 링크 레코드에 링크 데이터, 링크 데이터와 연결된 노드의 NODE_RID를 입력하여 생성된다.(S10)Referring to FIG. 2, in the in-memory database-based data management method, a node table is generated by inputting node data and LINK_RID of a link connected to a node in each node record through the data input module 110. The link table is generated by inputting link data and NODE_RID of a node connected to the link data in each link record (S10).
이와 같이, 노드 테이블은 각 노드에 연결된 링크의 LINK_RID를 삽입하는 링크 식별 컬럼이 추가되고, 링크 테이블은 각 링크의 시작 노드와 종단 노드의 노드 레코드 식별 정보인 START_NODE_RID와 END_NODE_RID를 삽입하는 노드 식별 컬럼이 추가된다. As such, the node table has a link identification column for inserting the LINK_RID of the link connected to each node, and the link table has a node identification column for inserting START_NODE_RID and END_NODE_RID, which are node record identification information of the start and end nodes of each link. Is added.
이렇게 생성된 노드 테이블과 링크 테이블을 포함하는 네트워크 테이블은 메인 메모리상에 저장된다.(S20) The network table including the node table and the link table thus generated is stored in the main memory (S20).
포인터 연산 모듈(130)은 노드 테이블과 링크 테이블에서 LINK_RID와 NODE_RID를 각각 추출하여 메모리 주소값으로 각각 변경하여 해당 레코드의 시작 포인터로 설정한다.(S30) NODE_RID와 LINK_RID를 메모리의 시작 포인터로 설정하면, 메모리 포인터 형식의 연산 동작으로 레코드에 직접 접근할 수 있어 기존의 색인 구조를 활용한 레코드 검색에 비해 빠른 응답 속도를 보장할 수 있다.The pointer operation module 130 extracts the LINK_RID and the NODE_RID from the node table and the link table, respectively, and changes them into memory address values and sets them as the start pointers of the corresponding records. (S30) If NODE_RID and LINK_RID are set as the start pointers of the memory, In addition, the memory pointer type of arithmetic operations allows direct access to records, which ensures faster response times than record searches using existing index structures.
즉, 노드 테이블은 각 노드와 연결된 링크의 LINK_RID가 시작 포인터가 되고, 링크 테이블은 각 링크와 연결된 시작 노드의 NODE_RID와 종단 노드의 NODE_RID와가 시작 포인터가 된다. 따라서, 특정 노드 ID를 검색하면 이 노드에 연결된 링크를 확인하면서 LINK_RID를 추출할 수 있고, 이 LINK_RID를 시작 포인터로 하는 링크 레코드에 직접 접근할 수 있다. That is, in the node table, the LINK_RID of the link connected to each node is a start pointer, and the link table is the start pointer of NODE_RID of the start node and the end node of the end node connected to each link. Thus, by retrieving a particular node ID, you can extract the LINK_RID while identifying the link associated with this node, and access the link record with this LINK_RID as the starting pointer directly.
따라서, 경로 탐색 모듈(150)은 시작 포인터를 이용해 해당 레코드로 직접 접근하여 노드와 링크간 연결성 정보를 확인하며 빠른 속도로 최단 경로 탐색 연산을 진행할 수 있다.(S40)Therefore, the path search module 150 may directly access the corresponding record using the start pointer to check the connectivity information between the node and the link and perform the shortest path search operation at high speed.
상기한 표 1 및 표 2를 참고하면, 노드 테이블은 노드 데이터의 노드 ID와 값(Value)을 입력하고, 해당 노드와 연결된 LINK_RID를 입력하는 링크 식별 컬럼이 추가된다. 그리고, 링크 테이블은 링크 데이터의 링크 ID와 값(Value)을 입력하고, 링크의 시작 노드와 종단 노드의 NODE_RID를 각각 입력하는 노드 식별 컬럼이 추가된다. Referring to Tables 1 and 2 above, the node table inputs a node ID and a value of node data, and a link identification column for inputting a LINK_RID connected to the node is added. In the link table, a node ID column for inputting a link ID and a value of link data and inputting NODE_RIDs of a start node and an end node of the link is added.
도 3에 도시된 바와 같이, 경로 탐색 모듈(150)은 최초 레코드 접근시 노드 ID 또는 링크 ID를 검색하여 방문하고자 하는 레코드를 검색한 후 경로 탐색 알고리즘을 시작한다.As shown in FIG. 3, the path search module 150 searches for a record to be visited by searching for a node ID or a link ID when the first record is accessed, and then starts a path search algorithm.
경로 탐색 모듈(150)은 포인터 연산 모듈(130)을 통해 검색한 레코드에서 연결된 노드와 링크에 대한 NODE_RID와 LINK_RID를 추출하고, 이렇게 추출한 NODE_RID와 LINK_RID를 해당 레코드의 시작 포인터로 이용해 레코드에 직접 접근하여 경로 탐색 연산을 진행한다. The path search module 150 extracts the NODE_RID and LINK_RID for the linked node and link from the record retrieved through the pointer operation module 130, and directly accesses the record using the extracted NODE_RID and LINK_RID as the starting pointer of the corresponding record. Proceed with the path search operation.
예를 들어, 경로 탐색시 최초 접근 노드를 검색하기 위해 ID가 104인 노드를 검색하고, 104의 노드에 연결되어 있는 링크를 방문하기 위해 검색된 노드 레코드의 LINK_RID 값에서 ‘004’ 값을 가져오고, 이를 포인터 연산을 통해 링크 레코드의 시작 포인터로 변환하여 해당 링크 레코드로 직접 접근 할 수 있다.For example, a route search retrieves a node with ID 104 to retrieve the first access node, retrieves a value of '004' from the LINK_RID value of the retrieved node record to visit a link that is connected to node 104, You can directly access the link record by converting it to the start pointer of the link record through pointer operation.
한편, 데이터 저장 모듈(120)인 메인 메모리는 전체 메모리 공간을 동일한 크기의 페이지로 나누어 다수의 데이터 또는 테이블을 저장한다. 그런데, 메모리에 저장되는 데이터 또는 테이블은 각기 다른 사이즈로 저장되므로 페이지 내에 빈 메모리 공간인 페이지 단편화가 발생한다.The main memory, which is the data storage module 120, divides the entire memory space into pages of the same size and stores a plurality of data or tables. However, since data or tables stored in memory are stored in different sizes, page fragmentation, which is an empty memory space, occurs in a page.
따라서, 메모리 압축 모듈(160)은 메모리 공간에 여기저기 흩어져 있는 단편화 공간을 한곳으로 모아서 사용할 수 있는 메모리 공간을 만들기 위해 압축 작업을 수행한다. 이때, 제어 모듈(140)은 노드 테이블과 링크 테이블의 NODE_RID와 LINK_RID가 변경되지 않도록 네트워크 테이블은 압축 작업이 수행되지 않도록 정보 관리 동작을 수행한다. 따라서, 메모리 압축 모듈(160)은 제어 모듈(140)에 의해 네트워크 테이블을 제외한 나머지 데이터 또는 테이블에 대해서만 압축 작업을 수행하게 된다. Therefore, the memory compression module 160 performs a compression operation to make a memory space that can be used by gathering fragmented spaces scattered here and there in one place. At this time, the control module 140 performs an information management operation so that the network table does not perform a compression operation so that NODE_RID and LINK_RID of the node table and the link table are not changed. Therefore, the memory compression module 160 performs the compression operation only on the data or the table except the network table by the control module 140.
도 4는 도 2의 테이블 생성 과정을 설명하는 순서도이다.4 is a flowchart illustrating a table generation process of FIG. 2.
도 4를 참고하면, 노드 테이블과 링크 테이블에 저장되는 NODE_RID와 LINK_RID는 서로 참조해야하는 주소값이다. 따라서, 데이터 입력 모듈(110)은 노드 식별 컬럼과 링크 식별 컬럼에 서로 연결된 레코드에 대한 주소값을 저장해야 한다.Referring to FIG. 4, NODE_RID and LINK_RID stored in the node table and the link table are address values that should be referred to each other. Therefore, the data input module 110 should store address values for records connected to the node identification column and the link identification column.
이를 위해, 데이터 입력 모듈(110)은 노드 레코드에 노드 데이터를 입력하고, 링크 식별 컬럼의 주소값은 초기화 값(000)으로 설정한다.(S11, S12)To this end, the data input module 110 inputs node data into the node record, and sets the address value of the link identification column to an initialization value (000). (S11, S12)
특정한 링크(LINK1)의 시작 노드와 종단 노드가 노드 테이블에 존재하는지를 확인하고(S13), 링크 레코드에 링크 데이터를 입력한 후 노드 식별 컬럼에 노드 테이블에 존재하는 해당 링크의 시작 노드와 종단 노드의 START_NODE_RID와 END_NODE_RID를 각각 입력한다.(S14)Check whether the start node and the end node of the specific link (LINK1) exist in the node table (S13), enter the link data in the link record, and then enter the start node and the end node of the link in the node table in the node identification column. Enter START_NODE_RID and END_NODE_RID respectively (S14).
데이터 입력 모듈(110)은 노드 테이블에서 시작 노드의 레코드의 링크 식별 컬럼에 설정된 초기화 값을 시작 노드에 연결된 링크의 LINK1_RID로 갱신하고, 종단 노드의 레코드의 링크 식별 컬럼에 설정된 초기화 값을 종단 노드에 연결된 링크의 LINK1_RID로 갱신한다.(S15)The data input module 110 updates the initialization value set in the link identification column of the record of the start node in the node table to the LINK1_RID of the link connected to the start node, and updates the initialization value set in the link identification column of the record of the end node to the end node. Update to LINK1_RID of the linked link (S15).
이와 같은 방식으로, 데이터 입력 모듈(110)은 노드 테이블과 링크 테이블에 데이터를 각각 입력하고, 노드 식별 컬럼과 링크 식별 컬럼에 상호 참조해야 하는 주소값인 RID를 저장한다. In this manner, the data input module 110 inputs data into the node table and the link table, respectively, and stores an RID which is an address value that should be cross-referenced to the node identification column and the link identification column.
이와 같이, 본 발명의 일 실시예에 따른 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법은, 노드 테이블과 링크 테이블에 레코드 직접 접근을 위해 방문해야할 목적 레코드의 논리 주소인 노드 레코드 식별 정보와 링크 레코드 식별 정보를 컬럼에 추가하는 데이터 저장 구조를 정의하고, 이를 기반으로 경로 탐색 알고리즘을 수행하여 고성능의 네트워크 경로 탐색을 수행할 수 있다. As such, an in-memory database-based data management system and method thereof according to an embodiment of the present invention are linked with node record identification information, which is a logical address of an object record to be visited for direct record access to the node table and the link table. A data storage structure that adds record identification information to a column is defined, and a path search algorithm can be performed based on the high performance network path search.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

Claims (10)

  1. 노드 레코드에 노드 데이터와 상기 노드 데이터와 연결된 링크의 링크 레코드 식별 정보를 입력하여 노드 테이블을 생성하고, 링크 레코드에 링크 데이터와 상기 링크 데이터와 연결된 노드의 노드 레코드 식별 정보를 입력하여 링크 테이블을 생성하는 데이터 입력 모듈;A node table is generated by inputting node data and link record identification information of a link connected to the node data in a node record, and a link table is generated by inputting link data and node record identification information of a node connected to the link data in a link record. A data input module;
    상기 노드 테이블 또는 링크 테이블을 포함하는 네트워크 테이블을 구축하는 데이터 저장모듈; A data storage module for constructing a network table including the node table or a link table;
    상기 노드 테이블과 링크 테이블에서 링크 레코드 식별정보와 노드 레코드 식별 정보를 각각 추출하고, 상기 노드 레코드 식별 정보와 링크 레코드 식별 정보를 메모리의 주소값으로 각각 변경하여 해당 레코드의 시작 포인터로 설정하는 포인터 연산 모듈; 및 A pointer operation for extracting link record identification information and node record identification information from the node table and the link table, respectively, and changing the node record identification information and the link record identification information to address values of a memory and setting them as starting pointers of the corresponding records. module; And
    상기 노드 레코드 식별 정보 또는 레코드 식별 정보를 이용해 레코드 검색을 수행하도록 레코드 접근 제어 동작을 수행하고, 상기 노드 레코드 식별 정보 또는 레코드 식별 정보가 변경되지 않도록 정보 관리 동작을 수행하는 제어 모듈을 포함하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 시스템. And a control module configured to perform a record access control operation to perform a record search using the node record identification information or the record identification information, and perform an information management operation so that the node record identification information or the record identification information is not changed. In-memory database based data management system.
  2. 제1항에 있어서, The method of claim 1,
    상기 시작 포인터를 이용해 해당 레코드에 직접 접근하여 노드와 링크 간의 연결성 정보를 확인하고, 경로 탐색 연산을 진행하는 경로 탐색 모듈을 더 포함하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 시스템.And a path search module for directly accessing the corresponding record using the start pointer to check connectivity information between the node and the link and performing a path search operation.
  3. 제1항에 있어서, The method of claim 1,
    상기 데이터 저장 모듈의 데이터 일관성을 유지하면서 메모리의 단편화 현상을 방지하기 위한 압축(Compaction) 작업을 수행하는 메모리 압축 모듈을 더 포함하고,Further comprising a memory compression module for performing a compression operation to prevent fragmentation of the memory while maintaining the data consistency of the data storage module,
    상기 제어 모듈은 정보 관리 동작을 통해 상기 네트워크 테이블을 제외한 나머지 테이블에 대한 압축 작업을 수행하도록 상기 메모리 압축 모듈을 제어하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 시스템. And the control module controls the memory compression module to perform a compression operation on a table other than the network table through an information management operation.
  4. 제1항에 있어서, The method of claim 1,
    상기 노드 테이블은 각 노드에 연결된 링크 데이터의 링크 레코드 식별 정보를 삽입하는 링크 식별 컬럼을 추가하고,The node table adds a link identification column for inserting link record identification information of link data connected to each node,
    상기 링크 테이블은 각 링크의 시작 노드와 종단 노드의 노드 레코드 식별 정보를 삽입하는 노드 식별 컬럼을 추가하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 시스템. And the link table adds a node identification column to insert node record identification information of a start node and an end node of each link.
  5. 인-메모리 데이터베이스 관리 시스템(In-Memory DataBase Management System, DBMS)에 의해 네트워크 데이터를 구축하는 인-메모리 데이터베이스 기반의 데이터 관리 방법에 있어서,An in-memory database based data management method for building network data by an in-memory database management system (DBMS),
    노드 레코드에 노드 데이터와 해당 노드와 연결된 링크의 링크 레코드 식별 정보를 입력하여 노드 테이블을 생성하고, 링크 레코드에 링크 데이터와 해당 링크 와 연결된 노드의 노드 레코드 식별 정보를 입력하여 링크 테이블을 생성하는 테이블 생성 단계;A node table is created by entering node data and link record identification information of the link associated with the node in the node record, and a link table is generated by entering link data and node record identification information of the node associated with the link in the link record. Generation step;
    상기 노드 테이블 또는 링크 테이블을 포함하는 네트워크 테이블을 메모리상에 저장하는 데이터 저장 단계; A data storage step of storing a network table including the node table or a link table on a memory;
    상기 노드 테이블과 링크 테이블에서 링크 레코드 식별정보와 노드 레코드 식별 정보를 각각 추출하고, 상기 추출한 노드 레코드 식별 정보와 링크 레코드 식별 정보를 메모리 주소값으로 각각 변경하여 해당 레코드의 시작 포인터로 설정하는 포인터 연산 단계; 및 A pointer operation for extracting link record identification information and node record identification information from the node table and the link table, respectively, and changing the extracted node record identification information and link record identification information to memory address values and setting them as starting pointers of the corresponding records. step; And
    상기 노드 레코드 식별 정보 또는 레코드 식별 정보를 이용해 노드와 링크간 연결성 정보를 확인하며 레코드 검색을 수행하도록 레코드 접근 제어 동작을 수행하는 레코드 접근 단계를 포함하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 방법.In-memory database-based data management, characterized in that it comprises a record access step of performing a record access control operation to check the connectivity information between the node and the link using the node record identification information or record identification information and perform a record search. Way.
  6. 제5항에 있어서, The method of claim 5,
    상기 테이블 생성 단계는, The table generation step,
    상기 노드 테이블에 각 노드에 연결된 링크의 링크 레코드 식별 정보를 삽입하는 링크 식별 컬럼을 추가하고,Add a link identification column to insert link record identification information of a link connected to each node in the node table,
    상기 링크 테이블에 각 링크의 시작 노드와 종단 노드의 노드 레코드 식별 정보를 삽입하는 노드 식별 컬럼을 추가하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 방법. And a node identification column for inserting node record identification information of a start node and an end node of each link to the link table.
  7. 제6항에 있어서, The method of claim 6,
    상기 테이블 생성 단계는, The table generation step,
    상기 노드 테이블에 노드 데이터를 입력하고, 상기 링크 식별 컬럼을 초기화 값으로 설정하는 단계;Inputting node data into the node table and setting the link identification column to an initialization value;
    상기 링크 데이터의 링크에 대한 시작 노드와 종단 노드가 상기 노드 테이블에 존재하면, 상기 링크 테이블에 해당 링크 데이터를 입력하고, 상기 노드 식별 컬럼에 상기 링크의 시작 노드와 종단 노드의 노드 레코드 식별 정보를 각각 삽입하는 단계; 및 If a start node and an end node for a link of the link data exist in the node table, the corresponding link data is input to the link table, and node record identification information of the start node and the end node of the link is entered in the node identification column. Inserting each; And
    상기 노드 테이블에서 상기 시작 노드에 대한 노드 레코드의 링크 식별 컬럼에 상기 시작 노드에 연결된 링크 레코드 식별 정보를 삽입하고, 상기 종단 노드에 대한 노드 레코드의 링크 식별 컬럼에 상기 종단 노드에 연결된 링크 레코드 식별 정보를 삽입하는 단계를 포함하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 방법.Inserting link record identification information connected to the start node into the link identification column of the node record for the start node in the node table, and link record identification information connected to the end node in the link identification column of the node record for the end node In-memory database-based data management method comprising the step of inserting.
  8. 제5항에 있어서, The method of claim 5,
    네트워크 경로 탐색시, 상기 네트워크 테이블에서 최초 접근을 위한 노드 데이터를 포함하는 노드 레코드를 검색하고, 상기 검색한 노드 레코드에서 해당 노드에 연결된 링크 레코드 식별 정보를 추출하며, 상기 추출한 링크 레코드 식별 정보를 시작 포인터로 이용해 해당 레코드에 직접 접근하여 경로 탐색 연산을 진행하는 경로 탐색 단계를 더 포함하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 방법.When searching for a network path, search for a node record including node data for initial access in the network table, extract link record identification information connected to the node from the searched node record, and start the extracted link record identification information. And a path search step of performing a path search operation by directly accessing a corresponding record using a pointer.
  9. 제5항에 있어서, The method of claim 5,
    상기 노드 레코드 식별 정보와 링크 레코드 식별 정보가 변경되지 않도록 상기 네트워크 테이블을 제외한 나머지 테이블에 대한 메모리의 단편화 현상을 방지하기 위한 압축(Compaction) 작업을 수행하는 메모리 압축 단계를 더 포함하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 방법. And a memory compression step of performing a compression operation to prevent fragmentation of the memory for the remaining tables except the network table so that the node record identification information and the link record identification information are not changed. In-memory database based data management method.
  10. 제5항에 있어서, The method of claim 5,
    상기 포인터 연산 단계는, The pointer operation step,
    상기 노드 레코드에 저장된 링크 레코드 식별 정보를 포인터 연산하여 해당 링크 레코드의 시작 포인터로 변경하고, 상기 링크 레코드에 저장된 노드 레코드 식별 정보를 포인터 연산하여 해당 노드 레코드의 시작 포인터로 변경하여 상기 노드 데이터와 링크 데이터 간에 상호 참조되도록 하는 것을 특징으로 하는 인-메모리 데이터베이스 기반의 데이터 관리 방법. A pointer operation is performed to change the link record identification information stored in the node record to the start pointer of the corresponding link record, and a node operation is performed on the node record identification information stored in the link record to be changed to the start pointer of the corresponding node record to link with the node data. In-memory database-based data management method characterized in that the data is cross-referenced.
PCT/KR2015/000831 2015-01-23 2015-01-27 In-memory database-based data management system and method WO2016117739A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0011071 2015-01-23
KR1020150011071A KR101640733B1 (en) 2015-01-23 2015-01-23 System for Managing data based In-Memory DataBase and method thereof

Publications (1)

Publication Number Publication Date
WO2016117739A1 true WO2016117739A1 (en) 2016-07-28

Family

ID=56417261

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/000831 WO2016117739A1 (en) 2015-01-23 2015-01-27 In-memory database-based data management system and method

Country Status (2)

Country Link
KR (1) KR101640733B1 (en)
WO (1) WO2016117739A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089266A1 (en) * 2016-09-28 2018-03-29 Microsoft Technology Licensing, Llc Direct table association in in-memory databases
CN108777155A (en) * 2018-08-02 2018-11-09 北京知存科技有限公司 Flash chip
CN111538640A (en) * 2020-06-09 2020-08-14 陈君宁 Dynamically-resolved data chain

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101820017B1 (en) * 2016-10-26 2018-01-18 주식회사 리얼타임테크 Database clustering apparatus and method
KR102045885B1 (en) * 2017-12-06 2019-11-18 주식회사 리얼타임테크 Method for finding shortest path in road network databases

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606669A (en) * 1994-05-25 1997-02-25 International Business Machines Corporation System for managing topology of a network in spanning tree data structure by maintaining link table and parent table in each network node
US20010051946A1 (en) * 1999-12-28 2001-12-13 International Business Machines Corporation Database system including hierarchical link table
US6385649B1 (en) * 1998-11-06 2002-05-07 Microsoft Corporation Routers and methods for optimal routing table compression
US20050097108A1 (en) * 2003-10-29 2005-05-05 Oracle International Corporation Network data model for relational database management system
US6944131B2 (en) * 1999-09-27 2005-09-13 Nortel Networks Limited State information and routing table updates in large scale data networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100832222B1 (en) * 2001-06-09 2008-05-23 자프 아게 Cache-conscious concurrency control scheme for index structures in main-memory database systems
US9197597B2 (en) * 2006-07-03 2015-11-24 Oracle International Corporation RDF object type and reification in the database
JP5189838B2 (en) * 2007-12-27 2013-04-24 日立オートモティブシステムズ株式会社 Map data distribution system, map data distribution method, and communication terminal
KR101260165B1 (en) 2011-08-12 2013-05-06 허준 Open database management system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606669A (en) * 1994-05-25 1997-02-25 International Business Machines Corporation System for managing topology of a network in spanning tree data structure by maintaining link table and parent table in each network node
US6385649B1 (en) * 1998-11-06 2002-05-07 Microsoft Corporation Routers and methods for optimal routing table compression
US6944131B2 (en) * 1999-09-27 2005-09-13 Nortel Networks Limited State information and routing table updates in large scale data networks
US20010051946A1 (en) * 1999-12-28 2001-12-13 International Business Machines Corporation Database system including hierarchical link table
US20050097108A1 (en) * 2003-10-29 2005-05-05 Oracle International Corporation Network data model for relational database management system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089266A1 (en) * 2016-09-28 2018-03-29 Microsoft Technology Licensing, Llc Direct table association in in-memory databases
US10853364B2 (en) * 2016-09-28 2020-12-01 Microsoft Technology Licensing, Llc Direct table association in in-memory databases
CN108777155A (en) * 2018-08-02 2018-11-09 北京知存科技有限公司 Flash chip
CN111538640A (en) * 2020-06-09 2020-08-14 陈君宁 Dynamically-resolved data chain
CN111538640B (en) * 2020-06-09 2023-05-16 陈君宁 Dynamic analysis data chain

Also Published As

Publication number Publication date
KR101640733B1 (en) 2016-07-20

Similar Documents

Publication Publication Date Title
WO2016117739A1 (en) In-memory database-based data management system and method
WO2012108623A1 (en) Method, system and computer-readable recording medium for adding a new image and information on the new image to an image database
WO2018064962A1 (en) Data storage method, electronic device and computer non-volatile storage medium
US7805427B1 (en) Integrated search engine devices that support multi-way search trees having multi-column nodes
JPH02501514A (en) How to combine software application programs that use attribute data model databases
WO2019156309A1 (en) Key-value-based data access device and method using internal parallelism of flash storage device
WO2014189190A1 (en) System and method for retrieving information on basis of data member tagging
CN102867049A (en) Chinese PINYIN quick word segmentation method based on word search tree
WO2018182060A1 (en) Method for storing and searching text log data on basis of relational database
WO2022124573A1 (en) Method for evaluating similarity of website on basis of menu structure and keyword in script
JP5994490B2 (en) Data search program, database device, and information processing system
US11188594B2 (en) Wildcard searches using numeric string hash
WO2019112223A1 (en) Electronic document retrieval method and server therefor
WO2014098372A1 (en) Harmful site collection device and method
WO2018080187A1 (en) Apparatus for operating multiple databases of embedded database system, and method therefor
CN111522820A (en) Data storage structure, storage retrieval method, system, device and storage medium
JPH03174653A (en) Method and device for control of key word
WO2015133774A1 (en) Patent analysis system and method, and recording medium in which program for executing same is recorded
WO2018182058A1 (en) Join method for relational database
WO2012030027A1 (en) Character string matching device based on a multi core processor and character string matching method thereof
WO2020153522A1 (en) Hybrid indexing device in heterogeneous storage based database management system
WO2020105748A1 (en) Query optimization method using index merging on distributed database
WO2023195697A1 (en) High-speed packet search method and device
WO2019189962A1 (en) Query parallelizing method for data having copy existing in distribution database
JP2020135530A (en) Data management device, data search method and program

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

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

Country of ref document: EP

Kind code of ref document: A1