KR20000007169A - 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법 - Google Patents

분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법 Download PDF

Info

Publication number
KR20000007169A
KR20000007169A KR1019980026356A KR19980026356A KR20000007169A KR 20000007169 A KR20000007169 A KR 20000007169A KR 1019980026356 A KR1019980026356 A KR 1019980026356A KR 19980026356 A KR19980026356 A KR 19980026356A KR 20000007169 A KR20000007169 A KR 20000007169A
Authority
KR
South Korea
Prior art keywords
node
tree
query
window
objects
Prior art date
Application number
KR1019980026356A
Other languages
English (en)
Other versions
KR100282640B1 (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 KR1019980026356A priority Critical patent/KR100282640B1/ko
Publication of KR20000007169A publication Critical patent/KR20000007169A/ko
Application granted granted Critical
Publication of KR100282640B1 publication Critical patent/KR100282640B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/29Geographical information databases

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)
  • Image Analysis (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)

Abstract

본 발명은 비정형적인 형태의 공간 객체를 근사시키는 최소 경계 사각형(MBR)을 이용하여 대량의 복잡한 공간 객체들을 처리해야 하는 최근의 응용분야를 위한 데이터 베이스 관리 방법에 관한 것으로써 특히, 공간 객체를 둘러싼 MBR 영역의 반을 분할하여 두개의 부 객체를 산출하는 제 1 과정과, 상기 제 1 과정을 통해 산출되어진 각각의 부 객체들에 대해 분할된 최소 경계 사각형(DMBR)을 생성하는 제 2 과정과, 상기 DMBR들이 AOD에 의해 표현되는 제한 조건을 만족할 때 까지 각 좌표축을 번갈아가면서 반복적으로 쉬프팅시키는 제 3 과정, 및 DMBR의 크기가 어떤 한계치를 넘어가면 다시 분할되는 제 4 과정을 포함하는 것을 특징으로 하는 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법을 제공하여, 한 객체의 MBR을 주어진 제한 조건을 만족할 때 까지 두개의 부 객체로 반복적으로 분할하는 것을 통해 구성요소들의 개수가 주어진 제한 조건에 의해 조절될 수 있어 구성요소들의 개수와 복잡성 사이에서 최적 절충값을 사용자가 선택할 수 있도록 허용된다.
또한, 본 발명의 효율적 활용을 위해 기존의 공간 색인 구조를 확장함에 따라 질의 조건을 만족하지 않는 후보 객체들을 재빨리 제거할 수 있으므로 질의 처리의 효율성이 향상될 수 있다.

Description

분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법(Data Base Management Method using Decomposed Minimum Bounding Rectangle)
본 발명은 지리정보시스템(geographic information system: GIS), 컴퓨터지원설계(computer-aided design: CAD), 멀티미디어 데이타베이스(multimedia database: MMDB)와 같은 최근의 응용 분야에서 요구되는 복잡한 공간 객체를 효율적으로 처리할 수 있도록 분할된 최소 경계 사각형(Decomposed Minimum Bounding Rectangle: DMBR)을 이용한 데이터 베이스 관리 시스템에 관한 것이다.
일반적으로, 데이터 베이스 관리 시스템(Data Base Management System: DBMS)은 대량의 데이터 베이스를 효율적으로 운영 관리하기 위한 프로그램 패키지로써, 질의 언어, 색인 구조, 그리고 저장 시스템 등으로 구성되어 있다.
현재, 기존의 상용 DBMS들은 정수나 실수, 혹은 스트링과 같은 단순한 데이터 타입들을 처리할 수 있도록 설계되어 있는데, 그 대표적인 선행기술로는 대한민국 특허출원번호 93-26018(명칭: 가변길이키 및 중복키를 지원하는 확장된 B+-트리 연산방법)을 예로 들 수 있다.
그러나, 상술한 선행기술에 대한 문제점으로써, GIS, CAD, MMDB와 같은 최근의 복잡한 응용분야에서는 이들 단순한 데이터 타입 뿐만 아니라 복잡한 공간 객체(기하학적 지형이나 지형의 윤곽을 묘사하는 객체)를 다루는 것이 요구됨에 따라 기존의 DBMS로는 복잡한 공간 객체를 다루는 응용분야에는 적합하지 않다는 한계가 있었다.
따라서, 선행기술의 한계를 극복하기 위하여 즉, 최근의 응용분야에서 요구되는 복잡한 공간 객체를 효율적으로 처리하기 위하여 지금까지 많은 기법들이 연구되어 졌는데 이들 기법들은 크게 두 가지 방안으로 분류할 수 있다.
첫번째 방안은 최소 경계 사각형(minimum bounding rectangle: MBR)으로 비정형적인 복잡한 공간 객체를 근사하는 방법이고, 두 번째 방안은 볼록 다각형과 같이 MBR보다 더 정확한 근사 기법에 의해 공간 객체를 근사하는 방법이다.
복잡한 공간 객체를 근사하는 첫번째 방안인 MBR 방법을 구현하기 위한 대표적인 방식으로서 여과-정제(filtering-refinement) 방식과 객체 변환(object transformation) 방식을 고려할 수 있다.
먼저, 상기 MBR 방법의 구현을 위한 방식 중 여과-정제 방식에서의 질의 처리는 여과 단계와 정제 단계로 구분되는데, 첫번째 단계인 여과 단계에서는 전체 객체들을 MBR을 이용하여 후보 객체들의 집합으로 감소시키고, 두 번째 단계인 정제 단계에서는 후보 객체들을 정밀하게 재 조사하여 최종 객체들을 검출한다.
상술한 여과-정제 방식은 기존의 공간 색인 기법을 이용하여 질의를 만족하지 않는 객체들을 신속하게 제거할 수 있다는 장점은 있으나, 단순한 사각형으로 된 MBR로는 가상의 복잡한 공간 객체를 정확하게 표현하는데는 한계가 있다. 더욱이, 정확하지 못한 근사 때문에 이 방식은 질의 조건을 만족시키지 못하는 많은 불필요한 후보 객체(즉, 잘못된 히트(false hit))들을 포함할 수 있다. 그 결과, 잘못된 히트라도 불필요하게 값비싼 정제 단계로 전달된다.
두 번째로, 상기 MBR 방법의 구현을 위한 방식 중 객체 변환 방식은 k차원의 공간 객체를 1차원의 비트스트링(bitstring)으로 변환(선행기술; 대한민국 특허출원번호 96-65570(명칭: HG-트리 색인구조 및 그의 삽입, 삭제, 검색방법))하거나, k차원의 공간 객체를 k차원적 구간으로 단순화한 후 그 구간을 2k차원의 점 객체로 변환하는 방법이다. 그러나 이러한 변환에도 불구하고 이 또한 근본적으로는 가상의 복잡한 공간 객체를 정확하게 표현하는 데는 한계가 있는 단순 사각형에 의한 MBR 방법이므로 공간 객체를 정확하게 근사할 수 없는 문제점을 내제하고 있다.
한편, 복잡한 공간 객체를 처리하기 위한 방안 중 상술한 MBR 방법의 문제점을 해소하기 위해 두 번째 방안으로써 MBR보다 더 정확한 근사 방법들이 제안되었다. 이들 중 대표적인 방식은 볼록 다각형에 의해 공간 객체를 근사하는 볼록 근사(convex approximation) 방식과 공간 객체를 분할하여 근사하는 객체 분할(object decomposition) 방식이 있는데, 이들은 근사의 정확도를 향상시키기 위하여 연구되어진 것들이다.
그렇지만, 상기 볼록 근사 방식은 MBR보다 더 많은 매개변수를 필요로 하기 때문에 당연히 더 복잡한 공간 색인 기법을 요구한다. 더구나, 단지 하나의 근사만 사용하는 방법으로는 그 공간 객체의 복잡성을 감소시킬 수는 없다. 이러한 사실은 복잡한 공간 객체에 대해 값비싼 기하학적 공간 계산이 적용되어야 함을 의미한다.
반면에, 복잡한 공간 객체를 사다리꼴과 같은 단순한 구성요소들로 분할하는 객체 분할 방식은 근사의 정확도를 향상시킬 뿐만 아니라 공간 객체를 단순하게 만들 수 있다. 그러나, 산출되는 수많은 구성요소들이 질의 처리시 하나의 부담으로 작용하게되며, 더욱 심각한 것은, 공간 객체가 복잡하면 복잡할수록 더 많은 구성요소들이 그 객체로부터 산출됨에 따라 신속한 처리가 어려우며, 시스템의 복잡성과 저장 공간의 증가가 문제점으로 대두된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 특정 객체의 외곽 경계를 산출한 후 그 영역의 반을 분할하여 두 개의 부 객체를 산출하고, 다시 그 부 객체들의 외각 경계를 산출하는 과정을 반복적으로 수행하여 공간 질의의 성능을 향상시킨 분할된 경계 사각형을 이용한 데이터 베이스 관리 시스템을 제공하는 데 있다.
도 1a 내지 도 1c는 분할된 최소 경계 사각형을 적용한 경우를 설명하기 위한 예시도
도 2a와 도 2b는 도 1a 내지 도 1c에서 산출되는 최소 경계 사각형 및 그의 자료 구조를 나타낸 예시도
도 3은 분할된 최소 경계 사각형 방법의 자료 구조를 구축하는 과정을 나타낸 동작 순서 예시도
도 4는 분할된 최소 경계 사각형 방법의 색인 구조를 나타낸 예시도
도 5은 점 질의 처리 과정을 나타낸 동작 순서 예시도
도 6a와 도 6b는 질의 점을 포함하는 공간 객체를 검사하는 예를 나타낸 도
도 7은 영역 질의의 정제 단계를 수행하는 예를 나타낸 도
도 8는 영역 질의 처리 과정을 나타낸 동작 순서 예시도
도 9은 플레인-스윕 기법을 수행하는 예를 나타낸 도
도 10은 공간 조인 질의 처리 과정을 나타낸 동작 순서 예시도
상기 목적을 달성시키기 위한 본 발명의 특징은 비정형적인 형태의 공간 객체를 근사하는 최소 경계 사각형(MBR)으로 복잡한 공간 객체들을 다루는 응용분야의 데이터 베이스 관리 방법에 있어서, 공간 객체를 둘러싼 MBR 영역의 반을 분할하여 두개의 부 객체를 산출하는 제 1 과정과, 상기 제 1 과정을 통해 산출되어진 각각의 부 객체들에 대해 분할된 최소 경계 사각형(DMBR)을 생성하는 제 2 과정과, 상기 DMBR들이 AOD(Accuracy Of the Decomposition)에 의해 표현되는 제한 조건을 만족할 때 까지 각 좌표축을 번갈아가면서 반복적으로 쉬프팅시키는 제 3 과정, 및 DMBR의 크기가 어떤 한계치를 넘어가면 다시 분할되는 제 4 과정을 포함하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 상기 제 1 과정에서 공간 객체를 분할할 때 객체 절단선이 선택되는데, 교차점이 객체의 외각 지점에서 발견될 때 이들을 무시함으로써 간단히 해결할 수 있는 제 1 단계와, 여러 개의 부 객체들이 산출될 때 절단선들 중에서 가장 작은 y(또는 x) 좌표값을 가지고 있는 것을 선택하여 이를 객체 절단선으로 선택하는 제 2 단계와; 상기 제 3 과정에서 제한 조건이 매개변수 g에 의해 관리되는 과정, 즉 AOD(g)는 MBR 영역의 2-g 보다 더 큰 DMBR들은 다시 분할되는 제 3 단계로 이루어지며, 분할된 구성요소들의 수와 근사의 정확도 사이에는 하나의 절충된 값이 존재하는데, 실제 실험을 수행시킨 결과 매개변수 g가 3일 때 성능이 최대화 되는 특징이 있다.
상기 목적을 달성하기 위한 본 발명의 다른 특징은 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법에 있어서, 각 분할 단계마다 생성되는 결과들을 DR-트리(Decomposed Rectangle tree) 속으로 저장하는 과정과; DR-트리는 중간 노드와 리프 노드로 구성되어 있으며, 중간 노드에는 부 객체의 DMBR이 저장되며, 리프 노드에는 구성요소의 식별자와 DMBR을 포함하며, 리프 노드의 객체 식별자는 관련된 구성요소를 지시하는 과정과; DR-트리를 구축하기 위해 'Divide and Conquer' 기법을 사용하고, 입력으로써 하나의 객체를 표현하는 배열 p 및 객체를 분할할 때 수직 또는 수평 분할선이 교대로 변경되도록 하는 불리안 변수 d를 받아 들인 후, 결과로써 하나의 DR-트리가 생성되는 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 원형의 객체들을 효율적으로 관리할 수 있는 기존의 색인 구조에 분할된 구성요소들을 구조화할 수 있는 색인 구조를 결합시키는 과정과, 두 부분으로 구성되는 색인 구조의 첫번째 부분은 원형의 객체들을 저장하기 위한 색인 구조로서 R*-트리를 수정 없이 사용하고, 두 번째 부분은 분할된 구성요소들을 저장하기 위해 DR-트리를 사용하는 과정과; 상기 색인 구조에 새로운 공간 객체를 삽입할 때 2단계(분할 알고리즘 적용과 R*-트리 삽입 알고리즘 적용)로 처리되는 이단계 색인 구조를 갖는 데 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 특징은 이단계 색인 구조에 있어서, 공간 질의 처리는 점 질의, 영역 질의, 그리고 공간 조인 질의로 구분되며, 점 질의 처리과정은 정제 단계를 수행하기 전에 DR-트리의 DMBR들을 사용하여 많은 잘못된 히트들을 재빨리 제거하고, DMBR들에 의해 여과된 간단한 구성요소들에 대해서만 정제 단계를 수행하는 과정과, R*-트리의 탐색 알고리즘을 사용하여 질의 점을 포함하는 모든 레코드 식별자를 찾고, 이들 식별자가 지시하는 DR-트리를 주 메모리로 읽어 들인 후 루트 노드부터 각 노드를 검사하는 과정과, 조사되는 노드가 리프 노드가 아니면, 그 노드에 저장되어 있는 사각형 좌표가 질의 점을 포함하는지 검사하고, 포함한다면 왼쪽 및 오른쪽 자식 노드들에 대해 알고리즘을 재귀적으로 호출하는 과정과, 조사되는 노드가 리프 노드면, 그 노드에 저장되어 있는 DMBR 좌표가 질의 점을 포함하는지 검사하고, 만일 포함한다면 점 포함 객체 검사 과정을 거치고, 그렇지 않으면 이 알고리즘을 벗어나는 과정을 포함하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 영역 질의 처리과정은 여과된 객체들에 대해 정제 단계를 바로 적용하기 전에 관련된 DR-트리가 주 메모리로 전송된 후, DMBR들이 질의 윈도우에 교차되는지 검사하는 과정과, 정제 단계가 기하학적 계산 알고리즘에 의해 객체의 경계선을 따라 교차가 검출될 때까지 순차적으로 스캔되며, 마지막 선분까지 교차가 검출되지 못하면 이 객체는 질의 윈도우와 교차되지 않는 것으로 간주하는 과정과, 객체의 경계선을 스캔하면서 실제로 교차 검사가 필요한지 먼저 결정하는 과정과, 선분의 양 끝점이 윈도우의 위쪽, 아래쪽, 왼쪽, 오른쪽 영역에 놓여 있는지 조사하는 영역 검사 과정과, 선분에서 윈도우 외부에 있는 한 끝점을 선택하고, 만일 이 끝점이 윈도우의 왼쪽 영역에 놓여져 있다면 이 선분이 윈도우의 왼쪽 경계와 교차하는지를 검사하는 과정을 포함하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 R*-트리의 탐색 알고리즘을 사용하여 질의 윈도우와 교차되는 MBR을 가지고 있는 모든 레코드 식별자를 찾고, 이들 식별자가 지시하는 DR-트리를 주 메모리로 읽어 들인 후 루트 노드부터 각 노드를 검사하는 과정과; 조사되는 노드가 리프 노드가 아니면, 그 노드에 저장되어 있는 사각형 좌표가 윈도우에 의해 포함되는지 검사하여, 포함된다면 Oid를 반환하고, 그렇지 않으면 그 노드가 윈도우에 겹치는지 검사하는 과정과; 노드가 윈도우에 겹친다면, 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출하는 과정과; 조사되는 노드가 리프 노드면, 그 노드에 저장되어 있는 DMBR 좌표가 윈도우에 의해 포함되는지 검사하여, 포함된다면 Oid를 반환하고, 그렇지 않으면 그 노드가 윈도우에 겹치는지 검사하는 과정과; 노드가 윈도우에 겹친다면 구성요소의 각각의 선분에 대해 그 선분이 윈도우 내에 존재하는지 검사하여, 만일 존재한다면 Oid를 반환하고, 그렇지 않으면 영역 검사를 적용하는 과정과; 만일 영역 검사에 의해 간단히 결정되지 않는다면 교차 검사를 적용하는데, 하나의 교차가 검출된다면 Oid를 반환하고, 그렇지 않으면 다음 선분을 취하는 과정을 포함하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 공간 조인 처리과정은 정제 단계의 효율성 향상을 위해 한단계 더 연속되는 여과 단계를 수행하여 비싼 정제 단계의 성능을 향상 시키기 위해 DMBR들에 의해 질의를 만족하지 못하는 객체들을 가능한 많이 제거한 후에 교차되는 구성요소들에 대해 정제 단계를 수행하는 과정과, 플레인-스윕(plane-sweep) 기법에 의해 수행되는 정제 단계에서 두 DMBR들이 서로 겹쳐지는 교차 영역 내에 있는 선분들만 한정하여 검사를 수행하는 과정을 포함하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 부가적인 특징으로 R-트리 조인 알고리즘을 사용하여 두 공간 객체의 MBR들이 교차되는 모든 레코드 식별자를 찾고, 이들 식별자들이 지시하는 두개의 DR-트리를 주 메모리로 읽어 들인 후 루트 노드부터 각 노드를 검사하는 과정과, 조사되는 두 노드가 둘 다 리프 노드인 경우에는, 먼저 그 노드들에 저장된 DMBR들이 서로 겹쳐지는 교차 영역 내에 있지 않은 선분들을 제거하고, 플레인-스윕 기법을 적용하여 교차가 발견된다면 이 Oid들을 반환하는 과정과, 한 노드가 리프 노드이고 다른 한 노드가 리프 노드가 아닌 경우에는, 리프 노드가 아닌 노드에 대한 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출하는 과정, 및 두 노드 모두 리프 노드가 아닌 경우에는, 두 노드에 대한 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출하는 과정을 포함하는 데 있다.
우선, 본 발명에서 적용하고자 하는 기술적 사상을 간략히 살펴보면, 본 발명의 DMBR 방법은 한 객체를 둘러싼 MBR 영역의 반을 분할하여 두개의 부 객체를 산출한다. 그러고 나서 각각의 부 객체에 대해 MBR(이를 DMBR이라 한다)을 생성한다. 이러한 분할 과정은 그 DMBR들이 주어진 제한 조건을 만족할 때 까지 각 좌표축을 번갈아가면서 반복적으로 수행된다. 제한 조건은 AOD에 의해 표현되는데, 이는 DMBR의 크기가 어떤 한계치를 넘어가면 다시 분할되는 것을 의미한다. 그 한계치는 매개변수 g에 의해 관리된다. 즉 AOD(g)는 MBR 영역의 2-g보다 더 큰 DMBR들은 다시 분할함을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 설명한다.
도 1a내지 도 1c는 본 발명에 따른 DMBR 방법을 적용한 한 예를 나타낸 것으로, 도 1a는 MBR로 근사된 한 공간 객체를 보여주고 있다. 한계치를 MBR 영역의 25% (즉, AOD(2))라고 가정하면, 먼저 그 객체가 중간 수직 좌표축에 의해 두개의 부 객체들로 분리된다.
그러고 난 후 도 1b에 도시되어 있는 바와 같이 각각의 부 객체에 대해 DMBR을 생성한다. 왼쪽에 있는 부 객체의 DMBR은 MBR 영역의 2-2보다 작은 반면에, 오른쪽에 있는 부 객체의 DMBR은 MBR 영역의 2-2보다 크다.
따라서 도 1(c)와 같이 오른쪽 부 객체에 대해 중간 수평 좌표축에 의해 분할이 일어난다. 그런 후 반복적인 분할은 정지한다. 왜냐하면, 이제 모든 DMBR들이 MBR 영역의 2-2보다 작기 때문이다.
이때, DMBR 방법은 도 1에 도시되어 있는 경우와는 다른 다양한 경우들을 취급해야만 하는데, 통상 하나의 객체를 분할할 때 여러 개의 부 객체들이 산출될 수 있으므로, 이러한 모든 경우들을 일관되게 처리하는 하나의 체계화된 기법이 필요하다.
또한, DMBR 방법은 분할된 구성요소들의 수와 근사의 정확도를 적절히 조절할 수 있는 하나의 매개변수 g를 가지고 있다. 매개변수의 값이 낮을 때, 구성요소들의 수는 최소화될 수 있으나 근사의 정확도는 상대적으로 나빠진다. 반면에 매개변수의 값이 높을 때 근사의 정확도는 좋아진다. 그러나 구성요소들의 개수가 많이 증가됨을 관찰할 수 있다. 이러한 관찰로부터 구성요소들의 수와 근사의 정확도 사이에는 하나의 절충된 값이 존재할 수 있다고 추론할 수 있다.
본 발명에서는 실제 실험을 수행시킨 결과 매개변수 g가 3일 때 성능이 최대화 됨을 알 수 있었다. (실험 과정 및 결과에 대해서는 서술하지 않음. 참조 문헌: Y. J. Lee, S. J. Lee, and C. W. Chung, "Object Decomposition for Spatial Query Processing," International Journal of Information Technology, Volume 3, Number 1, pp. 35-62, World Scientific Publishing Company, June 1997)
DMBR 방법을 효율적으로 구현하기 위해 각 분할 단계마다 생성되는 결과들은 DR-트리라고 하는 2차원 이진 트리(2-dimensional binary tree) 속으로 저장된다.
DMBR 방법에서는 한 객체가 정확하게 두개의 부 객체로 반복 분할되기 때문에 이진 트리는 적합한 구조라고 할 수 있다. 하드 디스크에 저장된 DR-트리는 그 객체에 대한 정제 단계가 요구될 때 주 메모리로 전체가 이동된다. DR-트리의 구조는 LSD-트리와 비슷한데, 차이점은 LSD-트리의 분할 영역은 전체의 반(1/2)인데 반해 DR-트리의 분할 영역은 DMBR에 의해 표시된다. DR-트리는 리프 노드와 중간 노드로 구성되어 있으며, 리프 노드에는 구성요소의 식별자와 DMBR을 포함하며, 중간 노드에는 부 객체의 DMBR이 저장된다.
도 2a와 도 2b는 DR-트리의 구조를 도 1의 결과를 이용하여 설명한 것으로, 도 2a는 DMBR 방법에 의해 산출되는 DMBR들을 표시하고 있으며, 도 2b는 이와 관련된 DR-트리를 보여주고 있다.
이 트리는 3개의 리프 노드와 2개의 중간 노드로 구성되어 있는데, 사각형 efcg, ibjk, lmgn은 리프 노드에 저장된 DMBR을 나타내고 있고, 사각형 hbgd, abcd는 자식 노드에 있는 사각형들을 포함하는 최소 경계 사각형이다. 리프 노드의 객체 식별자는 관련된 구성요소를 지시하고 있다.
상기와 같은 DR-트리를 구축하기 위한 알고리즘은 첨부한 도 3에 도시되어 있는 바와 같다.
이 알고리즘은 'Divide and Conquer' 기법을 사용한다. 입력으로써 하나의 객체를 표현하는 배열 p 및 객체를 분할할 때 수직 또는 수평 분할선이 교대로 변경되도록 하는 불리안 변수 d를 받아 들인 후, 이 알고리즘을 수행하면 결과로써 하나의 DR-트리가 생성된다. 알고리즘 수행 과정을 상세히 설명하면,
먼저, 스텝 S101에서 배열 p로부터 입력 객체의 MBR이나 DMBR의 좌표 값을 찾는다. 이때, MBR인 경우에는 스텝 S102에서 MBR의 면적을 계산한 후 이 면적을 DMBR 면적으로 설정하고, 하나의 DR-트리를 만들기 위해 이의 루트 노드(root node)를 초기화 한다.
그러나, DMBR인 경우에는 스텝 S103의 과정을 통해 단지 DMBR 면적만 계산한다.
이후, 스텝 S104에서는 DMBR 면적이 MBR 면적/2g보다 크고 p의 꼭지점 개수가 (원형 객체의 꼭지점 개수)/2g보다 큰가를 판단하여 해당 조건을 만족한다고 판단되면 스텝 S105로 진행한다. 상기 스텝 S105에서는 하나의 중간 수직(또는 수평) 분할선을 만들며, 스텝 S106에서는 배열 p내에 있는 각각의 선분에 대해서 다음을 수행한다.
상기 스텝 S106에서 정의된 선분이 중간 분할선의 왼쪽(또는 위쪽)에 존재하는 가를 스텝 S107에서 판단하여 해당 조건에 만족하는 경우 스텝 S108로 진행하여 선분의 양 끝점을 배열 p1에 첨가한다.
만약, 상기 스텝 S107에서 정의된 선분이 중간 분할선의 왼쪽(또는 위쪽)에 존재하지 않는다고 판단되면 스텝 S109로 진행하여 정의된 선분이 중간 분할선의 오른쪽(또는 아래)에 존재하는가를 판단하는데, 해당 조건에 만족하는 경우 스텝 S110으로 진행하여 선분의 양 끝점을 배열 p2에 첨가한다.
또한, 상기 스텝 S109에서도 조건을 만족하지 못하는 경우 스텝 S111에서는 정의된 선분이 중간 분할선과 교차하는 가를 판단하게 되는데, 교차점들을 발견하게되면 스텝 S112로 진행하여 해당 교차점들을 배열 p1과 p2에 첨가한다.
상술한 스텝 S106에서 스텝 S112까지의 과정이 수행된 이후에는 스텝 S113으로 진행하여 모든 객체의 선분에 대해 수행 완료되었는지 조사하고, 수행 완료되지 않았다고 판단되면 상기 스텝 S106으로 재진행하여 상술한 과정을 재 수행한다.
반면에, 상기 스텝 S113에서 수행 완료되었다고 판단되면 DR-트리를 구축하는 단계로 진입하는데, 즉, 스텝 S114로 진행하여 배열 p1에 관련된 DMBR 좌표들은 현재 노드의 왼쪽 노드 속으로 이동하고, 스텝 S115에서는 배열 p2에 관련된 DMBR 좌표들은 현재 노드의 오른쪽 노드 속으로 이동한다.
이와같은 분리된 두개의 부 객체를 표현하는 두개의 배열이 생성되면 다음 분할이 수직 및 수평 분할선에 대해 교대로 수행되도록 불리안 변수 d를 세트하고(S116), 분리된 객체의 각각에 대해 이 알고리즘을 재귀적으로 호출하여 다음 분할이 수행되도록 한다(S120, S130).
한편, 상기 스텝 S104에서 DMBR 면적이 MBR 면적/2g보다 크지 않거나 p의 꼭지점 개수가 (원형 객체의 꼭지점 개수)/2g보다 크지 않다면, 이 프로그램을 끝내고 생성된 DR-트리를 반환한다.
상술한 바와 같은 객체 분할 방법에 있어서 공간 질의에 관련되는 구성요소들의 집합을 신속히 참조할 수 있는 능력이 매우 중요하다. 이를 위해서는 구성요소들의 집합을 체계화할 수 있는 효율적인 색인 구조가 필수적이다. DMBR 방법에서는 기존의 색인 구조를 확장하였다. 즉 원형의 객체들을 효율적으로 관리할 수 있는 기존의 색인 구조에 분할된 구성요소들을 구조화할 수 있는 색인 구조를 결합시켰다. 기존의 색인 구조로서는 현재 가장 널리 사용되고 있는 R*-트리가 선택되었다. 분할된 구성요소들은 DR-트리 속으로 저장된다.
따라서, 첨부한 도 4에서는 기존의 색인 구조를 확장한 이단계 색인 구조를 묘사하고 있다. 이 색인 구조는 두 부분으로 구성되어 있는데, 첫번째 부분은 원형의 객체들을 저장하기 위한 색인 구조로서 R*-트리를 수정 없이 사용한 것이다. 두 번째 부분은 분할된 구성요소들을 저장하기 위해 DR-트리를 사용한다. R*-트리는 리프(leaf) 노드와 중간 노드로 구성되어 있으며, 리프 노드에는 원형 객체의 식별자와 MBR, 그리고 DR-트리에 대한 주소 지시자를 포함하고 있다. 중간 노드에는 자식 노드의 주소 지시자와 자식 노드의 사각형 영역을 포함하고 있다. 도 4에 의해 생성된 DR-트리가 R*-트리의 관련된 리프 노드에 첨가된다.
이단계 색인 구조에 새로운 공간 객체를 삽입하는 과정은 다음과 같이 2단계로 처리된다.
1단계: 첨부한 도 3에 도시되어 있는 알고리즘 적용
먼저 새로운 객체에 대한 MBR을 계산한 후, 도 3의 알고리즘을 적용하고, 이 알고리즘에 의해 DR-트리가 생성된다. DR-트리는 저장 장치에 지속적으로 저장되어 정제 단계를 수행할 때 주 메모리로 전송되므로 주 메모리 내에서 DR-트리를 구축한다거나 포인터(pointer) 변환과 같은 작업이 필요 없다.
2단계: R*-트리 삽입 알고리즘 적용
R*-트리 구축을 위해 기존의 R*-트리 삽입 알고리즘이 사용된다 (R*-트리 삽입 알고리즘에 대해서는 서술하지 않음. (참조 문헌: N. Beckmann, H. P, Kriegel, R. Schneider, and B. Seeger, "The R*-트리: An Efficient and Robust Access Method for Points and Rectangles," Proceedings of the ACM SIGMOD International Conference on Management of Data, pp. 322-331, 1990). 이러한 삽입 작업의 결과로써 새로운 이단계 색인 구조가 생성된다.
다음은 DMBR 방법을 기반으로 한 공간 질의 처리 알고리즘들에 대해 설명한다. 복잡한 공간 객체의 질의 처리는 일반적으로 이단계 전략(여과 단계와 정제 단계)에 의해 구현된다. DMBR 방법을 질의 처리에 활용하면 특히 정제 단계의 성능이 향상된다. 설명되는 공간 질의는 점 질의, 영역 질의, 그리고 공간 조인 질의이다.
점 질의 처리는 주어진 점을 키로 하여 그 점을 포함하는 모든 공간 객체를 찾는 것이다. 먼저 여과 단계에서는 R*-트리의 탐색 알고리즘이 사용되는데, 질의 점 P를 포함하는 객체 O를 찾기 위해서는 다음과 같은 수학식 1을 만족하여야만 한다.
기존의 R*-트리 알고리즘의 정제 단계는 공간 객체가 복잡하다면 매우 값비싼 탐색 비용이 요구된다. 왜냐하면 MBR은 정확하지 못한 근사 기법이며, 복잡한 공간 객체를 정제하기 위해서는 값비싼 기하학적 계산 알고리즘이 필요하기 때문이다. 하지만 DMBR 방법에서는 정제 단계를 수행하기 전에 DR-트리의 DMBR들을 사용하여 많은 잘못된 히트들을 재빨리 제거할 수 있으며, 비교적 단순한 구성요소들을 산출한다. 즉, DMBR들에 의해 여과된 간단한 구성요소들에 대해서만 정제 단계를 수행한다.
도 5은 DR-트리 내에서 점 질의 처리 과정을 보여주고 있다.
우선, 전제 사항으로써 입력은 노드 T가 루트인 하나의 DR-tree이며, 출력은 P를 포함하는 하나의 Oid이다.
먼저, R*-트리의 탐색 알고리즘을 사용하여 질의 점 P=(Px, Py)를 포함하는 모든 레코드 식별자를 찾고, 이들 식별자가 지시하는 DR-트리를 주 메모리로 읽어 들인 후 루트 노드(T)부터 각 노드를 검사(S201)한다.
만일 조사되는 노드(T)가 리프 노드가 아니면 그 노드(T)에 저장되어 있는 사각형 좌표가 질의 점 P를 포함하는지 검사(S202)한다. 상기 스텝 S202에서 해당 노드(T)가 질의 점(P)를 포함한다면 스텝 S203과 S204로 진행하여 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출하게 된다.
반면에, 상기 스텝 S202에서 해당 노드(T)가 질의 점(P)를 포함하지 않는다면 해당 알고리즘을 벗어난다.
한편 상기 스텝 S201에서 조사되는 노드가 리프 노드면, 스텝 S205로 진행하여 그 노드에 저장되어 있는 DMBR 좌표가 질의 점 P를 포함하는지 검사한다. 이때, 상기 스텝 S205에서 표함한다고 판단되면 스텝 S206으로 진행하여 질의 점과 객체 외부에 있는 임의의 점 사이에 하나의 보조선을 그린 후 객체 경계선이 보조선에 교차되는 점의 수를 구한다.
상기 과정을 통하여 교차점 수가 계산되면 스텝 S207에서는 교차점의 수가 홀수인가를 판단하는데, 홀수면 스텝 S208로 진행하여 질의 점은 객체 내부에 존재하는 것이므로 Oid값을 반환하고, 짝수이면 외부에 존재하므로 이 알고리즘을 벗어난다.
도 6a는 질의 점을 포함하는 객체를 검사하는 한 예를 보여주고 있다. 특수한 경우로 교차점이 두 선분이 만나는 꼭지점인 경우에는 예외 처리 되는데, 도 6b는 이러한 경우를 나타내고 있다. 즉, 교차점을 구성하는 두 선분의 반대쪽 꼭지점들이 보조선을 기준으로 같은 쪽에 있으면(x인 경우) 그 점은 짝수로 계산하고, 다른 쪽에 있으면(y인 경우) 홀수로 계산한다.
한편, 영역 질의는 주어진 질의 윈도우(window)와 교차되는 모든 공간 객체들을 찾는 것이다. 점 질의와 비슷하게 영역 질의의 여과 단계는 R*-트리에 기반을 두고 있다. 질의 윈도우 Q가 객체 O와 교차하기 위해서는 다음과 같은 수학식 2에 만족되어야만 한다.
정제 단계에서는 모든 후보 객체들에 대해 실제로 질의 윈도우에 교차되는지 정밀하게 재조사 된다. 그런데 질의 윈도우 내에 객체의 MBR이 완전히 포함되는 경우에는 정제 단계를 수행할 필요 없이 결과 객체로써 선정될 수 있다. 이러한 경우는 다음의 수학식 3이 만족되는 경우이다.
기존의 전통적인 객체 분할 기법들은 산출되는 수 많은 구성요소들 때문에 질의 처리 수행 시 큰 부담이 될 수 있다. 이러한 단점을 제거하기 위해 본 발명에서는 구성요소들의 개수를 적절히 조절할 수 있는 DMBR 방법을 개발하였다.
DMBR 방법은 구성요소들의 개수와 복잡성 사이에 절충된 값을 선택함으로써 정제 단계가 효율적으로 수행될 수 있도록 지원하고 있다. 즉, 여과된 객체들에 대해 정제 단계를 바로 적용하기 전에 관련된 DR-트리가 주 메모리로 전송된다. 그러고 나서 DMBR들이 질의 윈도우에 교차되는지 검사한다.
검사 결과 세가지 경우가 발생될 수 있는데, (1) 영역 질의를 만족하는 객체, (2) 영역 질의를 만족하지 못하는 객체, 그리고 (3) 후보 객체로 분리된다.
이들 중 후보 객체에 대해서만 정제 단계가 수행된다. 일반적으로 정제 단계는 기하학적 계산 알고리즘에 의해 객체의 경계선을 따라 교차가 검출될 때까지 순차적으로 스캔(scan)된다. 마지막 선분까지 교차가 검출되지 못하면 이 객체는 질의 윈도우와 교차되지 않는 것으로 간주하고 알고리즘의 수행을 끝낸다.
다음과 같은 기법에 의해 영역 질의의 정제 단계 알고리즘을 좀 더 성능 향상시킬 수 있다. 객체의 경계선을 스캔하면서 실제로 교차 검사가 필요한지 먼저 결정한다. 즉, 선분들이 윈도우 내에 완전히 포함되는지 검사한다. 만일 윈도우 내에 어떤 선분이 포함된다면 그 객체는 최종 결과로써 결정되고 알고리즘 수행을 끝낸다. 그렇지 않는 경우에는 영역 검사(region check)를 실시한다.
예를 들면, 도 7에서 질의 윈도우의 x좌표 경계를 Qx,min, Qx,max라 하고 y좌표 경계를 Qy,min, Qy,max라고 하면, 선분 e1 의 양 끝점은 Qy,max보다 큰 y좌표 값을 가지고 있다. 이것은 윈도우의 위 영역에 놓여 있음을 알 수 있다. 이 선분에 대해서는 교차 검사할 필요 없이 다음 선분으로 이동된다. 비슷하게 선분의 양 끝점이 Qy,min아래, Qx,min왼쪽, Qx,max오른쪽에 있는 선분들에 대해서는 교차 검사가 필요 없다.
선분의 양 끝점이 윈도우의 위쪽, 아래쪽, 왼쪽, 오른쪽 영역에 놓여 있지 않는 경우에는 그 객체는 교차되는 최종 객체가 될 수도 있고 그렇지 않을 수도 있다 (예, 선분 e5 , e7 이 이러한 경우인데, 단지 e5 만 윈도우와 교차된다). 이런 경우 알고리즘은 그 선분에서 윈도우 외부에 있는 한 끝점을 선택한다. 만일 이 끝점이 윈도우의 왼쪽 영역에 놓여져 있다면 이 선분이 윈도우의 왼쪽 경계와 교차하는지를 검사한다. 예를 들면, 선분 e5 , e7 이 윈도우 경계 ac와 교차 검사된다. 비슷하게 끝점이 윈도우의 오른쪽, 위쪽, 아래쪽에 있을 때도 이와 같은 교차 검사를 실시한다.
도 8은 DR-트리 내에서 영역 질의 처리 과정을 보여주고 있다.
먼저, R*-트리의 탐색 알고리즘을 사용하여 질의 윈도우 Q=(Qx,min, Qx,max, Qy,min, Qy,max)와 교차되는 MBR을 가지고 있는 모든 레코드 식별자를 찾는다.
따라서, 스텝 S301에서는 이들 식별자가 지시하는 DR-트리를 주 메모리로 읽어 들인 후 루트 노드부터 각 노드를 검사한다. 이때, 상기 스텝 S301에서 조사되는 노드가 리프 노드가 아니라고 판단되면 스텝 S302로 진행하여 해당 노드에 저장되어 있는 사각형 좌표가 윈도우 Q에 의해 포함되는지 검사한다.
만일 상기 스텝 S302에서 포함된다고 판단되면 스텝 S303으로 진행하여 Oid를 반환하고, 그렇지 않으면 스텝 S304로 진행하여 해당 노드가 Q에 겹치는지 검사한다.
상기 스텝 S304의 검사과정을 통하여 겹친다고 판단되면 왼쪽 및 오른쪽 자식 노드(T)들에 대해 이 알고리즘을 재귀적으로 호출하고, 겹치지 않는다면 이 알고리즘을 벗어난다.
한편 상기 스텝 S301에서 조사되는 노드가 리프 노드라고 판단되면 스텝 S307로 진행하여 해당 노드에 저장되어 있는 DMBR 좌표가 윈도우 Q에 의해 포함되는지 검사한다. 만일, 상기 스텝 S307에서 노드에 저장되어 있는 DMBR 좌표가 윈도우 Q에 의해 포함된다고 판단되면 스텝 S308로 진행하여 Oid를 반환하고, 그렇지 않으면 스텝 S309로 진행하여 해당 노드가 Q에 겹치는지 검사한다.
만일, 상기 스텝 S309에서 해당 노드가 Q에 겹친다고 판단되면, 스텝 S310 으로 진행하여 구성요소의 각각의 선분에 대해 해당 선분이 윈도우 Q 내에 존재하는지 검사한다.
즉, 스텝 S310에서 선분이 윈도우 Q 내에 존재하는지 검사하여 존재한다고 판단되면 스텝 S311로 진행하여 Oid를 반환하고, 그렇지 않으면 스텝 S312로 진행하여 영역 검사를 적용한다. 이후, 스텝 S313에서는 영역 검사에 의해 간단히 결정되는 가를 판단하는데, 간단히 결정되지 않는다면 스텝 S314로 진행하여 교차 검사를 적용한다.
상기 스텝 S314에서 검사하는 교차검사를 통해 교차점이 검출되었는가를 스텝 S315에서 판단하여 만일 하나의 교차가 검출된다면 스텝 S316으로 진행하여 Oid를 반환하고, 그렇지 않으면 스텝 S317로 진행하여 다음 선분을 취한다.
이와같은 동작은 스텝 S318을 통해 모든 구성요소의 선분에 대한 수행이 완료되었다고 판단할 때 까지 반복적으로 수행된다.
상술한 바와 같은 DR-트리 내에서 공간 조인 질의는 두개 이상의 복수 객체 집합들에 대해 공간 연산자를 만족하는 공간 객체들을 찾는 것이다. 본 발명에서는 두 집합에 대한 공간 교차 조인으로 한정하였다. 먼저, 공간 조인 처리의 여과 단계를 위해 본 발명에서는 Brinkhoff 등이 제안된 R-트리 조인 알고리즘이 사용된다 (참고 문헌: T. Brinkhoff, H. P. Kriegel, and B. Seeger, "Efficient Processing of Spatial Joins Using R-트리," Proceedings of the ACM SIGMOD International Conference on Management of Data, pp. 237-246, 1993).
그러나 R-트리 조인 알고리즘은 단지 공간 조인의 여과 단계를 위해서만 수행될 수 있으므로 본 발명에서는 정제 단계의 효율성 향상을 위해 R-트리 조인 알고리즘을 확장하였다. 기본 개념은 한단계 더 연속되는 여과 단계를 수행함으로써 비싼 정제 단계의 성능을 향상 시키는 것이다. 예를 들면, 도 1a와 같이 MBR로만 여과 단계를 수행한 후에 정제 단계를 수행하는 것보다 도 1c와 같이 MBR로 여과 단계를 수행한 후에 DMBR을 이용해 추가적인 여과 단계를 한번 더 수행한 후 교차되는 DMBR 내의 구성요소들에 대해서만 정제 단계를 수행한다.
이러한 기법은 많은 잘못된 히트들을 재빨리 제거할 수 있으며, MBR로 선정된 후보 객체들 중에서 조인 조건을 분명히 만족하지 않는 부 객체들을 간단히 스킵(skip)할 수 있다. 즉, DMBR들에 의해 질의를 만족하지 못하는 객체들을 가능한 많이 제거한 후에 교차되는 구성요소들에 대해 정제 단계를 수행하며, 정제 단계는 계산 기하학 분야에서 활용되는 플레인-스윕 기법에 의해 수행된다.
플레인-스윕 기법은 먼저 전처리 단계에서 두 객체들의 꼭지점들을 x좌표값에 따라 순서별로 정렬한다. 그렇게 한 후 첨부한 도 9에서와 같이 하나의 수직선(즉, 스윕 라인(sweep line))을 왼쪽부터 오른쪽으로 움직이면서 스윕 라인에 동시에 교차되는 선분 쌍이 발견되면 실제로 교차되는지 기하 연산 비교를 수행한다. 그림에서 선분 e3 , e4 와 같이 서로 교차가 발견되면 최종 결과로써 결정되고 알고리즘 수행을 종료한다.
상술한 플레인-스윕 기법도 DMBR들을 사용함으로써 성능을 향상시킬 수 있는데, 두 DMBR들이 서로 겹쳐지는 교차 영역 내에 있는 선분들만 한정하여 검사를 수행하면 된다. 예를 들면, 그림에서 선분 e1 e5 는 교차 검사를 할 필요가 없다. 왜냐하면 이들은 결코 다른 선분들과 교차될 수 없기 때문이다.
도 10은 DR-트리 내에서 공간 조인 질의 처리 과정을 보여주고 있다. 먼저, R-트리 조인 알고리즘을 사용하여 두 공간 객체 O1, O2의 MBR들이 교차되는 모든 레코드 식별자를 찾는다. 이들 식별자들이 지시하는 두개의 DR-트리를 주 메모리로 읽어 들인 후 루트 노드부터 각 노드를 검사한다. 만일 조사되는 두 노드가 교차되지 않으면(S401) 이 알고리즘을 벗어난다. 조사되는 두 노드가 둘 다 리프 노드인 경우에는(S402), 먼저 그 노드들에 저장된 DMBR들이 서로 겹쳐지는 교차 영역 내에 있지 않은 선분들을 제거한다(S403). 그러고 난 후 플레인-스윕 기법을 적용한다(S404). 만일 플레인-스윕 수행 도중 교차가 발견된다면(S405) 이 Oid들을 반환한다(S406). 그러나 한 노드가 리프 노드이고 다른 한 노드가 리프 노드가 아닌 경우에는(S407, S409), 리프 노드가 아닌 노드에 대한 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출한다(S408, S410). 두 노드 모두 리프 노드가 아닌 경우에는(S409), 두 노드에 대한 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출한다(S411).
상기와 같이 동작하는 본 발명에 따른 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 시스템을 제공하여 한 객체의 MBR을 주어진 제한 조건을 만족할 때 까지 두개의 부 객체로 반복적으로 분할하는 것을 통해 구성요소들의 개수가 주어진 제한 조건에 의해 조절될 수 있어 구성요소들의 개수와 복잡성 사이에서 최적 절충값을 사용자가 선택할 수 있도록 허용된다.
또한, 본 발명의 효율적 활용을 위해 기존의 공간 색인 구조를 확장함에 따라 질의 조건을 만족하지 않는 후보 객체들을 재빨리 제거할 수 있으므로 질의 처리의 효율성이 향상될 수 있다.

Claims (9)

  1. 비정형적인 형태의 공간 객체를 근사하는 최소 경계 사각형(minimum bounding rectangle: MBR)으로 복잡한 공간 객체를 다루는 응용분야의 데이터 베이스의 관리 방법에 있어서,
    공간 객체를 둘러싼 MBR 영역의 반을 분할하여 두개의 부 객체를 산출하는 제 1 과정과;
    상기 제 1 과정을 통해 산출되어진 각각의 부 객체에 대해 분할된 최소 경계 사각형(Decomposed MBR: DMBR)을 생성하는 제 2 과정과;
    상기 DMBR들이 AOD(Accuracy Of the Decomposition)에 의해 표현되는 제한 조건을 만족할 때 까지 각 좌표축을 번갈아가면서 반복적으로 쉬프팅시키는 제 3 과정; 및
    DMBR의 크기가 어떤 한계치를 넘어가면 다시 분할되는 제 4 과정을 포함하는 것을 특징으로 하는 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법.
  2. 제 1항에 있어서,
    상기 제 1 과정에서 공간 객체를 분할할 때 객체 절단선이 선택되는데, 교차점이 객체의 외각 지점에서 발견될 때 이들을 무시함으로써 간단히 해결할 수 있는 제 1 단계와;
    여러 개의 부 객체들이 산출될 때 절단선들 중에서 가장 작은 y(또는 x) 좌표값을 가지고 있는 것을 선택하여 이를 객체 절단선으로 선택하는 제 2 단계와;
    상기 제 3 과정에서 제한조건은 매개변수 g에 의해 관리되는 과정, 즉 AOD(g)는 MBR 영역의 2-g 보다 더 큰 DMBR들은 다시 분할되는 제 3 단계로 이루어지며, 분할된 구성요소들의 수와 근사의 정확도 사이에는 하나의 절충된 값이 존재하는데, 실제 실험을 수행시킨 결과 매개변수 g가 3일 때 성능이 최대화 되는 것을 특징으로 하는 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법.
  3. 공간 객체를 둘러싼 MBR 영역의 반을 분할하여 두개의 부 객체를 산출하고, 각각의 부 객체에 대한 DMBR들이 AOD에 의해 표현되는 제한 조건을 만족할 때 까지 각 좌표축을 번갈아가면서 반복적으로 쉬프팅되며, DMBR의 크기가 어떤 한계치를 넘어가면 다시 분할되는 과정을 포함하는 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법에 있어서,
    각 분할 단계마다 생성되는 결과들을 DR-트리(Decomposed Rectangle Tree) 속으로 저장하는 과정과;
    DR-트리는 중간 노드와 리프 노드로 구성되어 있으며, 중간 노드에는 부 객체의 DMBR이 저장되며, 리프 노드에는 구성요소의 식별자와 DMBR을 포함하며, 리프 노드의 객체 식별자는 관련된 구성요소를 지시하는 과정과;
    DR-트리를 구축하기 위해 'Divide and Conquer' 기법을 사용하고, 입력으로써 하나의 객체를 표현하는 배열 p 및 객체를 분할할 때 수직 또는 수평 분할선이 교대로 변경되도록 하는 불리안 변수 d를 받아 들인 후, 결과로써 하나의 DR-트리가 생성되는 것을 특징으로 하는 DR-트리 구축 방법.
  4. 제 3항에 있어서,
    원형의 객체들을 효율적으로 관리할 수 있는 기존의 색인 구조에 분할된 구성요소들을 구조화할 수 있는 색인 구조를 결합시키는 과정과;
    두 부분으로 구성되는 색인 구조의 첫번째 부분은 원형의 객체들을 저장하기 위한 색인 구조로서 R*-트리를 수정 없이 사용하고, 두 번째 부분은 분할된 구성요소들을 저장하기 위해 DR-트리를 사용하는 과정과;
    상기 색인 구조에 새로운 공간 객체를 삽입할 때 2단계(분할 알고리즘 적용과 R*-트리 삽입 알고리즘 적용)로 처리되는 이단계 색인 구조를 갖는 것을 특징으로 하는 DR-트리 구축 방법.
  5. 원형의 객체들을 효율적으로 관리할 수 있는 기존의 색인 구조에 분할된 구성요소들을 구조화할 수 있는 색인 구조를 결합한 이단계 색인 구조의 첫번째 부분은 원형의 객체들을 저장하기 위한 색인 구조로서 R*-트리를 수정 없이 사용하고, 두 번째 부분은 분할된 구성요소들을 저장하기 위해 DR-트리를 사용하는 색인구조에 있어서,
    공간 질의 처리는 점 질의, 영역 질의, 그리고 공간 조인 질의로 구분되며,
    점 질의 처리과정은 정제 단계를 수행하기 전에 DR-트리의 DMBR들을 사용하여 많은 잘못된 히트들을 재빨리 제거하고, DMBR들에 의해 여과된 간단한 구성요소들에 대해서만 정제 단계를 수행하는 과정과;
    R*-트리의 탐색 알고리즘을 사용하여 질의 점을 포함하는 모든 레코드 식별자를 찾고, 이들 식별자가 지시하는 DR-트리를 주 메모리로 읽어 들인 후 루트 노드부터 각 노드를 검사하는 과정과;
    조사되는 노드가 리프 노드가 아니면, 그 노드에 저장되어 있는 사각형 좌표가 질의 점을 포함하는지 검사하고, 포함한다면 왼쪽 및 오른쪽 자식 노드들에 대해 알고리즘을 재귀적으로 호출하는 과정과;
    조사되는 노드가 리프 노드면, 그 노드에 저장되어 있는 DMBR 좌표가 질의 점을 포함하는지 검사하고, 만일 포함한다면 점 포함 객체 검사 과정을 거치고, 그렇지 않으면 이 알고리즘을 벗어나는 과정을 포함하는 것을 특징으로 하는 질의 처리 알고리즘.
  6. 제 5 항에 있어서,
    영역 질의 처리과정은 여과된 객체들에 대해 정제 단계를 바로 적용하기 전에 관련된 DR-트리가 주 메모리로 전송된 후, DMBR들이 질의 윈도우에 교차되는지 검사하는 과정과;
    정제 단계가 기하학적 계산 알고리즘에 의해 객체의 경계선을 따라 교차가 검출될 때까지 순차적으로 스캔되며, 마지막 선분까지 교차가 검출되지 못하면 이 객체는 질의 윈도우와 교차되지 않는 것으로 간주하는 과정과;
    객체의 경계선을 스캔하면서 실제로 교차 검사가 필요한지 먼저 결정하는 과정과;
    선분의 양 끝점이 윈도우의 위쪽, 아래쪽, 왼쪽, 오른쪽 영역에 놓여 있는지 조사하는 영역 검사 과정과;
    선분에서 윈도우 외부에 있는 한 끝점을 선택하고, 만일 이 끝점이 윈도우의 왼쪽 영역에 놓여져 있다면 이 선분이 윈도우의 왼쪽 경계와 교차하는지를 검사하는 과정을 포함하는 것을 특징으로 하는 질의 처리 알고리즘.
  7. 제 6항에 있어서,
    R*-트리의 탐색 알고리즘을 사용하여 질의 윈도우와 교차되는 MBR을 가지고 있는 모든 레코드 식별자를 찾고, 이들 식별자가 지시하는 DR-트리를 주 메모리로 읽어 들인 후 루트 노드부터 각 노드를 검사하는 과정과;
    조사되는 노드가 리프 노드가 아니면, 그 노드에 저장되어 있는 사각형 좌표가 윈도우에 의해 포함되는지 검사하여, 포함된다면 Oid를 반환하고, 그렇지 않으면 그 노드가 윈도우에 겹치는지 검사하는 과정과;
    노드가 윈도우에 겹친다면, 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출하는 과정과;
    조사되는 노드가 리프 노드면, 그 노드에 저장되어 있는 DMBR 좌표가 윈도우에 의해 포함되는지 검사하여, 포함된다면 Oid를 반환하고, 그렇지 않으면 그 노드가 윈도우에 겹치는지 검사하는 과정과;
    노드가 윈도우에 겹친다면 구성요소의 각각의 선분에 대해 그 선분이 윈도우 내에 존재하는지 검사하여, 만일 존재한다면 Oid를 반환하고, 그렇지 않으면 영역 검사를 적용하는 과정과;
    만일 영역 검사에 의해 간단히 결정되지 않는다면 교차 검사를 적용하는데, 하나의 교차가 검출된다면 Oid를 반환하고, 그렇지 않으면 다음 선분을 취하는 과정을 포함하는 것을 특징으로 하는 질의 처리 알고리즘.
  8. 제 5항에 있어서,
    공간 조인 처리과정은 정제 단계의 효율성 향상을 위해 한단계 더 연속되는 여과 단계를 수행하여 비싼 정제 단계의 성능을 향상 시키기 위해 DMBR들에 의해 질의를 만족하지 못하는 객체들을 가능한 많이 제거한 후에 교차되는 구성요소들에 대해 정제 단계를 수행하는 과정과;
    플레인-스윕(plane-sweep) 기법에 의해 수행되는 정제 단계에서 두 DMBR들이 서로 겹쳐지는 교차 영역 내에 있는 선분들만 한정하여 검사를 수행하는 과정을 포함하는 것을 특징으로 하는 질의 처리 알고리즘.
  9. 제 8항에 있어서,
    R-트리 조인 알고리즘을 사용하여 두 공간 객체의 MBR들이 교차되는 모든 레코드 식별자를 찾고, 이들 식별자들이 지시하는 두개의 DR-트리를 주 메모리로 읽어 들인 후 루트 노드부터 각 노드를 검사하는 과정과;
    조사되는 두 노드가 둘 다 리프 노드인 경우에는, 먼저 그 노드들에 저장된 DMBR들이 서로 겹쳐지는 교차 영역 내에 있지 않은 선분들을 제거하고, 플레인-스윕 기법을 적용하여 교차가 발견된다면 이 Oid들을 반환하는 과정과;
    한 노드가 리프 노드이고 다른 한 노드가 리프 노드가 아닌 경우에는, 리프 노드가 아닌 노드에 대한 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출하는 과정과;
    두 노드 모두 리프 노드가 아닌 경우에는, 두 노드에 대한 왼쪽 및 오른쪽 자식 노드들에 대해 이 알고리즘을 재귀적으로 호출하는 과정을 포함하는 것을 특징으로 하는 공간 조인 질의 처리 알고리즘.
KR1019980026356A 1998-07-01 1998-07-01 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법 KR100282640B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980026356A KR100282640B1 (ko) 1998-07-01 1998-07-01 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980026356A KR100282640B1 (ko) 1998-07-01 1998-07-01 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법

Publications (2)

Publication Number Publication Date
KR20000007169A true KR20000007169A (ko) 2000-02-07
KR100282640B1 KR100282640B1 (ko) 2001-02-15

Family

ID=19542660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980026356A KR100282640B1 (ko) 1998-07-01 1998-07-01 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법

Country Status (1)

Country Link
KR (1) KR100282640B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020069781A (ko) * 2001-02-28 2002-09-05 주식회사 트윈클리틀스타 지리정보시스템의 지리정보 다중 캐쉬방법
KR100429792B1 (ko) * 2000-11-15 2004-05-03 삼성전자주식회사 특징 벡터 공간의 인덱싱 방법 및 검색 방법
KR100472949B1 (ko) * 2001-10-18 2005-03-08 한국전자통신연구원 시계열 데이터베이스에서 서브시퀀스 매칭의 인덱스검색방법
CN106815319A (zh) * 2016-12-26 2017-06-09 北京爱接力科技发展有限公司 一种目标对象的确定方法及装置
CN113312436A (zh) * 2020-07-27 2021-08-27 阿里巴巴集团控股有限公司 空间索引的处理方法及装置
CN116361516A (zh) * 2023-06-02 2023-06-30 交通运输部天津水运工程科学研究所 一种基于多级矩形分块查询目标点所属单元的搜索方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429792B1 (ko) * 2000-11-15 2004-05-03 삼성전자주식회사 특징 벡터 공간의 인덱싱 방법 및 검색 방법
KR20020069781A (ko) * 2001-02-28 2002-09-05 주식회사 트윈클리틀스타 지리정보시스템의 지리정보 다중 캐쉬방법
KR100472949B1 (ko) * 2001-10-18 2005-03-08 한국전자통신연구원 시계열 데이터베이스에서 서브시퀀스 매칭의 인덱스검색방법
CN106815319A (zh) * 2016-12-26 2017-06-09 北京爱接力科技发展有限公司 一种目标对象的确定方法及装置
CN106815319B (zh) * 2016-12-26 2019-12-31 北京爱接力科技发展有限公司 一种目标对象的确定方法及装置
CN113312436A (zh) * 2020-07-27 2021-08-27 阿里巴巴集团控股有限公司 空间索引的处理方法及装置
CN113312436B (zh) * 2020-07-27 2024-04-19 阿里巴巴集团控股有限公司 空间索引的处理方法及装置
CN116361516A (zh) * 2023-06-02 2023-06-30 交通运输部天津水运工程科学研究所 一种基于多级矩形分块查询目标点所属单元的搜索方法
CN116361516B (zh) * 2023-06-02 2023-08-29 交通运输部天津水运工程科学研究所 一种基于多级矩形分块查询目标点所属单元的搜索方法

Also Published As

Publication number Publication date
KR100282640B1 (ko) 2001-02-15

Similar Documents

Publication Publication Date Title
Henrich A Distance Scan Algorithm for Spatial Access Structures.
Jagadish Spatial search with polyhedra
Samet The quadtree and related hierarchical data structures
US6161105A (en) Method and apparatus for multidimensional database using binary hyperspatial code
US6625611B1 (en) Method and apparatus for representing multidimensional data
US20170293662A1 (en) Querying spatial data in column stores using grid-order scans
Matsuyama et al. A file organization for geographic information systems based on spatial proximity
US20050203932A1 (en) Pruning of spatial queries on geodetic data when query window has holes
JP2004164596A (ja) 2分木を巡回する方法およびシステム
Aluru Quadtrees and octrees
Samet Multidimensional spatial data structures
Samet et al. Recent developments in linear quadtree-based geographic information systems
Chanzy et al. Analysis of range search for random kd trees
KR100282640B1 (ko) 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법
Theodoridis et al. Supporting direction relations in spatial database systems
Overmars Geometric data structures for computer graphics: an overview
Chan Buffer queries
Lin et al. An efficient method for the retrieval of objects by topological relations in spatial database systems
Sitzmann et al. O-trees: a constraint-based index structure
Samet Multidimensional data structures for spatial applications
Finke et al. A spatial data model and a topological sweep algorithm for map overlay
Lee et al. Controlled decomposition strategy for complex spatial objects
Kraak et al. Advances In GIS Research II: Proceedings of the Sixth International Symposium on Spatial Data Handling
Lee et al. Spatial query processing using object decomposition method
Blankenagel et al. Internal and external algorithms for the points-in-regions problem—the inside join of geo-relational algebra

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030930

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee