KR20080055524A - Query processing method for multi level database management system - Google Patents

Query processing method for multi level database management system Download PDF

Info

Publication number
KR20080055524A
KR20080055524A KR1020060128975A KR20060128975A KR20080055524A KR 20080055524 A KR20080055524 A KR 20080055524A KR 1020060128975 A KR1020060128975 A KR 1020060128975A KR 20060128975 A KR20060128975 A KR 20060128975A KR 20080055524 A KR20080055524 A KR 20080055524A
Authority
KR
South Korea
Prior art keywords
query
node
determined
memory
database management
Prior art date
Application number
KR1020060128975A
Other languages
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 주식회사 케이티
Priority to KR1020060128975A priority Critical patent/KR20080055524A/en
Publication of KR20080055524A publication Critical patent/KR20080055524A/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/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24524Access plan code generation and invalidation; Reuse of access plans
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/24569Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
    • 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
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

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

Abstract

A device and a method for processing a query in multi-level DBMS(DataBase Management System) are provided to minimize a minimized response time with reduced data I/O(Input/Output) by determining a layer of a storage space for processing the received query through comparison between table information of a plan tree node and metadata, which is snapshot information. A plan tree node searcher(212) searches a table node in a plan tree(221) corresponding to a user query by using a backend round mode. A level determiner(213) determines a position of the table node by comparing table information of the searched table node with metadata(222) having snapshot generation information. A query processing level determiner(211) determines a storage tool layer suitable for processing the user query by analyzing the location of the determined table node. The level determiner determines a memory for the position of the table node when all of a table name, a field list, and a filter is found in the metadata, and determines a disk for the position of the table node when one of the table name, the field list, and the filter is not found in the metadata.

Description

다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치 및 그 방법{Query Processing Method for Multi Level Database Management System}Query Processing Apparatus and Method in Multilevel Database Management System {Query Processing Method for Multi Level Database Management System}

도 1 은 본 발명이 적용되는 다중 레벨 데이터베이스 관리 시스템의 구성도,1 is a configuration diagram of a multi-level database management system to which the present invention is applied;

도 2 는 본 발명에 따른 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치의 일실시예 구성도,2 is a block diagram of an embodiment of a query processing apparatus in a multilevel database management system according to the present invention;

도 3 은 본 발명에 적용되는 스냅샷 데이터에 대한 메타데이터의 일실시예 구조도,3 is a structural diagram of an embodiment of metadata for snapshot data applied to the present invention;

도 4 는 본 발명에 적용되는 질의 처리 레벨 결정 알고리즘에 대한 일실시예 흐름도,4 is a flow diagram of an embodiment of a query processing level determination algorithm applied to the present invention;

도 5 는 본 발명에 적용되는 플랜트리 노드 검색 알고리즘에 대한 일실시예 흐름도,5 is a flowchart illustrating an embodiment of a plant tree node search algorithm applied to the present invention;

도 6 은 본 발명에 적용되는 레벨 결정 알고리즘에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an embodiment of a level determination algorithm applied to the present invention.

* 도면의 주요 부분에 대한 부호 설명* Explanation of symbols on the main parts of the drawing

20: 질의 처리 장치 21: 질의 분류부20: query processing apparatus 21: query classification unit

211: 질의처리 레벨결정기 212: 플랜트리 노드 검색기211: query processing level determiner 212: plant tree node finder

213: 레벨 결정기213: level determiner

200: 스냅샷을 갖는 다중 레벨 데이터베이스 관리 시스템200: Multilevel database management system with snapshot

본 발명은 다중 레벨 데이터베이스 관리 시스템(DBMS: Database Management System)에서의 질의 처리 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 스냅샷을 갖는 다중레벨 데이터베이스 관리 시스템에서 플랜트리(Plan Tree) 노드의 테이블 정보와 스냅샷 생성정보인 메타데이터와의 비교를 통해 사용자 질의를 처리하기 위한 저장 공간의 레이어(메모리 레이어, 디스크 레이어 등)를 결정함으로써, 불필요한 디스크 입출력을 줄여 질의 응답 시간을 최소화할 수 있는, 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치 및 그 방법에 관한 것이다.The present invention relates to a query processing apparatus and method in a multilevel database management system (DBMS), and more particularly, to a table of plan tree nodes in a multilevel database management system having a snapshot. By comparing the information with the metadata, which is the snapshot creation information, the storage layer (memory layer, disk layer, etc.) for processing user queries can be determined, thereby reducing unnecessary disk I / O and minimizing query response time. A query processing apparatus and a method thereof in a multilevel database management system.

다양한 데이터베이스 관리 시스템이 많은 분야에서 사용되고 있지만, 종래의 디스크 기반 데이터베이스 관리 시스템은 빠른 응답속도를 제공하는데 한계가 있다. 또한, 종래의 메모리 기반 데이터베이스 관리 시스템은 대용량의 데이터를 관리하기가 어려운 실정이다.Although various database management systems are used in many fields, conventional disk-based database management systems have limitations in providing fast response speed. In addition, the conventional memory-based database management system is difficult to manage a large amount of data.

이를 보완하기 위하여, 다중레벨 저장 데이터베이스 관리 시스템은 디스크 데이터베이스 관리 시스템과 메모리 데이터베이스 관리 시스템을 결합하여 각각의 장점을 모두 가지고 있다. 다중 레벨 저장 데이터베이스 관리 시스템은 큰 저장용량을 요구하는 응용 환경에서 경제적 한계와 기술적 한계를 극복하기 위하여 컴퓨터 저장 시스템 장치들을 조직화한 것이다. 이러한 다중 레벨 저장 데이터베이스 관리 시스템은 데이터 관리 또는 정보 검색 시스템에서 널리 사용되고 있다.In order to compensate for this, the multilevel storage database management system combines a disk database management system and a memory database management system and has all the advantages. A multilevel storage database management system is an organization of computer storage system devices to overcome economic and technical limitations in applications requiring large storage capacity. Such multilevel storage database management systems are widely used in data management or information retrieval systems.

즉, 다중레벨 저장 데이터베이스 관리 시스템은 접근 속도와 저장 용량이 서로 다른 여러 개의 저장장치를 사용하는 데이터베이스 관리 시스템을 의미한다. 이러한 시스템은 비교적 접근 속도는 느리지만 방대한 양의 데이터 관리가 가능한 하위 레벨의 저장장치를 이용하여 비디오, 오디오, 이미지 등의 대용량 데이터 처리를 지원한다. 또한, 이러한 시스템은 빠른 접근 속도가 있으나 비교적 용량이 제한되어 있는 상위 레벨의 저장장치를 이용하여 빠른 응답 시간을 제공한다.That is, a multilevel storage database management system refers to a database management system using multiple storage devices having different access speeds and storage capacities. These systems support relatively large volumes of data, such as video, audio, and images, with low-level storage that is relatively slow to access but can manage vast amounts of data. In addition, these systems provide fast response times using high-level storage, which has fast access speeds but relatively limited capacity.

도 1 은 본 발명이 적용되는 다중 레벨 저장 데이터베이스 관리 시스템의 구성도이다.1 is a block diagram of a multilevel storage database management system to which the present invention is applied.

도 1에 도시된 바와 같이, 본 발명이 적용되는 다중 레벨 저장 데이터베이스 관리 시스템은 세 개의 레벨(11, 12, 13)을 가진다. 세 개의 레벨은 메모리 레이어(Memory Layer)(11), 디스크 레이어(Disk Layer)(12), 또는 아카이브 레이어(Archive Layer)(13)를 가리킨다.As shown in Fig. 1, the multilevel storage database management system to which the present invention is applied has three levels (11, 12, 13). Three levels refer to a memory layer 11, a disk layer 12, or an archive layer 13.

상기 메모리 레이어(11)는 주기억장치인 메모리를 사용하며, 메모리 테이블(111)과 하위 레이어에 대한 메모리 버퍼(112, 113)를 포함한다. 즉, 메모리 레이어(11)는 디스크 레이어(12)와 아카이브 레이어(13)의 버퍼 영역으로도 사용된다.The memory layer 11 uses a main memory, and includes a memory table 111 and memory buffers 112 and 113 for lower layers. That is, the memory layer 11 is also used as a buffer area of the disk layer 12 and the archive layer 13.

상기 디스크 레이어(12)는 디스크 기반의 보조기억 장치를 사용하며, 디스크 테이블(121)과 하위 레이어에 대한 메모리 버퍼(121)를 포함한다. 즉, 디스크 레이어(12)는 아카이브 레이어(13)의 버퍼 영역으로도 사용된다. The disk layer 12 uses a disk-based auxiliary storage device and includes a disk table 121 and a memory buffer 121 for lower layers. In other words, the disc layer 12 is also used as a buffer area of the archive layer 13.

상기 아카이브 레이어(13)는 아카이브 테이블(131)을 포함하고, 값싼 비용으로 대용량을 실현할 수 있으며 테이프, 쥬크박스, 광 디스크 등의 장치를 사용한다. The archive layer 13 includes an archive table 131, which can realize a large capacity at a low cost, and uses a device such as a tape, a juke box, an optical disk, or the like.

종래의 다중 레벨 데이터베이스 관리 시스템은 각각의 레이어(디스크, 메모리) 데이터베이스에 저장된 테이블이 독립적인 특징이 있다. 즉, 이러한 종래의 시스템은 질의 처리시 단일 테이블인 경우에 각각 디스크 테이블을 참조하면 디스크 테이블을 사용한다. 또한, 이러한 종래의 시스템은 메모리 테이블을 참조하면 메모리 테이블을 사용한다. 또한, 이러한 종래의 시스템은 두 개 이상의 테이블을 참조하는 경우에 메모리와 디스크의 테이블에 대하여 함께 처리한다. Conventional multi-level database management system is characterized in that the tables stored in each layer (disk, memory) database is independent. In other words, such a conventional system uses a disk table when referring to each disk table in the case of a single table during query processing. This conventional system also uses a memory table when referring to the memory table. In addition, such a conventional system processes together tables of memory and disk when referring to two or more tables.

따라서 이러한 종래의 시스템은 하위레벨의 데이터에 접근하기 위해서는 반드시 상위 레벨의 버퍼공간으로 이동하는 입출력(I/O: Input/Output) 비용 및 회복에 대한 고려를 해주어야 하므로 처리부하가 크다는 문제점이 있다.Therefore, such a conventional system has a problem in that the processing load is large because it is necessary to consider input / output (I / O) cost and recovery of moving to a higher level buffer space in order to access lower level data.

이에 비해, 스냅샷 데이터를 갖는 다중레벨 저장 데이터베이스 관리 시스템을 살펴보면, 스냅샷 데이터를 갖는 다중레벨 저장 데이터베이스 관리 시스템은 디스크 데이터베이스와 스냅샷 형태인 메인 메모리 상주 데이터베이스를 가지는 데이터베이스 관리 시스템이다. 이러한 시스템은 하위 레벨의 디스크 데이터베이스를 이용하여 대용량 데이터 처리를 효율적으로 지원한다. 또한, 이러한 시스템은 자주 접근되는 데이터들을 상위 레벨의 메인 메모리 상주 데이터베이스에 테이블 전체 또는 일부분을 스냅샷 형태로 생성하고, 이를 이용함으로써 디스크 기반 데이터베이스 관리 시스템을 사용할 때보다 빠른 응답 시간을 보장한다.In contrast, referring to a multilevel storage database management system having snapshot data, a multilevel storage database management system having snapshot data is a database management system having a disk database and a main memory resident database in a snapshot form. These systems utilize low-level disk databases to efficiently support large data processing. In addition, these systems create snapshots of all or part of the tables in high-level main memory resident databases, and use them to ensure faster response times than using disk-based database management systems.

Figure 112006093222480-PAT00001
Figure 112006093222480-PAT00001

상기의 [표 1]은 전술한 다중레벨 데이터베이스 관리 시스템과 스냅샷을 이용한 다중레벨 데이터베이스 관리 시스템을 데이터의 처리 위치에 따라 비교한 것이다. Table 1 above compares the above-described multilevel database management system and the multilevel database management system using snapshots according to the processing positions of data.

두 개의 시스템은 디스크 데이터베이스에서 데이터를 처리하는 경우에는 같은 처리과정을 거치기 때문에 동일한 비용이 드는 것을 알 수가 있다. 그러나 메모리 데이터베이스에서 처리하는 경우에는 회복 메커니즘 처리의 차이점으로 인해 다중 레벨 데이터베이스 관리 시스템에 더 많은 부하가 있다.The two systems go through the same process when processing data from the disk database, so you see the same cost. However, when dealing with memory databases, there are more loads on multilevel database management systems due to differences in recovery mechanism processing.

하지만, 종래의 다중 레벨 저장 데이터베이스 관리 시스템은 질의 플랜트리가 요구하는 데이터들을 스냅샷 데이터에서 가져오지 못하고 있는 상황이다. 따라서 불필요한 디스크 입출력(I/O)가 발생하여 사용자 질의에 대한 빠른 응답 시간을 보장하지 못한다는 문제점이 있다. 즉, 종래의 데이터베이스 관리 시스템은 서로 다른 레벨에 저장되어 있는 데이터를 효율적으로 사용하지 못하는 문제점이 있다.However, the conventional multi-level storage database management system is a situation that does not take the data required by the query plan tree from the snapshot data. Therefore, there is a problem in that unnecessary response to the user query is not guaranteed because unnecessary disk I / O occurs. That is, the conventional database management system has a problem in that it is not possible to efficiently use data stored at different levels.

본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 스냅샷을 갖는 다중레벨 데이터베이스 관리 시스템에서 플랜트리 노드의 테이블 정보와 스냅샷 생성정보인 메타데이터와의 비교를 통해 사용자 질의를 처리하기 위한 저장 공간의 레이어(메모리 레이어, 디스크 레이어 등)를 결정함으로써, 불필요한 디스크 입출력을 줄여 질의 응답 시간을 최소화할 수 있는, 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and in a multilevel database management system having a snapshot, a storage space for processing a user query through comparison between table information of a plan tree node and metadata which is snapshot generation information It is an object of the present invention to provide an apparatus and method for processing a query in a multilevel database management system that can minimize query response time by reducing unnecessary disk I / O by determining a layer (memory layer, disk layer, etc.).

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. It will also be appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명은, 다중레벨 데이터베이스 관리 시스템(DBMS)에서의 질의 처리 장치에 있어서, 사용자의 질의에 해당하는 질의 플랜트리(Plan tree)에서 테이블 노드를 탐색하기 위한 플랜트리 노드 검색 수단; 상기 플랜트리 노드 검색 수단에서 탐색된 노드의 테이블 정보를 스냅샷(Snap shot) 생성정보를 갖는 메타데이터(Metadata)와 비교하여 해당 테이블 노드의 위치를 결정 하기 위한 레벨 결정 수단; 및 상기 레벨 결정 수단에서 결정된 테이블 노드의 위치를 분석하여 상기 사용자 질의를 처리하는데 적합한 저장 수단 레이어(Layer)를 결정하기 위한 질의처리 레벨 결정 수단을 포함한다.In order to achieve the above object, the present invention provides a query processing apparatus in a multilevel database management system (DBMS), wherein a plant tree node is searched for searching a table node in a query plan tree corresponding to a user's query. Way; Level determination means for determining the position of the table node by comparing the table information of the node searched by the plant tree node searching means with metadata having snapshot generation information; And query processing level determining means for determining a storage means layer suitable for processing the user query by analyzing the position of the table node determined by the level determining means.

한편, 본 발명은, 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 방법에 있어서, 사용자의 질의에 해당하는 질의 플랜트리(Plan tree)에서 테이블 노드를 탐색하는 플랜트리 노드 검색 단계; 상기 플랜트리 노드 검색 단계에서 탐색된 노드의 테이블 정보를 스냅샷(Snap shot) 생성정보를 갖는 메타데이터(Metadata)와 비교하여 해당 테이블 노드의 위치를 결정하는 레벨 결정 단계; 및 상기 레벨 결정 단계에서 결정된 테이블 노드의 위치를 분석하여 상기 사용자 질의를 처리하는데 적합한 저장 수단 레이어(Layer)를 결정하는 질의처리 레벨 결정 단계를 포함한다.On the other hand, the present invention, a query processing method in a multi-level database management system, comprising: a plan tree node search step of searching for a table node in a query plan tree corresponding to a user's query; A level determining step of determining a position of a corresponding table node by comparing table information of the node searched in the plant tree node searching step with metadata having snapshot generation information; And a query processing level determining step of determining a storage means layer suitable for processing the user query by analyzing the position of the table node determined in the level determining step.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명에서는 디스크에 모든 데이터가 존재하고 빠른 응답속도를 요구하는 데이터는 스냅샷의 형태로 메모리에 존재하는 것을 가정하기로 한다. 따라서 메타 데이터는 질의 분류 시에 메모리에 수록된 스냅샷 테이블의 생성 정보를 분류 컴포넌트에 제공할 수 있는 것으로 가정하기로 한다.In the present invention, it is assumed that all data exist on the disk and data requiring fast response speed exist in the memory in the form of a snapshot. Therefore, it is assumed that meta data can provide generation information of a snapshot table stored in memory to classify the query.

도 2 는 본 발명에 따른 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치의 일실시예 구성도이다.2 is a block diagram of an embodiment of a query processing apparatus in a multilevel database management system according to the present invention.

도 2에 도시된 바와 같이, 본 발명에 따른 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치(20)는 질의 플랜트리에 대한 질의의 형태를 결정하기 위한 질의 분류부(분류 컴포넌트)(21)를 포함한다. 여기서, 질의 분류부(21)는 질의 처리 레벨 결정기(211), 플랜트리 노드 검색기(212), 및 레벨 결정기(213)를 포함한다. As shown in Fig. 2, the query processing apparatus 20 in the multilevel database management system according to the present invention includes a query classification unit (classification component) 21 for determining the form of a query for a query plan tree. . Here, the query classification unit 21 includes a query processing level determiner 211, a plant tree node searcher 212, and a level determiner 213.

상기 질의 처리 레벨 결정기(211)는 레벨 결정기(213)에서 결정된 테이블 노드의 위치를 분석하여 사용자 질의를 처리하는데 적합한 저장 수단 레이어(Layer)를 결정하는 기능을 수행한다. 즉, 질의 처리 레벨 결정기(211)는 질의 플랜트리(221)를 입력 파라미터로 받아 플랜트리 노드 검색기(212)를 호출한다. 그리고 질의 처리 레벨 결정기(211)는 호출된 플랜트리 노드 검색기(212)로부터 질의 플랜트리(221)에 포함되는 모든 테이블 노드들에 대한 위치 값(스택 정보)을 조회하여 질의 형태를 메모리 질의, 디스크 질의, 또는 하이브리드(Hybrid) 질의 중 어느 하나로 결정한다. The query processing level determiner 211 analyzes the position of the table node determined by the level determiner 213 to determine a storage means layer suitable for processing a user query. That is, the query processing level determiner 211 receives the query plan tree 221 as an input parameter and calls the plan tree node searcher 212. The query processing level determiner 211 inquires the position values (stack information) of all the table nodes included in the query plan tree 221 from the called plant tree node searcher 212 and selects a query form as a memory query or a disk. Decide on either a query or a hybrid query.

여기서, 본 발명에 적용되는 사용자 질의는 요구되는 데이터의 위치에 따라 디스크 질의, 메모리 질의, 또는 하이브리드(Hybrid) 질의의 세 가지 질의로 분류된다. 예를 들어, 디스크 질의는 질의에 사용되는 데이터들이 모두 디스크에 존재 하는 경우를 의미한다. 또한, 메모리 질의는 모든 데이터들이 스냅샷의 형태로 메모리에 존재하는 경우를 의미한다. 하이브리드 질의는 질의 수행에 필요한 데이터들이 디스크와 메모리에 나누어져 있는 경우를 지칭하는 것으로 질의 분류시 사용되는 메타데이터는 디스크 테이블의 정보와 메모리 테이블의 생성 정보 등을 수록하고 있다. In this case, the user query applied to the present invention is classified into three queries, a disk query, a memory query, or a hybrid query according to the location of the required data. For example, a disk query means that all the data used for the query exists on disk. In addition, the memory query refers to a case where all data exist in memory in the form of a snapshot. Hybrid query refers to a case in which data necessary to execute a query is divided into disk and memory. The metadata used to classify a query includes information about a disk table and information about a memory table.

상기 플랜트리 노드 검색기(212)는 사용자의 질의에 해당하는 질의 플랜트리(Plan tree)에서 테이블 노드를 탐색하는 기능을 수행한다. 즉, 플랜트리 노드 검색기(212)는 질의 처리 레벨 결정기(211)로부터 호출되고, 질의 플랜트리(221)와 스택을 입력 파라미터로 받아 질의 플랜트리(221)를 후위 순회 방문한다. 플랜트리 노드 검색기(212)는 질의 플랜트리(221)에 포함된 모든 테이블 노드에 대해 레벨 결정기(213)를 호출하여 얻은 위치를 스택에 삽입한다. The plant tree node searcher 212 searches for table nodes in a query plan tree corresponding to a user's query. That is, the plant tree node searcher 212 is called from the query processing level determiner 211 and receives the query plan tree 221 and the stack as input parameters and visits the query plan tree 221 backwards. The plant tree node finder 212 inserts the position obtained by calling the level determiner 213 for all table nodes included in the query plan tree 221 on the stack.

상기 레벨 결정기(213)는 플랜트리 노드 검색기(212)에서 탐색된 노드의 테이블 정보를 스냅샷(Snap shot) 생성정보를 갖는 메타데이터(Metadata)와 비교하여 해당 테이블 노드의 위치를 결정하는 기능을 수행한다. 즉, 레벨 결정기(213)는 플랜트리 노드 검색기(212)로부터 호출되고, 질의 플랜트리(221)의 테이블 노드를 메타데이터(222)와 비교하여 테이블의 위치를 디스크 또는 메모리 중 어느 하나로 결정한다. The level determiner 213 compares table information of the node searched by the plant tree node searcher 212 with metadata having snapshot generation information to determine the location of the corresponding table node. Perform. That is, the level determiner 213 is called from the plan tree node finder 212 and compares the table node of the query plan tree 221 with the metadata 222 to determine the location of the table with either disk or memory.

이하, 도 3을 참조하여 스냅샷 데이터에 대한 메타데이터를 상세하게 살펴보고, 질의 처리 레벨 결정기(211), 플랜트리 노드 검색기(212), 및 레벨 결정기(213)에 적용되는 알고리즘을 도 4 내지 도 6을 참조하여 살펴보기로 한다.Hereinafter, referring to FIG. 3, metadata about the snapshot data will be described in detail, and algorithms applied to the query processing level determiner 211, the plant tree node searcher 212, and the level determiner 213 will be described with reference to FIGS. 4 to 4. This will be described with reference to FIG. 6.

도 3 은 본 발명에 적용되는 스냅샷 데이터에 대한 메타데이터의 일실시예 구조도이다.3 is a structural diagram of an embodiment of metadata for snapshot data applied to the present invention.

도 3에 도시된 바와 같이, 본 발명에 적용되는 스냅샷 데이터에 대한 메타데이터는 디스크 테이블 이름(TBL_DK_Name)(301), 디스크 테이블 객체식별자(TBL_DK_OID)(302), 메인 메모리 테이블 객체식별자(TBL_MM_OID)(303), 필드 리스트(Fieldlist)(304), 및 필터 조건(Filter)(305)을 포함한다.As shown in FIG. 3, metadata about snapshot data applied to the present invention includes a disk table name (TBL_DK_Name) 301, a disk table object identifier (TBL_DK_OID) 302, and a main memory table object identifier (TBL_MM_OID). 303, a field list 304, and a filter condition 305.

디스크 테이블 이름(301)은 메모리로 로딩된 스냅샷 테이블 기반의 디스크 테이블 이름이다. 디스크 테이블 이름(301)은 레벨 결정기(213)에서 사용자로부터 입력된 질의 플랜트리(실행 계획)(221)를 포함하고 있는 테이블들의 이름과 비교되어 해당 테이블을 기반으로 생성된 스냅샷의 존재 여부를 판단하는데 이용된다. 그리고 스냅샷의 존재 여부를 판단하는 과정은 해당 테이블의 모든 레코드가 메모리에 존재함을 보장할 수 없기 때문에, 디스크 테이블 이름(301)을 통한 판단뿐 아니라 필드 리스트(304)와 필터 조건(305)을 추가로 비교하고 분석하는 과정이 추가된다.The disk table name 301 is a disk table name based on a snapshot table loaded into memory. The disk table name 301 is compared with the names of the tables including the query plan tree (execution plan) 221 input from the user in the level determiner 213 to determine whether there is a snapshot created based on the table. It is used to judge. Since the process of determining whether or not the snapshot exists does not guarantee that all records of the table exist in memory, the field list 304 and the filter condition 305 as well as the judgment based on the disk table name 301 are not provided. Further comparison and analysis are added.

디스크 테이블 객체식별자(302)와 메인 메모리 테이블 객체식별자(303)는 각각의 저장 관리자에서 테이블을 관리하기 위한 객체 식별자(Object Identifier)를 의미한다. 질의에서 요구하는 테이블의 위치가 결정되었을 때, 이러한 객체식별자(302, 303)는 해당하는 저장관리자에 데이터의 요청에 이용된다. The disk table object identifier 302 and the main memory table object identifier 303 mean an object identifier for managing a table in each storage manager. When the location of the table required by the query is determined, these object identifiers 302 and 303 are used to request data from the corresponding storage manager.

필드 리스트(304)는 스냅샷 테이블의 생성시 적용된 필드의 목록을 포함하고 있다. 이러한 필드의 목록은 후술할 레벨 결정 알고리즘에서 포함 조건을 분석할 때 이용된다.The field list 304 includes a list of fields applied when the snapshot table is created. This list of fields is used when analyzing the inclusion conditions in the level determination algorithm described below.

필터 조건(305)은 스냅샷 생성시 적용되었던 조건을 의미한다. 질의로부터 입력되는 필터 조건을 비교 분석하여 최종적으로 요구되는 테이블의 위치를 결정하는데 이용된다. The filter condition 305 means a condition that was applied when the snapshot was created. The filter condition inputted from the query is analyzed and used to determine the final required table position.

일례로, 스냅샷에 대한 생성 질의는 실렉트(select)절, 프롬(from)절, 웨어(where)절을 포함한다. 여기서, 실렉트(select)절은 메타데이터의 필드목록과 관련이 있고, 프롬(from)절은 메타데이터의 테이블 이름과 관련이 있고, 웨어(where)절은 메타데이터의 필터조건과 관련이 있다.In one example, a generation query for a snapshot includes a select clause, a from clause, and a where clause. Here, the select clause is related to the field list of the metadata, the from clause is related to the table name of the metadata, and the where clause is related to the filter condition of the metadata. .

도 4 는 본 발명에 적용되는 질의 처리 레벨 결정 알고리즘에 대한 일실시예 흐름도이다.4 is a flowchart illustrating an embodiment of a query processing level determination algorithm applied to the present invention.

질의 처리 레벨 결정 알고리즘에서는 실행 계획(질의 플랜트리)에서 요구되는 테이블들의 위치가 판단되어 알고리즘이 적용된 후, 각 테이블의 수행 위치와 사용자로부터 입력되는 질의의 형태가 결정된다. 이러한 알고리즘은 전술한 질의 처리 레벨 결정기(211)에 의해 수행된다. 입력 매개변수는 질의의 실행 계획을 담고 있는 질의 플랜트리(41)이다. 여기서, 질의 플랜트리는 이진 트리의 형태로 구성되어 있다. 또한, 트리를 구성하고 있는 노드는 연산자와 테이블로 구성되어 있다. In the query processing level determination algorithm, the positions of the tables required in the execution plan (query plan tree) are determined, and after the algorithm is applied, the execution position of each table and the type of query input from the user are determined. This algorithm is performed by the query processing level determiner 211 described above. The input parameter is the query plan tree 41 that contains the execution plan of the query. Here, the query plant tree is configured in the form of a binary tree. In addition, the nodes that make up the tree are composed of operators and tables.

질의 처리 레벨 결정기(211)는 입력받은 질의 플랜트리(41)를 매개변수로 플랜트리 노드 검색기(212)를 호출한다(402). 그리고 호출된 플랜트리 노드 검색기(212)는 플랜트리 노드 탐색 알고리즘에 따라 질의 플랜트리(41)에 포함되는 모 든 테이블 노드들에 대해 디스크 또는 메모리 위치 값을 매핑한 스택 정보를 되돌려받는다. 플랜트리 노드 탐색 알고리즘은 도 4를 참조하여 상세하게 후술하기로 한다.The query processing level determiner 211 calls the plan tree node searcher 212 with the input query plan tree 41 as a parameter (402). The called plant tree node searcher 212 receives stack information mapped to disk or memory location values for all table nodes included in the query plan tree 41 according to a plant tree node search algorithm. The plant tree node search algorithm will be described later in detail with reference to FIG. 4.

그리고 질의 처리 레벨 결정기(211)는 되돌려받은 스택 정보가 비어있는지를 확인하여(404), 스택 정보가 비어있지 않으면 스택 내의 모든 스택 정보(스택이 빈상태가 될 때까지)를 조회하여 질의 형태를 위치 값으로 매핑한다(406). The query processing level determiner 211 checks whether the returned stack information is empty (404). If the stack information is not empty, the query processing level determiner 211 inquires all stack information (until the stack becomes empty) in the stack form. Map to position value (406).

그리고 질의 처리 레벨 결정기(211)는 매핑된 모든 위치 값이 메모리인지를 판단한다(408). The query processing level determiner 211 determines whether all mapped position values are memory (408).

상기 판단 결과(408), 모든 위치 값이 메모리가 아니면 질의 처리 레벨 결정기(211)는 모든 위치 값이 디스크인지를 판단한다(412). As a result of the determination 408, if all position values are not memory, the query processing level determiner 211 determines whether all position values are disks (412).

상기 판단 결과(412), 모든 위치 값이 디스크가 아니면(위치 값이 혼합되어 있는 경우) 질의 처리 레벨 결정기(211)는 하이브리드 질의로 판단하여 질의 형태 값을 하이브리드 질의로 리턴 값을 결정한다(416). 그리고 스택이 빈 상태가 될 때까지 "404" 과정부터 수행한다.As a result of the determination 412, if all the position values are not disks (when the position values are mixed), the query processing level determiner 211 determines that the query form value is returned as a hybrid query by determining it as a hybrid query (416). ). The process starts with "404" until the stack is empty.

한편, 질의 처리 레벨 결정기(211)는 "408" 과정에서 모든 위치 값이 메모리인 경우에는 메모리 질의로 판단하여 질의 형태 값을 메모리 질의로 리턴한다(410). 그리고 스택이 빈 상태가 될 때까지 "404" 과정부터 수행한다.On the other hand, if all location values are memories in step 408, the query processing level determiner 211 determines that the query is a memory query and returns the query type value to the memory query (410). The process starts with "404" until the stack is empty.

한편, 질의 처리 레벨 결정기(211)는 "412" 과정에서 모든 위치 값이 디스크인 경우에는 디스크 질의로 판단하여 질의 형태 값을 디스크 질의로 리턴한다(414). 그리고 스택이 빈 상태가 될 때까지 "404" 과정부터 수행한다.Meanwhile, when all position values are disks, the query processing level determiner 211 determines that the disk query is a disk query and returns a query type value to the disk query (414). The process starts with "404" until the stack is empty.

즉, 질의 처리 레벨 결정기(211)는 스택이 비어있으면 종료하고 그렇지 않은 경우에 대해 위치 값을 스택에서 꺼내와서 지금까지의 모든 위치가 메모리인지를 판단하여 해당하는 경우 메모리 질의 타입을 리턴 값으로 한다. That is, the query processing level determiner 211 terminates if the stack is empty, and if it is not, retrieves the position value from the stack, determines whether all positions so far are memory, and sets the memory query type as a return value if applicable. .

그리고 질의 처리 레벨 결정기(211)는 "408" 과정에서 메모리가 아닌 경우에 모든 위치가 디스크인지를 판단하여 해당하는 경우 디스크 질의 타입을 리턴값으로 한다. The query processing level determiner 211 determines whether all locations are disks when the memory is not a memory in step 408, and sets the disk query type as a return value if applicable.

그리고 질의 처리 레벨 결정기(211)는 "412" 과정에서 디스크가 아닌 경우에 리턴값을 하이브리드 질의로 결정한다. 이후, 질의 처리 레벨 결정기(211)는 스택 정보를 읽는 작업을 스택이 빈 상태가 될 때까지 반복함으로써 질의 처리 레벨을 결정한다.The query processing level determiner 211 determines the return value as a hybrid query when it is not a disk in the process of "412". Thereafter, the query processing level determiner 211 determines the query processing level by repeating the operation of reading the stack information until the stack becomes empty.

이하, 도 5를 참조하여 "402" 과정에 적용되는 플랜트리 노드 검색 알고리즘에 대해 상세하게 살펴보기로 한다.Hereinafter, the plant tree node search algorithm applied to the process "402" will be described in detail with reference to FIG. 5.

도 5 는 본 발명에 적용되는 플랜트리 노드 검색 알고리즘에 대한 일실시예 흐름도이다.5 is a flowchart illustrating an embodiment of a plant tree node search algorithm applied to the present invention.

플랜트리 노드 검색 알고리즘은 질의 처리 레벨 결정기(211)에 의해 호출된 플랜트리 노드 검색기(212)에 의해 실행된다. The plant tree node search algorithm is executed by the plant tree node searcher 212 invoked by the query processing level determiner 211.

먼저, 플랜트리 노드 검색기(212)는 매개변수로 입력받은 질의 플랜트리(51)가 널(NULL)인지를 확인한다(502).First, the plant tree node searcher 212 checks whether the query plan tree 51 input as a parameter is null (502).

상기 확인 결과(502), 질의 플랜트리(51)가 널(NULL)이 아니면, 플랜트리 노드 검색기(212)는 질의 플랜트리(51) 내의 모든 노드에 대해 후위 순회 방문한 다(504). 그리고 플랜트리 노드 검색기(212)는 질의 플랜트리(51) 내의 노드가 테이블 노드인지를 판단한다(506).If the check result 502, the query plan tree 51 is not null, the plant tree node searcher 212 makes a backward traversal visit to all nodes in the query plan tree 51 (504). The plant tree node searcher 212 determines whether a node in the query plant tree 51 is a table node (506).

상기 확인 결과(506), 플랜트리 노드 검색기(212)는 질의 플랜트리의 노드(51)가 테이블 노드인 경우에 대해 레벨 결정기(213)를 호출해서 해당 노드 테이블에 대한 위치 값을 획득한다(508). 그리고 플랜트리 노드 검색기(212)는 레벨 결정기(213)로부터 획득된 위치(메모리 또는 디스크)를 스택에 삽입한다(510).As a result of the check 506, the plan tree node searcher 212 calls the level determiner 213 for the case where the node 51 of the query plan tree is a table node to obtain a position value for the corresponding node table (508). ). The plant tree node searcher 212 inserts a location (memory or disk) obtained from the level determiner 213 into the stack (510).

즉, 플랜트리 노드 검색기(212)는 질의 플랜트리(51)를 후위 순회 방문으로 탐색하여 질의 플랜트리(51)의 노드가 테이블 노드에 해당하는 경우에 레벨 결정기(213)를 호출한다. 그리고 플랜트리 노드 검색기(212)는 호출된 레벨 결정기(213)로부터 획득된 각 테이블 노드에 대한 위치 값을 스택에 삽입한 후, 질의 플랜트리(51)의 탐색 작업을 반복한다.That is, the plant tree node searcher 212 searches the query plan tree 51 with a backward traversal visit and calls the level determiner 213 when the node of the query plan tree 51 corresponds to a table node. The plant tree node searcher 212 inserts a position value for each table node obtained from the called level determiner 213 on the stack, and then repeats the search operation of the query plan tree 51.

한편, 상기 확인 결과(502), 질의 플랜트리(51) 내 더 이상 탐색할 노드가 없으면, 플랜트리 노드 검색 과정은 종료된다. On the other hand, if there is no more node to search in the check result 502, the query plan tree 51, the plant tree node search process is terminated.

도 6 은 본 발명에 적용되는 레벨 결정 알고리즘에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an embodiment of a level determination algorithm applied to the present invention.

레벨 결정 알고리즘은 플랜트리 노드 검색기(212)에 의해 호출된 레벨 결정기(213)에서 실행된다. 레벨 결정기(213)는 플랜트리 노드(테이블 노드)(61)를 매개변수로 입력받은 후, 메타데이터와 플랜트리 노드(61)의 정보를 비교한다. 그리고 레벨 결정기(213)는 비교 결과 중에서 하나라도 만족하지 못하는 경우에는 디스크 위치를 리턴 값으로 반환하고, 모두 만족하는 경우 메모리 위치를 리턴 값으로 반환한다. The level determination algorithm is executed in the level determiner 213 called by the plant tree node retriever 212. The level determiner 213 receives the plant tree node (table node) 61 as a parameter, and then compares the metadata with the information of the plant tree node 61. The level determiner 213 returns a disk position as a return value when any of the comparison results are not satisfied, and returns a memory position as a return value when all of the comparison results are satisfied.

이러한 반환 과정을 상세하게 살펴보면, 레벨 결정기는 메타데이터에 테이블의 이름이 존재하는지를 확인한다(602). Looking at the return process in detail, the level determiner checks whether the name of the table exists in the metadata (602).

상기 확인 결과(602), 레벨 결정기(213)는 메타데이터에 테이블의 이름이 존재하면 메타데이터에 필드 리스트가 있는지를 확인한다(606). As a result of the check 602, the level determiner 213 checks whether the field list exists in the metadata if the name of the table exists in the metadata (606).

상기 확인 결과(606), 레벨 결정기(213)는 메타데이터에 필드 리스트가 존재하면 메타데이터에 필터가 존재하는지를 확인한다(610).As a result of the check 606, the level determiner 213 determines whether a filter exists in the metadata if the field list exists in the metadata (610).

상기 확인 결과(610), 레벨 결정기(213)는 메타데이터에 필터가 존재하면 해당 테이블의 연산에 필요한 데이터를 메모리 스냅샷에서 가져올 수 있다고 판단하여 메모리 위치를 리턴 값으로 반환하고 해당 과정을 종료한다.As a result of the check 610, the level determiner 213 determines that the data necessary for the operation of the table can be obtained from the memory snapshot if a filter exists in the metadata, and returns the memory location as a return value and terminates the process. .

한편, 상기 확인 결과(602), 레벨 결정기(213)는 메타데이터에 테이블의 이름이 존재하지 않으면 위치 값으로 디스크를 반환한다(604). On the other hand, if the check result 602, the level determiner 213 returns a disk as a position value if the name of the table does not exist in the metadata (604).

한편, 상기 확인 결과(606), 레벨 결정기(213)는 메타데이터에 필드 리스트가 존재하지 않으면 위치 값으로 디스크를 반환한다(608). On the other hand, if the check result 606, the level determiner 213 returns a disk as a position value if the field list does not exist in the metadata (608).

한편, 상기 확인 결과(610), 레벨 결정기(213)는 메타데이터에 필터가 존재하지 않으면 위치 값으로 디스크를 반환한다(612). In operation 610, the level determiner 213 returns a disk as a position value if the filter does not exist in the metadata (612).

그리고 "604, 608, 612" 과정을 수행한 후 레벨 결정 알고리즘을 종료한다.After performing the process "604, 608, 612", the level determination algorithm ends.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상 의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in detail any more.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

상기와 같은 본 발명은, 질의 처리 레벨 결정 알고리즘을 사용하여 질의 플랜트리(실행계획)가 요구하는 데이터들을 최대한 스냅샷에서 가져올 수 있게 질의 형태를 분류한다.As described above, the present invention classifies the query form so that the data required by the query plan tree (execution plan) can be taken from the snapshot as much as possible using a query processing level determination algorithm.

질의 처리 레벨 결정 알고리즘은 실행계획을 순회하면서 질의가 요구하는 조건과 스냅샷 생성조건의 포함관계를 판단함으로써 메인 메모리 상주 스냅샷의 이용률을 높일 수 있는 효과가 있다.The query processing level determination algorithm can improve the utilization rate of the main memory resident snapshot by traversing the execution plan and determining the inclusion relationship between the query request condition and the snapshot creation condition.

따라서 본 발명은, 불필요한 디스크 입출력(I/O)를 줄여 사용자 질의에 대해 기존의 디스크 기반 DBMS보다 빠른 응답 시간을 보장할 수 있는 효과가 있다.Therefore, the present invention has an effect of reducing unnecessary disk input / output (I / O) to ensure a faster response time than a conventional disk-based DBMS for user queries.

본 발명은, 사용자 질의가 요구하는 데이터가 스냅샷에 존재한다고 보장되면 스냅샷을 사용하며, 그렇지 못한 경우에는 하위레벨로부터 데이터를 가져온 데이터를 이용하게 함으로써 서로 다른 레벨에 저장되어 있는 데이터를 효율적으로 사용할 수 있는 효과가 있다.The present invention uses a snapshot if it is guaranteed that the data required by the user query exists in the snapshot, otherwise it can efficiently use the data stored at different levels by using the data from the lower level. There is an effect that can be used.

Claims (9)

다중레벨 데이터베이스 관리 시스템(DBMS: Database Management System)에서의 질의 처리 장치에 있어서,In the query processing apparatus in a multilevel database management system (DBMS), 사용자의 질의에 해당하는 질의 플랜트리(Plan tree)에서 테이블 노드를 탐색하기 위한 플랜트리 노드 검색 수단;Plant tree node searching means for searching a table node in a query plan tree corresponding to a user's query; 상기 플랜트리 노드 검색 수단에서 탐색된 노드의 테이블 정보를 스냅샷(Snapshot) 생성정보를 갖는 메타데이터(Metadata)와 비교하여 해당 테이블 노드의 위치를 결정하기 위한 레벨 결정 수단; 및Level determination means for determining a position of the corresponding table node by comparing table information of the node searched by the plant tree node searching means with metadata having snapshot generation information; And 상기 레벨 결정 수단에서 결정된 테이블 노드의 위치를 분석하여 상기 사용자 질의를 처리하는데 적합한 저장 수단 레이어(Layer)를 결정하기 위한 질의처리 레벨 결정 수단Query processing level determining means for determining a storage means layer suitable for processing the user query by analyzing the position of the table node determined by the level determining means. 을 포함하는 다중레벨 데이터베이스 관리 시스템에서의 질의 처리 장치.Query processing apparatus in a multilevel database management system comprising a. 제 1 항에 있어서,The method of claim 1, 상기 플랜트리 노드 검색 수단은,The plant tree node searching means, 상기 질의 플랜트리에서 후위 순회 방식을 이용하여 테이블 노드를 탐색하는 것을 특징으로 하는 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치.Query processing apparatus in the multi-level database management system, characterized in that for searching the table node in the query plan tree using a backward traversal scheme. 제 2 항에 있어서,The method of claim 2, 상기 레벨 결정 수단은,The level determining means, 상기 메타데이터에 테이블 이름, 필드 리스트, 및 필터가 모두 존재하면 해당 테이블 노드의 위치를 메모리로 결정하고, 상기 메타데이터에 테이블 이름, 필드 리스트, 및 필터 중 어느 하나라도 존재하지 않으면 해당 테이블 노드의 위치를 디스크로 결정하는 것을 특징으로 하는 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치.If a table name, a field list, and a filter exist in the metadata, the location of the table node is determined as a memory. If any one of the table name, the field list, and a filter does not exist in the metadata, Query processing apparatus in a multilevel database management system, characterized in that the location is determined to be a disk. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 질의 처리 레벨 결정 수단은,The query processing level determining means, 상기 결정된 테이블 노드의 위치가 모두 메모리인 경우에 상기 저장 수단 레이어를 메모리 레이어로 결정하고, 상기 결정된 테이블 노드의 위치가 모두 디스크인 경우에 상기 저장 수단 레이어를 디스크 레이어로 결정하고, 상기 결정된 테이블 노드의 위치가 메모리와 디스크로 혼합된 경우에 상기 저장 수단 레이어를 하이브리드 레이어로 결정하는 것을 특징으로 하는 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 장치.The storage means layer is determined as a memory layer when the determined positions of the table nodes are all memory, and when the positions of the determined table nodes are all disks, the storage means layer is determined as a disk layer. And the storage means layer is determined to be a hybrid layer when the location of the memory is mixed with the memory and the disk. 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 방법에 있어서,In the query processing method in a multilevel database management system, 사용자의 질의에 해당하는 질의 플랜트리(Plan tree)에서 테이블 노드를 탐색하는 플랜트리 노드 검색 단계;Searching for a tree node in a query plan tree corresponding to a user's query; 상기 플랜트리 노드 검색 단계에서 탐색된 노드의 테이블 정보를 스냅샷(Snap shot) 생성정보를 갖는 메타데이터(Metadata)와 비교하여 해당 테이블 노드의 위치를 결정하는 레벨 결정 단계; 및A level determining step of determining a position of a corresponding table node by comparing table information of the node searched in the plant tree node searching step with metadata having snapshot generation information; And 상기 레벨 결정 단계에서 결정된 테이블 노드의 위치를 분석하여 상기 사용자 질의를 처리하는데 적합한 저장 수단 레이어(Layer)를 결정하는 질의처리 레벨 결정 단계A query processing level determining step of determining a storage means layer suitable for processing the user query by analyzing the position of the table node determined in the level determining step. 를 포함하는 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 방법.Query processing method in a multi-level database management system comprising a. 제 5 항에 있어서,The method of claim 5, wherein 상기 플랜트리 노드 검색 단계는,The plant tree node search step, 상기 질의 플랜트리에서 후위 순회 방식을 이용하여 테이블 노드를 탐색하는 것을 특징으로 하는 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 방법.A query processing method in a multilevel database management system, characterized by searching for a table node using a backward traversal method in the query plan tree. 제 6 항에 있어서,The method of claim 6, 상기 레벨 결정 방법은,The level determination method, 상기 메타데이터에 테이블 이름, 필드 리스트, 및 필터가 모두 존재하면 해당 테이블 노드의 위치를 메모리로 결정하고, 상기 메타데이터에 테이블 이름, 필드 리스트, 및 필터 중 어느 하나라도 존재하지 않으면 해당 테이블 노드의 위치를 디스크로 결정하는 것을 특징으로 하는 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 방법.If a table name, a field list, and a filter are all present in the metadata, the location of the table node is determined as a memory. A query processing method in a multilevel database management system, characterized in that the location is determined to be a disk. 제 5 항 내지 제 7 항 중 어느 한 항에 있어서,The method according to any one of claims 5 to 7, 상기 질의 처리 레벨 결정 방법은,The query processing level determination method, 상기 결정된 테이블 노드의 위치가 모두 메모리인 경우에 상기 저장 수단 레이어를 메모리 레이어로 결정하고, 상기 결정된 테이블 노드의 위치가 모두 디스크인 경우에 상기 저장 수단 레이어를 디스크 레이어로 결정하고, 상기 결정된 테이블 노드의 위치가 메모리와 디스크로 혼합된 경우에 상기 저장 수단 레이어를 하이브리드 레이어로 결정하는 것을 특징으로 하는 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 방법.The storage means layer is determined as a memory layer when the determined positions of the table nodes are all memory, and when the positions of the determined table nodes are all disks, the storage means layer is determined as a disk layer. And the storage means layer is determined to be a hybrid layer when the positions of the memory are mixed with the memory and the disk. 다중 레벨 데이터베이스 관리 시스템에서의 질의 처리 방법을 위하여, 프로세서를 구비한 질의 처리 장치에,In the query processing apparatus having a processor for a query processing method in a multi-level database management system, 사용자의 질의에 해당하는 질의 플랜트리(Plan tree)에서 테이블 노드를 탐 색하는 제 1 기능;A first function of searching for a table node in a query plan tree corresponding to a user's query; 상기 제 1 기능에서 탐색된 노드의 테이블 정보를 스냅샷(Snap shot) 생성정보를 갖는 메타데이터(Metadata)와 비교하여 해당 테이블 노드의 위치를 결정하는 제 2 기능; 및A second function of determining a position of a corresponding table node by comparing table information of a node searched in the first function with metadata having snapshot generation information; And 상기 제 2 기능에서 결정된 테이블 노드의 위치를 분석하여 상기 사용자 질의를 처리하는데 적합한 저장 수단 레이어(Layer)를 결정하는 제 3 기능A third function of determining a storage means layer suitable for processing the user query by analyzing the position of the table node determined in the second function 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1020060128975A 2006-12-15 2006-12-15 Query processing method for multi level database management system KR20080055524A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060128975A KR20080055524A (en) 2006-12-15 2006-12-15 Query processing method for multi level database management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060128975A KR20080055524A (en) 2006-12-15 2006-12-15 Query processing method for multi level database management system

Publications (1)

Publication Number Publication Date
KR20080055524A true KR20080055524A (en) 2008-06-19

Family

ID=39802340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060128975A KR20080055524A (en) 2006-12-15 2006-12-15 Query processing method for multi level database management system

Country Status (1)

Country Link
KR (1) KR20080055524A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010058949A3 (en) * 2008-11-18 2010-08-26 주식회사 네오플 Method and apparatus for information recovery using snapshot database

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010058949A3 (en) * 2008-11-18 2010-08-26 주식회사 네오플 Method and apparatus for information recovery using snapshot database

Similar Documents

Publication Publication Date Title
US9672235B2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
US20210133157A1 (en) Data management system, method, terminal and medium based on hybrid storage
CN109933570B (en) Metadata management method, system and medium
US7558802B2 (en) Information retrieving system
US20160350302A1 (en) Dynamically splitting a range of a node in a distributed hash table
US20180293251A1 (en) Method for storing a dataset
US11288287B2 (en) Methods and apparatus to partition a database
CN104899297A (en) Hybrid index structure with storage perception
CN113535670B (en) Virtual resource mirror image storage system and implementation method thereof
US6745198B1 (en) Parallel spatial join index
US20070260579A1 (en) Method of designing query classification component for multilevel dbms
US20180011897A1 (en) Data processing method having structure of cache index specified to transaction in mobile environment dbms
US10558636B2 (en) Index page with latch-free access
US7797290B2 (en) Database reorganization program and method
KR102354343B1 (en) Spatial indexing method and apparatus for blockchain-based geospatial data
Zhang B trees
US8135760B1 (en) Determining the lineage of a content unit on an object addressable storage system
US20090171921A1 (en) Accelerating Queries Based on Exact Knowledge of Specific Rows Satisfying Local Conditions
US20060085464A1 (en) Method and system for providing referential integrity constraints
KR20080055524A (en) Query processing method for multi level database management system
CN104537023A (en) Storage method and device for reverse index records
CN112307272B (en) Method, device, computing equipment and storage medium for determining relation information between objects
JP2006302307A (en) Storage device management method
Kvet Database Block Management using Master Index
CN111459929A (en) Multi-source data linking and collaborative sharing method based on peer-to-peer mode

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application