KR100806115B1 - 다중레벨 dbms에서 질의 분류 컴포넌트의 설계 방법 - Google Patents

다중레벨 dbms에서 질의 분류 컴포넌트의 설계 방법 Download PDF

Info

Publication number
KR100806115B1
KR100806115B1 KR1020060039500A KR20060039500A KR100806115B1 KR 100806115 B1 KR100806115 B1 KR 100806115B1 KR 1020060039500 A KR1020060039500 A KR 1020060039500A KR 20060039500 A KR20060039500 A KR 20060039500A KR 100806115 B1 KR100806115 B1 KR 100806115B1
Authority
KR
South Korea
Prior art keywords
memory
disk
routine
spatial filter
query
Prior art date
Application number
KR1020060039500A
Other languages
English (en)
Other versions
KR20070107253A (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 KR1020060039500A priority Critical patent/KR100806115B1/ko
Priority to US11/554,066 priority patent/US20070260579A1/en
Publication of KR20070107253A publication Critical patent/KR20070107253A/ko
Application granted granted Critical
Publication of KR100806115B1 publication Critical patent/KR100806115B1/ko

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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • 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/23Updating

Landscapes

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

Abstract

본 발명은 휴대전화, PDA와 같은 모바일 장치상에서 제공되는, 사용자의 위치정보를 이용한 트래킹, 친구 찾기와 같은 위치 기반 서비스들을 위해 다중레벨 DBMS에서 질의 분류 컴포넌트를 설계하고 구현해 빠른 트랜잭션 처리 요구를 만족시킬 수 있도록 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계 방법에 관한 것이다.
본 발명은 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법에 있어서, 질의 처리에 사용되는 실행계획이 입력되는지를 판단하는 판단 과정; 실행계획이 입력되면 실행계획과 함께 데이터가 참조되어야 할 테이블별 위치와 해당 프리디킷을 출력하기 위해 질의 분류 컴포넌트를 설계하는 질의 분류 컴포넌트 설계과정; 및 상기 테이블별 위치와 해당 프리디킷을 각 저장관리자에 전달하고, 각 저장관리자에 의해 해당 데이터가 처리되도록 하는 처리과정으로 이루어진 것을 특징으로 한다.
질의 분류, 위치기반 서비스, 다중레벨 DBMS, LBS, 하이브리드

Description

다중레벨 DBMS에서 질의 분류 컴포넌트의 설계 방법{DESIGN METHOD OF QUERY CLASSIFICATION COMPONENT IN MULTI-LEVEL DBMS}
도 1은 본 발명에 따른 스냅샷을 갖는 다중레벨 DBMS을 설명하기 위한 도면이다.
도 2는 본 발명에 따른 LBS를 위한 스냅샷을 갖는 다중레벨 DBMS을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법을 설명하기 위한 동작 흐름도이다.
도 4는 도 3에 적용된 질의의 종류 결정 루틴을 설명하기 위한 동작 흐름도이다.
도 5는 도 4에 적용된 실행 계획의 순회 루틴을 설명하기 위한 동작 흐름도이다.
도 6a 및 도 6b는 도 5에 적용된 테이블의 레벨 결정 루틴을 설명하기 위한 동작 흐름도이다.
도 7은 도 6a 및 도 6b에 적용된 필드 분할 루틴을 설명하기 위한 동작 흐름도이다.
도 8은 도 6a 및 도 6b에 적용된 비공간 조건 분할 루틴을 설명하기 위한 동작 흐름도이다.
도 9는 도 6a 및 도 6b에 적용된 공간 조건 분할의 루틴을 설명하기 위한 동작 흐름도이다.
도 10a 및 도 10b는 도 6a 및 도 6b에 적용된 분할된 프리디킷의 생성 루틴을 설명하기 위한 동작 흐름도이다.
*** 도면의 주요 부분에 대한 부호 설명 ***
100, 200 : 스냅샷을 갖는 DBMS
110, 210 : 메모리 레이어
120, 220 : 디스크 레이어
본 발명은 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계 방법에 관한 것으로서, 특히, 휴대전화, PDA와 같은 모바일 장치 상에서 제공되는, 사용자의 위치정보를 이용한 트래킹, 친구 찾기와 같은 위치 기반 서비스들을 위해 다중레벨 DBMS에서 질의 분류 컴포넌트를 설계하고 구현해 빠른 트랜잭션 처리 요구를 만족시킬 수 있도록 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계 방법에 관한 것이 다.
일반적으로 휴대전화, PDA 등과 같은 모바일 장치를 이용하여 제공되는 사용자의 위치 정보를 이용한 트래킹 및 친구 찾기 등과 같은 위치 기반 서비스는 수많은 사용자들에게 동시에 제공되기 때문에 상당히 많은 트랜잭션을 빠르게 처리하는 데이터베이스 시스템이 필요하다.
현재, 상기와 같이 대용량의 위치 데이터의 처리가 요구되는 LBS(Location Based Service)를 지원하기 위해서 시공간 데이터베이스나 이동객체 데이터베이스와 같은 시스템을 클러스터로 구성하여 사용하고 있다.
그러나 이와 같은 시스템은 네트워크를 이용한 통신방법에 기반하고 있으며, 네트워크 장애에 대한 근본적인 대책이나 네트워크 비용이 고려되어야만 한다.
따라서 시스템을 구성하고 있는 각각의 데이터베이스 시스템이 더욱 빠른 트랜잭션 처리를 지원하고 대용량의 데이터를 관리할 수 있다면, 더 적은 노드로 이루어진 클러스터 시스템으로 대용량 서비스를 지원할 수가 있다. 다시 말해 클러스터 시스템을 구성하고 있는 각각의 노드를 고성능의 다중레벨 DBMS로 대체하게 되는 경우 적은 노드로 이루어진 클러스터 시스템을 통해 대용량 서비스를 지원할 수 있다.
상기 다중레벨 DBMS는 접근 속도와 저장 용량이 서로 다른 여러 개의 저장장치를 사용하는 DBMS로서, 빠른 처리와 대용량 관리의 요구사항을 만족시킨다. 이 시스템의 메인메모리 데이터베이스에는 매우 빠른 연산을 요구하는 데이터들이 관리되고 있으며, 방대한 양의 나머지 데이터들은 디스크 데이터베이스에서 안정적으 로 관리된다. 따라서 다중레벨 DBMS는 데이터베이스 클러스터 시스템에서 최상의 성능을 가지는 단일 노드로서 적합하다.
그러나 일반적인 다중레벨 DBMS는 서로 다른 레벨의 데이터베이스에 저장되어 있는 데이터들이 서로 독립적이어서, 하위 레벨의 데이터에 접근하기 위해서는 상위레벨의 버퍼 공간으로 이동해서 사용해야만 한다. 즉, 디스크데이터베이스에 저장되어 있는 데이터는 반드시 메모리영역의 버퍼 공간으로 읽어와야만 하는 레벨간의 I/O비용이 상당히 큰 문제점이 있다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 메인메모리 데이터베이스에 빠른 검색을 요구하는 데이터들을 미리 스냅샷으로 생성시켜 사용할 수 있도록 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법을 제공함에 있다.
또한, 본 발명의 다른 목적은 메인메모리 데이터베이스에 생성된 스냅샷을 이용하여 I/O에 소요되는 비용 없이 매우 빠른 속도로 상당히 많은 트랜잭션(transaction) 처리를 지원할 수 있도록 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법을 제공함에 있다.
따라서 상기와 같은 목적을 달성하기 위한 본 발명은 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법으로서, 질의 처리에 사용되는 실행계획이 입력되는지를 판단하는 판단 과정;과, 실행계획이 입력되면 실행계획과 함께 데이터가 참조되 어야 할 테이블별 위치와 해당 프리디킷을 출력하기 위해 질의 분류 컴포넌트를 설계하는 질의 분류 컴포넌트 설계과정;과, 상기 테이블별 위치와 해당 프리디킷을 각 저장관리자에 전달하고, 각 저장관리자에 의해 해당 데이터가 처리되도록 하는 처리과정;으로 구현될 수 있다.
이하에서 본 발명의 실시 예에 대하여 첨부된 도면을 참조하면서 상세히 설명하기로 한다. 이에 앞서 본 명세서에서 언급되는 기술적 용어를 설명한다. '실행계획'이란 통상 데이터베이스에서 사용되는 SQL 질의는 여러 개의 연산으로 구성되어 있는데, 이러한 연산을 실행하기 위한 스케쥴을 의미한다. 또한, '프리디킷'이란 질의에 포함된 조건들을 의미한다.
도 1은 본 발명에 따른 스냅샷(snapshot)을 갖는 다중레벨 DBMS를 설명하기 위한 도면이다. 첨부 도면 도 1에 도시된 바와 같이 스냅샷을 갖는 다중레벨 DBMS는 디스크와 메모리 기반의 데이터베이스를 마련하고 있으며, 모든 데이터는 하위 레벨인 디스크 레이어(120)에 존재하며, 빠른 처리를 요구하는 데이터는 상위레벨의 메모리 레이어(110)에 스냅샷의 형태로 존재한다. 즉, 각각의 레이어의 데이터가 독립적이지 않음을 의미한다. 또한, 디스크 기반의 데이터베이스를 백업 저장장치로 사용하기 때문에 상위 레이어(110)에 저장된 스냅샷 처리의 경우 데이터 회복의 문제를 고려하지 않은 메인메모리 루틴을 사용할 수 있다.
도 2는 본 발명에 따른 LBS를 위한 스냅샷을 갖는 다중레벨 DBMS을 설명하기 위한 도면이다.
첨부 도면 도 2에 도시된 바와 같이 LBS를 위한 스냅샷을 갖는 다중레벨 DBMS은 빠른 처리를 요구하는 Hot 데이터에 대해서는 메모리(210)에서 스냅샷으로 현재 데이터를 관리하며, 과거데이터는 디스크(220)에서 관리할 수 있도록 구현된다. 그러나 빠른 처리가 아닌 대용량에 초점을 둔 Cold 데이터는 현재 데이터와 과거 데이터를 모두 디스크(220)에서 관리할 수 있도록 구현되며, 스냅샷이 생성될 때에는 디스크에서 관리되고 있는 현재 데이터를 이용하며, 생성 중에는 이동객체를 관리하기 위한 스냅샷 용 인덱스가 함께 메모리(210)에 생성된다. 스냅샷으로 생성되는 데이터는 프리디킷을 이용한 단일 테이블의 전체 영역 또는 일부분 영역으로 공간데이터와 비공간 데이터를 함께 포함한다.
상술한 바와 같이 구성된 스냅샷을 갖는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법을 첨부 도면을 참조하여 설명하면 다음과 같다. 도 3은 본 발명에 따른 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법을 설명하기 위한 동작 흐름도이다.
첨부 도면 도 3에 도시된 바와 같이 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법은, 먼저 질의 처리에 사용되는 실행계획이 입력되는지를 판단한다(S10). 판단 결과 실행계획이 입력되면 실행계획과 함께 데이터가 참조되어야 할 테이블별 위치와 해당 프리디킷을 출력하기 위해 질의 분류 컴포넌트를 설계(S1000)하고, 상기 질의 분류 컴포넌트 설계 과정(S1000)을 통해 출력된 상기 테이블별 위치와 해당 프리디킷은 각 저장관리자에 넘겨져서 각 저장관리자에 의해 해당 데이터가 처리되도록 한다(S2000).
이때, 상기 S1000 과정에서 질의 분류 컴포넌트 설계 과정(S1000)은 후술하는 도 4의 질의의 종류 결정 루틴, 도 5의 실행계획 순회 루틴, 도 6의 레벨 결정 루틴, 도 7의 필드분할루틴, 도 8의 비공간분할 루틴, 도 9의 공간분할 루틴 및 도 10의 프리디킷 생성루틴을 통해 이루어진다 할 것이다.
도 4는 도 3에 적용된 질의의 종류 결정 루틴을 설명하기 위한 동작흐름도이다.
본 발명에 따른 스냅샷을 갖는 다중레벨 DBMS에서의 질의결정(QueryDecision) 루틴은 첨부 도면 도 4에 도시된 바와 같이 실행계획(plantree)을 입력받는다(S100).
그리고 상기 S100 과정을 통해 실행계획을 입력받아 실행계획을 순회루틴(S101)을 수행하면서 스택이 비어있는 상태인지를 판단한다(S102). 판단 결과 스택이 비어있는 상태인 경우(S102의 예) 질의결정 루틴을 종료하고, 스택이 비어있지 않은 경우(S102의 아니오) 스택에 삽입되어 있는 테이블별 위치정보(테이블이 메모리에 있는지 아니면 디스크에 있는지에 관한 정보)를 읽어들인 후(S103), 읽어들인 테이블별 위치정보가 모두 메모리를 나타내는지를 판단한다(S104).
상기 S104 과정의 판단 결과, 메모리를 나타내는 경우 질의 종류를 메모리 질의(TQ_MM)로 결정하고(S108), 판단 결과 메모리를 나타내지 않는 경우 테이블별 위치정보가 디스크를 나타내는지를 판단한다(S105).
상기 S105 과정의 판단 결과 디스크를 나타내는 경우 질의 종류를 디스크 질의(TQ_DK)로 결정하고(S109), 판단 결과 디스크를 나타내지 않는 경우 질의 종류를 하이브리드 질의(TQ_HB)로 결정한 후(S106), 질의의 종류를 반환한다(S107).
즉, 상술한 질의 결정 루틴은 실행계획을 입력받아 질의의 종류를 반환한다. 이 루틴에서는 실행계획을 순회하면서 스택에 삽입되어있는 테이블별 위치를 꺼내어 분석함으로써 질의의 종류를 결정하는 역할을 한다. 스택 안에는 테이블별 위치와 함께 해당되는 프리디킷을 가지고 있다. 따라서, 질의 종류가 결정됨과 동시에 각 테이블의 해당 프리디킷을 통해 원하는 데이터를 각각 메모리 또는 디스크를 통해 가져올 수 있게 된다.
도 5는 도 4에 적용된 실행 계획의 순회 루틴을 설명하기 위한 동작 흐름도이다.
첨부 도면 도 5는 본 발명에 따른 스냅샷을 갖는 다중레벨 DBMS에서의 실행 계획의 순회(traverse) 루틴을 설명하기 위한 도면으로서, 실행계획 순회 루틴은 트리를 가리키는 포인터가 널(NULL) 상태인지를 판단한다(S200). 판단 결과 널 상태인 경우 실행 계획의 순회 루틴을 종료하고, 판단 결과 널 상태가 아닌 경우 포인터의 왼쪽 자식 노드를 순회한다(S201). 참고적으로, 여러 개의 연산으로 구성된 실행계획은 트리의 노드에 저장되는데, 이곳에 테이블 이름을 저장하는 테이블 노드가 생성된다. 즉, 트리를 순회하면서 저장된 테이블 이름을 가지고 해당 테이블이 메모리에 있는지 디스크에 있는지(프리디킷)를 확인할 수 있다.
상기 S201 과정을 수행한 후 포인터의 오른쪽 자식 노드를 순회한다(S202). 상기와 같이 오른쪽 자식 노드 순회 과정(S202)을 수행한 후 트리를 가리키는 포인터가 테이블 노드인지를 판단한다(S203).
판단 결과, 테이블 노드인 경우 레벨결정 루틴(S204)을 수행하고, 결과로 출력된 테이블 노드의 위치와 해당 프리디킷을 스택에 푸시(push)한(S205), 실행 계획의 순회 루틴을 종료한다.
그리고, 상기 S203 과정의 판단 결과 트리를 가리키는 포인터가 테이블 노드가 아닌 경우 실행 계획의 순회루틴을 종료한다.
즉, 상기 실행 계획의 순회 루틴은 실행계획과 함께 결과를 저장하기 위한 스택을 입력받고, 실행 계획을 후위 순회하면서 테이블 노드를 만날 경우 레벨을 결정하는 함수를 호출하고, 순회가 끝나면, 모든 테이블들의 위치와 함께 프리디킷 정보를 스택에 넣은 다음 종료한다.
도 6a 및 도 6b는 도 5에 적용된 테이블의 레벨 결정 루틴을 설명하기 위한 동작 흐름도이다.
첨부 도면 도 6a 및 도 6b는 본 발명에 따른 스냅샷을 갖는 다중레벨 DBMS에서의 레벨 결정(Level Decision) 루틴을 설명하기 위한 도면으로서, 레벨 결정 루틴은 먼저 메타 데이터에 테이블의 이름이 존재하는지를 판단한다(S300).
상기 S300 과정의 판단 결과 메타 데이터에 테이블 이름이 존재하는 경우 메타 데이터에 필드 리스트가 존재하는지를 판단한다(S301). 판단 결과 메타 데이터에 필드 리스트가 존재하는 경우 메타 데이터에 비공간 필터 이름이 존재하는지를 판단한다(S302).
상기 S302 과정의 판단 결과 메타 데이터에 비공간 필터 이름이 존재하는 경우 상기 메타 데이터에 공간 필터 이름이 존재하는지를 판단한다(S303). 판단 결과 공간 필터 이름이 존재하는 경우 연산에 필요한 데이터를 메모리 스냅샷에서 가져올 수 있다고 판단하여 TL_MM과 함께 요구된 원래의 프리디킷을 반환한다(S304).
한편, 상기 S300 과정의 판단 결과, 메타 데이터에 테이블 이름이 존재하지 않는 경우 TL_DK와 함께 요구된 원래의 프리디킷을 반환한다(S305).
한편, 상기 S301 과정의 판단 결과, 메타 데이터에 필드 리스트가 존재하지 않는 경우 메타 데이터에 비공간 필터 이름이 존재하는지를 판단한다(S306). 판단결과 메타 데이터에 비공간 필터 이름이 존재하는 경우 메타 데이터에 공간필터 이름이 존재하는지를 판단한다(S307).
상기 S307 과정의 판단 결과, 메타 데이터에 공간필터 이름이 존재하는 경우 필드 분할 루틴을 수행하는 한편 분할된 프리디킷 생성 루틴을 수행한다(S308)(S317).
한편, 상기 S302 과정의 판단 결과, 메타 데이터에 비공간 필터의 이름이 존재하지 않는 경우 메타 데이터에 비공간 필터의 이름이 존재하는지를 판단한다(S309). 판단 결과 메타 데이터에 비공간 필터의 이름이 존재하는 경우 비공간 분할 루틴을 수행하고(S310), 프리디킷 생성 루틴을 수행(S317)하여 TL_MM과 메인 메모리 프리디킷을 반환시키고 TL_DK와 함께 요구된 디스크 프리디킷을 반환(S318)시킨 후 레벨 결정 루틴을 종료시킨다.
한편, 상기 S303 과정의 판단 결과, 메타 데이터에 공간 필터의 이름이 존재하지 않는 경우 공간 분할 루틴을 수행하고(S311), 프리디킷 생성 루틴을 수행(S317)하여 TL_MM과 메인 메모리 프리디킷을 반환시키고 TL_DK와 함께 요구된 디스크 프리디킷을 반환(S318)시킨 후 레벨 결정 루틴을 종료시킨다.
한편, 상기 S306 과정의 판단 결과, 메타 데이터에 비공간 필터 이름이 존재하지 않는 경우 메타 데이터에 공간필터 이름이 존재하는지를 판단한다(S312). 판단 결과 메타 데이터에 공간필터 이름이 존재하는 경우 필드 분할 루틴 및 비공간 분할 루틴을 수행한(S313) 후 프리디킷 생성 루틴을 수행(S317)하여 TL_MM과 메인 메모리 프리디킷을 반환시키고 TL_DK와 함께 요구된 디스크 프리디킷을 반환(S318)시킨 후 레벨 결정 루틴을 종료시킨다.
한편, 상기 S312 과정의 판단 결과 메타 데이터에 공간 필터 이름이 존재하지 않은 경우 필드 분할 루틴, 비공간 분할 루틴 및 공간 분할 루틴을 수행한(S314) 후 프리디킷 생성 루틴을 수행(S317)하여 TL_MM과 메인 메모리 프리디킷을 반환시키고 TL_DK와 함께 요구된 디스크 프리디킷을 반환(S318)시킨 후 레벨 결정 루틴을 종료시킨다.
즉, 상기 레벨 결정 루틴은 실행계획의 하나의 노드인 테이블을 입력받아 해당되는 테이블의 위치와 함께 프리디킷을 결정하는 역할을 한다.
첫 번째 조건문(S300)에서 메타데이터에 테이블의 이름이 존재하는지를 확인한 다음, 두 번째 조건문(S301)에서 실행계획에서 요구하는 필드의 목록이 존재하는지를 확인한다. 세 번째(S302,S306)와 네 번째 조건문(S303,S312)에서 실행계획이 요구하는 데이터의 비공간과 공간 영역을 메타데이터에 수록되어 있는 조건에 포함되는지 판단한다. 따라서, 네 개의 조건을 모두 만족하는 경우 연산에 필요한 데이터를 메모리 스냅샷에서 가져올 수 있다고 판단하여 TL_MM과 함께 요구된 원래의 프리디킷을 반환한다. 하지만 네 개의 조건들 중에 하나라도 만족하지 못하는 경우에는 TL_DK와 함께 요구된 원래의 프리디킷을 반환한다.
도 7은 도 6a 및 도 6b에 적용된 필드 분할 루틴을 설명하기 위한 동작 흐름도이다.
필드 분할(FieldDivide) 루틴은 첨부 도면 도 7에 도시된 바와 같이, 메모리 필드 리스트가 질의가 요구하는 필드 리스트(QF)와 메모리 스냅샷의 생성필드 리스트(SF)의 교집합이고(S400), 디스크 필드 리스트가 질의가 요구하는 필드리스트(QF)와 메모리 스냅샤의 생성 필드리스트(SF)의 차집합이면(S401), 메모리 필드리스트와 디스크 필드 리스트를 반환한 후 필드목록 분리 루틴을 종료한다. 즉, 필드 분할 루틴은 질의가 요구하는 필드목록과 스냅샷의 필드 목록을 가지고 메모리에서 처리할 수 있는 부분과 디스크에서 처리할 수 있는 부분을 나눌 수 있도록 하는 루틴으로서, 메모리 영역은 질의 필드목록과 스냅샷 필드목록의 교집합이 되며, 디스크 영역은 질의가 요구하는 필드목록에서 스냅샷의 필드목록을 뺀 것이 된다.
도 8은 도 6a 및 도 6b에 적용된 비공간 조건 분할 루틴을 설명하기 위한 동작 흐름도이다.
비공간 조건 분할(Aspatial Divide) 루틴은 첨부 도면 도 8에 도시된 바와 같이 메모리 비공간 필터조건이 질의가 요구하는 비공간 조건(QA)과 스냅샷의 생성 비공간 조건(SA)의 교집합이고(S500), 디스크 비공간 필터조건이 질의가 요구하는 비공간 조건(QA)과 스냅샷의 생성 비공간 조건(SA)의 차집합이면(S501), 메모리 비공간 필터와 디스크 비공간 필터를 반환시킨 후 비공간 조건 분할 루틴을 종료한다.
즉, 비공간 조건 분할 루틴은 질의가 요구하는 비공간 필터 조건과 스냅샷이 가지고 있는 비공간 필터조건을 가지고 메모리에서 처리할 수 있는 조건과 디스크에서 처리할 수 있는 조건으로 나눌 수 있도록 하는 루틴으로서, 메모리 영역은 질의 필터조건과 스냅샷 필터조건의 교집합이 되며, 디스크 영역은 질의가 요구하는 필터조건에서 스냅샷의 필터조건을 뺀 것이 된다.
도 9는 도 6a 및 도 6b에 적용된 공간 조건 분할의 루틴을 설명하기 위한 동작 흐름도이다.
공간조건 분할(SpatialDivide) 루틴은 첨부 도면 도 9에 도시된 바와 같이, 메모리 공간 필터조건이 질의가 요구하는 공간 조건(SA)과 스냅샷의 생성 공간 조건(SS)의 교집합이고(S600), 디스크 공간 필터조건이 질의가 요구하는 공간 조건(SA)과 스냅샷의 생성 공간 조건(SS)의 차집합이면(S601), 메모리 공간 필터와 디스크 공간 필터를 반환시킨 후 공간 조건 분할 루틴을 종료한다.
즉, 상기 공간 조건 분할 루틴은 질의가 요구하는 공간 영역과 스냅샷의 공간 영역을 가지고 메모리에서 처리할 수 있는 부분과 디스크에서 처리할 수 있는 부분을 나눌 수 있도록 하는 루틴으로서, 메모리의 영역은 질의의 영역과 스냅샷 영역이 되며, 디스크 영역은 질의가 요구하는 영역에서 스냅샷의 영역을 뺀 것이 된다.
도 10a 및 도 10b는 도 6a 및 도 6b에 적용된 분할된 프리디킷의 생성 루틴을 설명하기 위한 동작 흐름도이다.
분할된 프리디킷 생성(MatchPredicate) 루틴은 첨부 도면 도 10a 및 도 10b에 도시된 바와 같이 먼저 공간필터 분할 루틴만 실행되었는지를 판단한다(S700). 판단 결과 공간필터 분할 루틴만 실행된 경우 메모리 프리디킷을 원래의 필드 리스트, 원래의 비공간 필터, 분할되어 반환된 메모리 공간필터로 설정하고(S707), 디스크 프리디킷을 원래의 필드 리스트, 원래의 비공간 필터, 분할되어 반환된 디스 크 공간필터로 설정한다(S714).
한편, 상기 S700 과정의 판단 결과 공간필터 분할 루틴만 실행되지 않은 경우 비공간 분할 루틴만 실행되었는지를 판단한다(S701). 판단 결과 비공간 필터 분할 루틴만이 실행된 경우 메모리 프리디킷을 원래의 필드 리스트, 분할되어 반환된 메모리 비공간 필터, 원래의 메모리 공간필터로 설정하고(S708), 디스크 프리디킷을 원래의 필드 리스트, 분할되어 반환된 디스크 비공간 필터, 원래의 디스크 공간필터로 설정한다(S715).
한편, 상기 S701 과정의 판단 결과 비공간필터 분할루틴만 실행되지 않은 경우 공간 필터 분할 및 비공간 필터 분할 루틴이 실행되었는지를 판단한다(S702). 판단 결과 공간 분할 및 비공간 필터 분할 루틴이 실행된 경우 메모리 프리디킷을 원래의 필드 리스트, 분할되어 반환된 메모리 비공간 필터, 분할되어 반환된 메모리 공간필터로 설정하고(S709), 디스크 프리디킷을 원래의 필드 리스트, 분할되어 반환된 디스크 비공간 필터, 분할되어 반환된 디스크 공간필터로 설정한다(S716).
한편, 상기 S702 과정의 판단 결과 공간 필터 분할 및 비공간 필터 분할루틴 이 실행되지 않은 경우 필드 분할 루틴만 실행되었는지를 판단한다(S703). 판단 결과 필드 분할 루틴만 실행된 경우 메모리 프리디킷을 분할되어 반환된 메모리 필드 리스트, 원래의 비공간 필터, 원래의 공간필터로 설정하고(S710), 디스크 프리디킷을 분할되어 반환된 필드 리스트, 원래의 비공간 필터, 원래의 공간필터로 설정한다(S717).
한편, 상기 S703 과정의 판단 결과 필드 분할 루틴만 실행되지 않은 경우 필 드 분할 및 공간 분할 루틴이 실행되었는지를 판단한다(S704). 판단 결과 필드 분할 및 공간 분할 루틴이 실행된 경우 메모리 프리디킷을 분할되어 반환된 메모리 필드 리스트, 원래의 비공간 필터, 분할되어 반환된 메모리 공간필터로 설정하고(S711), 디스크 프리디킷을 분할되어 반환된 필드 리스트, 원래의 비공간 필터, 분할되어 반환된 디스크 공간필터로 설정한다(S718).
한편, 상기 S704 과정의 판단 결과 필드 분할 및 공간 분할 루틴이 실행되지 않은 경우 필드 분할 및 비공간 분할 루틴이 실행되었는지를 판단한다(S705). 판단 결과 필드 분할 및 비공간 분할 루틴이 실행된 경우 메모리 프리디킷을 분할되어 반환된 메모리 필드 리스트, 분할되어 반환된 메모리 비공간 필터, 원래의 공간필터로 설정하고(S712), 디스크 프리디킷을 분할되어 반환된 필드 리스트, 분할되어 반환된 디스크 비공간 필터, 원래의 공간필터로 설정한다(S719).
한편, 상기 S705 과정의 판단 결과 필드 분할 및 비공간 분할 루틴이 실행되지 않은 경우 필드 분할, 비공간 분할 및 공간 분할 루틴이 실행되었는지를 판단한다(S706). 판단 결과 필드 분할, 비공간 분할 및 공간 분할 루틴이 실행된 경우 메모리 프리디킷을 분할되어 반환된 메모리 필드 리스트, 분할되어 반환된 메모리 비공간 필터, 분할되어 반환된 메모리 공간필터로 설정하고(S713), 디스크 프리디킷을 분할되어 반환된 필드 리스트, 분할되어 반환된 디스크 비공간 필터, 분할되어 반환된 디스크 공간필터로 설정한다(S720).
그리고, 상기 S714, S715, S716, S717, S718, S719, S720을 수행한 후 메모리 프리디킷과 디스크 프리디킷을 반환(S721)시키게 되면 프리디킷 생성 루틴이 종 료된다.
즉, 분할된 프리디킷 생성 루틴은 메모리와 디스크를 사용하는 각각의 프리디킷을 설정할 수 있도록 하는 루틴으로서, 레벨결정 루틴에서 판단된 8가지의 경우의 수중에 모든 조건이 만족한 경우를 제외한 7가지의 경우의 수에 대하여 각각 디스크와 메모리 별로, 필드목록, 비공간 필터, 공간 필터를 조합하여 새로운 프리디킷을 생성시킨다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 한정되는 것은 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은, 스냅샷을 갖는 다중레벨 DBMS에서 메모리 데이터베이스에 생성되어 있는 스냅샷을 최대한으로 이용하게 하는 질의 분류 컴포넌트를 설계 및 개발하였다. 질의 분류 컴포넌트는 입력된 질의를 메모리 질의, 디스크 질의, 하이브리드 질의의 세 가지로 분류하여 처리하였다. 특히, 하이브리드 질의의 경우 최대한으로 메모리 데이터를 사용하게 하기 위해 입력된 질의의 프리디킷을 메모리 부분과 디스크 부분으로 분할하여 처리함으로써 스냅샷의 사 용율을 높였다.
제안된 질의분류 컴포넌트는 질의 분류 루틴을 적용하는 데에 따른 부하 때문에, 메모리 또는 디스크 질의의 경우, 질의 분류 없이 처리되는 경우보다 약간 더 많은 시간이 소요되는 단점이 있다. 그러나, 일반적인 LBS 환경에서 스냅샷을 갖는 다중레벨 시스템을 구축한 경우에는 주로 하이브리드 질의가 처리되기 때문에, 디스크와 메모리가 혼합하여 처리되는 특징으로 인하여 더욱 빠른 응답시간을 제공하여 준다.
기존의 다중레벨 DBMS와 유사한 구조를 갖으나, 모든 데이터는 하위레벨인 디스크 레벨에 존재하며, 빠른 처리를 요구하는 데이터는 상위레벨의 메모리 레이어에 스냅샷의 형태로 존재한다는 차이가 있다. 즉 각각의 레이어의 데이터가 독립적이지 않다. 또한, 디스크 기반의 데이터베이스를 백업 저장장치로 사용하기 때문에 상위 레이어에 저장된 스냅샷 처리의 경우 데이터 회복의 문제를 고려하지 않은 메인메모리 루틴을 사용할 수 있다는 장점이 있다.

Claims (20)

  1. 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법에 있어서,
    질의 처리에 사용되는 실행계획이 입력되는지를 판단하는 판단 과정;
    실행계획이 입력되면 실행계획과 함께 참조되어야 할 테이블별 위치와 해당 프리디킷을 출력하기 위해 질의 분류 컴포넌트를 설계하는 질의 분류 컴포넌트 설계과정; 및
    상기 테이블별 위치와 해당 프리디킷을 각 저장관리자에 전달하고, 각 저장관리자에 의해 처리되도록 하는 처리과정;을 포함하며,
    상기 질의 분류 컴포넌트 설계 과정은,
    (1) 실행계획(plantree)을 입력받는 과정, (2) 상기 입력되는 실행계획에 대해 순회루틴을 수행하면서 스택이 비어있는 상태인지를 판단하는 과정, (3) 판단 결과 스택이 비어있는 상태인 경우 질의결정 루틴을 종료하고, 스택이 비어있지 않은 경우 스택에 삽입되어 있는 테이블별 위치정보를 읽어들이는 과정, (4) 상기 읽어들인 테이블별 위치정보가 모두 메모리를 나타내는지를 판단하는 과정, (5) 판단 결과 메모리를 나타내는 경우 질의 종류를 메모리 질의(TQ_MM)로 결정하고, 판단 결과 메모리를 나타내지 않는 경우 테이블별 위치정보가 디스크를 나타내는지를 판단하는 과정, 및 (6) 판단 결과 디스크를 나타내는 경우 질의 종류를 디스크 질의(TQ_DK)로 결정하고, 판단 결과 디스크를 나타내지 않는 경우 질의 종류를 하이브리드 질의(TQ_HB)로 결정한 후 질의의 종류를 반환하는 과정으로 이루어진 질의결정 루틴을 포함하는 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 실행계획에 대한 순회루틴은,
    (2-1) 트리를 가리키는 포인터가 널(NULL) 상태인지를 판단하는 과정;
    판단 결과 널 상태가 아닌 경우 포인터의 왼쪽 자식 노드를 순회하는 과정;
    (2-2) 상기 왼쪽 자식 노드를 순회한 후 포인터의 오른쪽 자식 노드를 순회하는 과정;
    (2-3) 상기 오른쪽 자식 노드 순회한 후 트리를 가리키는 포인터가 테이블 노드인지를 판단하는 과정; 및
    (2-4) 판단 결과, 테이블 노드인 경우 레벨을 결정하는 루틴을 수행하고, 그 수행 결과로 출력된 테이블 노드의 위치와 해당 프리디킷을 스택에 푸시(push)하는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  4. 제 3 항에 있어서, 상기 (2-4)의 레벨을 결정하는 루틴은,
    (2-4-1) 메타 데이터에 테이블의 이름이 존재하는지를 판단하는 과정;
    (2-4-2) 판단 결과 메타 데이터에 테이블 이름이 존재하는 경우 메타 데이터에 필드 리스트가 존재하는지를 판단하는 과정;
    (2-4-3) 판단 결과 메타 데이터에 필드 리스트가 존재하는 경우 메타 데이터에 비공간 필터 이름이 존재하는지를 판단하는 과정;
    (2-4-4) 판단 결과 메타 데이터에 비공간 필터 이름이 존재하는 경우 상기 메타 데이터에 공간 필터 이름이 존재하는지를 판단하는 과정; 및
    (2-4-5) 판단 결과 공간 필터 이름이 존재하는 경우 연산에 필요한 데이터를 메모리 스냅샷에서 가져올 수 있다고 판단하여 TL_MM과 함께 요구된 원래의 프리디킷을 반환하는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  5. 삭제
  6. 제 4 항에 있어서,
    (2-4-6) 상기 (2-4-2) 과정의 판단 결과 메타 데이터에 필드 리스트가 존재하지 않는 경우 메타 데이터에 비공간필터 이름이 존재하는지를 판단하는 과정;
    (2-4-7) 판단결과 메타 데이터에 비공간 필터 이름이 존재하는 경우 메타 데이터에 공간필터 이름이 존재하는지를 판단하는 과정; 및
    (2-4-8) 판단 결과, 메타 데이터에 공간필터 이름이 존재하는 경우 필드 분할 루틴을 수행한 후 분할된 프리디킷 생성 루틴을 수행하는 과정; 을 포함하는 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  7. 제 6 항에 있어서,
    (2-4-9) 상기 (2-4-7) 과정의 판단 결과, 메타 데이터에 비공간 필터의 이름이 존재하지 않는 경우 메타 데이터에 비공간 필터의 이름이 존재하는지를 판단하는 과정; 및
    (2-4-10) 판단 결과 메타 데이터에 비공간 필터의 이름이 존재하는 경우 비공간 분할 루틴을 수행한 후 프리디킷 생성 루틴을 수행하여 TL_MM과 메인 메모리 프리디킷을 반환시키고 TL_DK와 함께 요구된 디스크 프리디킷을 반환시키는 과정; 을 포함하는 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  8. 삭제
  9. 제 6 항에 있어서,
    (2-4-11) 상기 (2-4-7) 과정의 판단 결과, 메타 데이터에 비공간 필터 이름이 존재하지 않는 경우 메타 데이터에 공간필터 이름이 존재하는지를 판단하는 과정; 및
    (2-4-12) 판단 결과 메타 데이터에 공간필터 이름이 존재하는 경우 필드 분할 루틴 및 비공간 분할 루틴을 수행한 후 프리디킷 생성 루틴을 수행하여 TL_MM과 메인 메모리 프리디킷을 반환시키고 TL_DK와 함께 요구된 디스크 프리디킷을 반환시키는 과정; 을 포함하는 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  10. 삭제
  11. 제 6 항 또는 제 9 항에 있어서,
    상기 필드 분할(FieldDivide) 루틴은,
    메모리 필드 리스트가 질의가 요구하는 필드 리스트(QF)와 메모리 스냅샷의 생성필드 리스트(SF)의 교집합이고, 디스크 필드 리스트가 질의가 요구하는 필드리스트(QF)와 메모리 스냅샷의 생성 필드리스트(SF)의 차집합이면 메모리 필드리스트와 디스크 필드 리스트를 반환하는 과정으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  12. 제 7 항 또는 제 9 항에 있어서,
    상기 비공간 분할 루틴은,
    메모리 비공간 필터조건이 질의가 요구하는 비공간 조건(QA)과 스냅샷의 생성 비공간 조건(SA)의 교집합이고, 디스크 비공간 필터조건이 질의가 요구하는 비공간 조건(QA)과 스냅샷의 생성 비공간 조건(SA)의 차집합이면, 메모리 비공간 필터와 디스크 비공간 필터를 반환시키는 과정으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  13. 삭제
  14. 제 6 항 또는 제 9 항에 있어서,
    상기 프리디킷 생성루틴은,
    (a) 공간필터 분할루틴만이 실행되었는지를 판단하는 과정;
    (b) 판단 결과 공간필터 분할루틴만이 실행된 경우 메모리 프리디킷을 원래의 필드 리스트, 원래의 비공간 필터, 분할되어 반환된 메모리 공간필터로 설정하는 과정; 및
    (c) 디스크 프리디킷을 원래의 필드 리스트, 원래의 비공간 필터, 분할되어 반환된 디스크 공간필터로 설정한 후 메모리 프리디킷과 디스크 프리디킷을 반환시키는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  15. 제 14 항에 있어서,
    (d) 상기 (a) 과정의 판단 결과 공간필터 분할 루틴만 실행되지 않은 경우 비공간 분할루틴만 실행되었는지를 판단하는 과정;
    (e) 판단 결과 비공간 필터 분할루틴만 실행된 경우 메모리 프리디킷을 원래의 필드 리스트, 분할되어 반환된 메모리 비공간 필터, 원래의 메모리 공간필터로 설정하는 과정; 및
    (f) 디스크 프리디킷을 원래의 필드 리스트, 분할되어 반환된 디스크 비공간 필터, 원래의 디스크 공간필터로 설정한 후 메모리 프리디킷과 디스크 프리디킷을 반환시키는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  16. 제 15 항에 있어서,
    (g) 상기 (d) 과정의 판단 결과 비공간 필터 분할루틴만 실행되지 않은 경우 공간 필터 분할 및 비공간 필터 분할 루틴이 실행되었는지를 판단하는 과정;
    (h) 판단 결과 공간 분할 및 비공간 필터 분할루틴이 실행된 경우 메모리 프리디킷을 원래의 필드 리스트, 분할되어 반환된 메모리 비공간 필터, 분할되어 반환된 메모리 공간필터로 설정하는 과정; 및
    (i) 디스크 프리디킷을 원래의 필드 리스트, 분할되어 반환된 디스크 비공간 필터, 분할되어 반환된 디스크 공간필터로 설정한 후 메모리 프리디킷과 디스크 프리디킷을 반환시키는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  17. 제 16 항에 있어서,
    (j) 상기 (g)의 판단 결과 공간 필터 분할 및 비공간 필터 분할 루틴이 실행되지 않은 경우 필드 분할 루틴만 실행되었는지를 판단하는 과정;
    (k) 판단 결과 필드 분할 루틴만이 실행된 경우 메모리 프리디킷을 분할되어 반환된 메모리 필드 리스트, 원래의 비공간 필터, 원래의 공간필터로 설정하는 과정; 및
    (l) 디스크 프리디킷을 분할되어 반환된 필드 리스트, 원래의 비공간 필터, 원래의 공간필터로 설정한 후 메모리 프리디킷과 디스크 프리디킷을 반환시키는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  18. 제 17 항에 있어서,
    (m) 상기 (j) 과정의 판단 결과 필드 분할 루틴만 실행되지 않은 경우 필드 분할 및 공간 분할 루틴이 실행되었는지를 판단하는 과정;
    (o) 판단 결과 필드 분할 및 공간 분할 루틴이 실행된 경우 메모리 프리디킷을 분할되어 반환된 메모리 필드 리스트, 원래의 비공간 필터, 분할되어 반환된 메모리 공간필터로 설정하는 과정; 및
    (p) 디스크 프리디킷을 분할되어 반환된 필드 리스트, 원래의 비공간 필터, 분할되어 반환된 디스크 공간필터로 설정한 후 메모리 프리디킷과 디스크 프리디킷을 반환시키는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  19. 제 18 항에 있어서,
    (r) 상기 (m) 과정의 판단 결과 필드 분할 및 공간 분할 루틴이 실행되지 않은 경우 필드 분할 및 비공간 분할 루틴이 실행되었는지를 판단하는 과정;
    (s) 판단 결과 필드 분할 및 비공간 분할 루틴이 실행된 경우 메모리 프리디킷을 분할되어 반환된 메모리 필드 리스트, 분할되어 반환된 메모리 비공간 필터, 원래의 공간필터로 설정하는 과정; 및
    (t) 디스크 프리디킷을 분할되어 반환된 필드 리스트, 분할되어 반환된 디스크 비공간 필터, 원래의 공간필터로 설정한 후 메모리 프리디킷과 디스크 프리디킷을 반환시키는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
  20. 제 19 항에 있어서,
    상기 프리디킷 생성루틴은,
    (u) 상기 (r) 과정의 판단 결과 필드 분할 및 비공간 분할 루틴이 실행되지 않은 경우 필드 분할, 비공간 분할 및 공간 분할 루틴이 실행되었는지를 판단하는 과정;
    (v) 판단 결과 필드 분할, 비공간 분할 및 공간 분할 루틴이 실행된 경우 메모리 프리디킷을 분할되어 반환된 메모리 필드 리스트, 분할되어 반환된 메모리 비공간 필터, 분할되어 반환된 메모리 공간필터로 설정하는 과정; 및
    (w) 디스크 프리디킷을 분할되어 반환된 필드 리스트, 분할되어 반환된 디스크 비공간 필터, 분할되어 반환된 디스크 공간필터로 설정한 후 메모리 프리디킷과 디스크 프리디킷을 반환시키는 과정; 으로 이루어진 것을 특징으로 하는 다중레벨 DBMS에서 질의 분류 컴포넌트의 설계방법.
KR1020060039500A 2006-05-02 2006-05-02 다중레벨 dbms에서 질의 분류 컴포넌트의 설계 방법 KR100806115B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060039500A KR100806115B1 (ko) 2006-05-02 2006-05-02 다중레벨 dbms에서 질의 분류 컴포넌트의 설계 방법
US11/554,066 US20070260579A1 (en) 2006-05-02 2006-10-30 Method of designing query classification component for multilevel dbms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060039500A KR100806115B1 (ko) 2006-05-02 2006-05-02 다중레벨 dbms에서 질의 분류 컴포넌트의 설계 방법

Publications (2)

Publication Number Publication Date
KR20070107253A KR20070107253A (ko) 2007-11-07
KR100806115B1 true KR100806115B1 (ko) 2008-02-21

Family

ID=38662282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060039500A KR100806115B1 (ko) 2006-05-02 2006-05-02 다중레벨 dbms에서 질의 분류 컴포넌트의 설계 방법

Country Status (2)

Country Link
US (1) US20070260579A1 (ko)
KR (1) KR100806115B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5158083B2 (ja) * 2007-08-17 2013-03-06 株式会社ニコン 撮像装置
US10534606B2 (en) 2011-12-08 2020-01-14 Oracle International Corporation Run-length encoding decompression
US9201887B1 (en) 2012-03-30 2015-12-01 Emc Corporation Cluster file server proxy server for backup and recovery
US11113054B2 (en) 2013-09-10 2021-09-07 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression
US10025822B2 (en) * 2015-05-29 2018-07-17 Oracle International Corporation Optimizing execution plans for in-memory-aware joins
US10459859B2 (en) 2016-11-28 2019-10-29 Oracle International Corporation Multicast copy ring for database direct memory access filtering engine
US10725947B2 (en) 2016-11-29 2020-07-28 Oracle International Corporation Bit vector gather row count calculation and handling in direct memory access engine

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040050466A (ko) * 2002-12-10 2004-06-16 한국전자통신연구원 이동객체 데이터베이스에 대한 질의처리 시스템
US20050165825A1 (en) 2004-01-26 2005-07-28 Andrzej Turski Automatic query clustering

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040020933A (ko) * 2001-06-22 2004-03-09 노사 오모이구이 지식 검색, 관리, 전달 및 프리젠테이션을 위한 시스템 및방법
US8126870B2 (en) * 2005-03-28 2012-02-28 Sybase, Inc. System and methodology for parallel query optimization using semantic-based partitioning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040050466A (ko) * 2002-12-10 2004-06-16 한국전자통신연구원 이동객체 데이터베이스에 대한 질의처리 시스템
US20050165825A1 (en) 2004-01-26 2005-07-28 Andrzej Turski Automatic query clustering

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LBS를 위한 실시간 GIS 엔진의 설계 및 구현, 한국정보과학회 2002년 가을학술발표논문집 제29권제2호
분산 이동객체 데이터베이스의 효율적인 범위 질의 처리,전자공학회 논문지 제42권 TE편 제1호 2005.03

Also Published As

Publication number Publication date
US20070260579A1 (en) 2007-11-08
KR20070107253A (ko) 2007-11-07

Similar Documents

Publication Publication Date Title
Arge et al. Optimal external memory interval management
KR100806115B1 (ko) 다중레벨 dbms에서 질의 분류 컴포넌트의 설계 방법
Traina et al. Fast indexing and visualization of metric data sets using slim-trees
US7512282B2 (en) Methods and apparatus for incremental approximate nearest neighbor searching
EP2587365A2 (en) Automatic vertical-database design
US20080228783A1 (en) Data Partitioning Systems
US20130151535A1 (en) Distributed indexing of data
US7181467B2 (en) Delayed distance computations for nearest-neighbor queries in an R-tree index
CN105608224A (zh) 一种提高海量数据查询性能的正交多哈希映射索引方法
CN103077197A (zh) 一种数据存储方法装置
KR20210077975A (ko) 블록체인 기반의 지리공간 데이터를 위한 공간 데이터 인덱싱 방법 및 장치
Belussi et al. Cost estimation of spatial join in spatialhadoop
Yang et al. An efficient index structure for distributed k-nearest neighbours query processing
CN102999542B (zh) 多媒体数据高维索引及kNN检索方法
Siddique et al. Distributed skyline computation of vertically splitted databases by using mapreduce
Kvet Database Block Management using Master Index
KR20220099745A (ko) 지리공간 블록체인 데이터 검색을 위한 공간 분할 기반의 트리 인덱싱 및 질의어 처리 방법 및 장치
US7577673B2 (en) Organising data in a database
CN111782655A (zh) 一种基于地理分区的数据库跨区域数据就近访问方法
US10324918B2 (en) Data-partitioning for processing loosely ordered relations
KR100753821B1 (ko) 가비지 컬렉션 장치 및 그 방법
JP2613961B2 (ja) 索引の分割率変更処理方式
Zou et al. Strark-H: A Strategy for Spatial Data Storage to Improve Query Efficiency Based on Spark
Almorshdy Evaluating Spatial Queries Over Declustered Spatial Data
Prastyabudi Finding Frequent Routes From Taxi Trips With Time Windows: NYC Case

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130208

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141204

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee