KR100924370B1 - 셀 상태 값을 이용한 연속 스카이라인 질의 방법, 그시스템 및 이를 기록한 기록매체 - Google Patents
셀 상태 값을 이용한 연속 스카이라인 질의 방법, 그시스템 및 이를 기록한 기록매체 Download PDFInfo
- Publication number
- KR100924370B1 KR100924370B1 KR20080026332A KR20080026332A KR100924370B1 KR 100924370 B1 KR100924370 B1 KR 100924370B1 KR 20080026332 A KR20080026332 A KR 20080026332A KR 20080026332 A KR20080026332 A KR 20080026332A KR 100924370 B1 KR100924370 B1 KR 100924370B1
- Authority
- KR
- South Korea
- Prior art keywords
- cell
- skyline
- tuple
- state value
- added
- Prior art date
Links
Images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
Abstract
본 발명은 셀 상태 값을 이용한 연속 스카이라인 질의 방법에 관한 것이다.
본 발명에 따른 셀 상태 값을 이용한 연속 스카이라인 질의 방법은, 다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형 단위 셀들의 다차원 배열로 구성하고, 상기 단위 셀들 각각(각 단위 셀)에 포함된 튜플 중에서 상기 각 단위 셀 각각의 지역 스카이라인을 선정하는 단계; 상기 각 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정하는 단계; 상기 선정된 전역 스카이라인에 의해 지배되는 영역(DR), 상기 DR의 지배 띠, 상기 전역 스카이라인을 지배하는 반 지배 영역(ADR) 및 상기 ADR의 반 지배 띠를 구성하여 상기 각 단위 셀의 셀 상태값을 설정하는 단계; 및 상기 셀 상태값이 설정된 각 단위 셀 중 어느 셀에 새로운 튜플이 추가 또는 삭제되면, 상기 어느 셀의 셀 상태값 및 상기 선정된 지역 스카이라인에 따라 상기 선정된 전역 스카이라인을 갱신하는 단계를 포함한다.
본 발명에 의하면, 튜플들의 속성이 빈번하게 바뀌는 환경에서도 스카이라인 결과값을 항상 최신의 값으로 유지할 수 있고, 셀 방문에 있어서의 중복 방문횟수를 줄임으로써 시스템의 성능을 향상시킬 수 있으며, 셀 방문에 따른 유지 비용을 감소시킬 수 있는 효과가 있다.
Description
본 발명은 데이터베이스 시스템에서의 질의 처리에 관한 것으로서, 특히 튜플들의 속성이 빈번하게 바뀌는 동적인 환경에서도 스카이라인 결과값을 항상 최신의 값으로 갱신할 수 있고, 스카이라인 결과값 추출에 대한 연산량을 줄임으로써 데이터베이스 처리에 있어 연산 비용을 감소시킬 수 있는 셀 상태 값을 이용한 연속 스카이라인 질의 방법, 그 시스템 및 이를 기록한 기록매체에 관한 것이다.
스카이라인 질의(Skyline Query)는 다중 속성을 가지는 튜플(Tuple)들의 집합에서 다른 어떤 튜플들 에게도 지배(Domination)되지 않는 튜플을 찾는 문제이다.
스카이라인에서 지배의 의미는 중요한데 지배의 정의는 하기와 같다. 튜플 과 가 있고, 과 의 모든 속성을 각각 비교하였을 때, 의 모든 속성들이 의 모든 속성들보다 작거나 같고, 이 보다 최소한 한 속성이 반드시 작다면 이 를 지배한다고 할 수 있다.
이는 다른 분야에서, 응용값에 따라 큰 것이 작은 값을 지배한다고 할 수도 있으나, 스카이라인 질의에서는 작은 값이 큰 값을 지배한다고 정의한다. 이는 하기의 내용으로 더욱 명확하게 이해할 수 있다.
도 1은 스카이라인 질의에 적용되는 속성값 비교 그래프를 도시한 것이다.
전술한 스카이라인 질의를 설명하기 위하여 상기의 도 1과 같이 호텔의 두 가지 속성인 '투숙비'와 '해변으로부터의 거리'를 좌표값으로 하여 2차원 좌표평면 위의 점인 로 표현하기로 한다.
이와 같은 특징을 가지는 스카이라인은 다중 속성을 고려한 의미로써, 데이터 베이스 분야에서 집중적으로 연구되어 왔다.
그러나, 기존 스카이라인 연구들은 최근 발전하는 모바일(Mobile) 및 스트림 데이터(Stream data)와 같이 데이터가 실시간으로 변하는 동적인 환경에는 적합하지 않다.
기존 정적 환경에서는 한 묶음의 정적 데이터에 대한 한번의 질의 처리를 요구하는데 반하여 동적인 환경은 데이터에 대한 계속적인 질의처리를 요구한다.
따라서, 정적 데이터에 대한 질의만을 고려했던 기존 연구들은 데이터가 실시간으로 변하는 동적인 환경에서는 적합하지 않다.
이와 같은 문제를 해결하기 위하여, Tao et al.은 스트림 환경에서의 연속적인 스카이라인 질의처리 기법을 제안하였다.
그러나, R(Rectangular)- Tree를 기반으로 한 색인을 사용하기 때문에 빈번한 데이터 추가, 삭제 및 데이터 값 변경시의 색인 갱신에 대한 가비용 문제가 발생한다.
또한, 매번 튜플 추가시, 해당 튜플의 스카이라인 여부를 판단하기 위하여 범위 질의(Range Query) 수행으로 인한 과비용 문제가 유발된다.
Li Tian et al.은 상기의 문제를 해결하기 위하여 격자 셀을 색인으로 하는 연속적인 스카이라인 질의 처리(Continuous Monitoring Skyline Query:CMSQ)를 제안하였다.
여기서, 연속적인 스카이라인 질의 처리는 영향 영역(Influence Region)에 삽입된 튜플에 한해서만 추가적인 연산을 수행함으로써 연산 비용을 감소시켰다.
그리고, 어떤 튜플의 스카이라인 여부를 알기 위하여 시스템이 유지하는 모든 스카이라인과 순차적으로 비교하므로, 큰 비용이 발생하게 된다.
더군다나, 차원이 높아짐에 따라 스카이라인의 수는 더욱 증가하기 때문에 차원 증가에 따라 더 큰 비용이 요구된다.
한편, 셀 방문시의 큐(Queue)에 현재 방문 셀의 인접 셀들을 넣어 하나씩 꺼내면서 방문하는데, 이때 고차원에서 큐의 크기가 너무 증가한다.
또한, 인접 셀 방문 알고리즘이 가지는 특성 때문에 중복 방문 문제가 발생하므로 중복 방문을 회피하기 위한 추가 비용이 더 요구된다.
이와 같이, 현재까지의 스카이라인 연구는 크게 정적 데이터를 기반으로 한 정적 스카이라인 질의처리와 지속적으로 변하는 데이터를 기반으로 하는 연속적인 스카이라인 질의처리로 구분할 수 있다.
대표적인 정적인 스카이라인 질의 처리 기법은 Block-Nested-Loops(BNL), Divide and Conquer(DC), 최근접(Nearest Neighbor) 질의 기반의 스카이라인, 및 Branch and Bound Search(BBS)가 있다.
또한, 연속적인 스카이라인 질의처리 기법은 전술한 Tao et al.의 스트림 환경에서 슬라이딩 윈도우를 사용한 스카이라인 질의와 Li Tian et al.의 격자 색인을 이용한 기법이 있다.
우선, Block-Nested-Loops(BNL), Divide and Conquer(DC)는 Borzsonyi et al.에 의해 최초로 제안되었으며, 이것이 최초의 스카이라인 연구이다.
그 중 BNL은 가장 원시적인(naive) 알고리즘으로써 우선 첫 번째 튜플을 스카이라인 후보 리스트에 넣고, 이 리스트의 튜플들과 나머지 튜플들을 순차적으로 비교한다.
비교 과정에서 후보 리스트에 있는 스카이라인은 후보 리스트에서 제거된다. 이는 가장 직관적이고 적용할 수 있는 응용이 많은 반면 후보 리스트를 메로리에 유지하는 비용이 매우 크다.
최근접(Nearest Neighbor:NN) 기반의 스카이라인 질의는 Kossman et al.에 의해 연구되었다. 기존 기법이 전체 데이터에 대한 스카이라인을 완전히 구하고, 그 결과를 출력하는데 반하여, 최근접 기반의 스카이라인 질의는 우선적으로 구한 스카이라인부터 바로 출력한다.
이와 같은 특성 때문에 Kossman et al.은 자신의 알고리즘을 온라인 알고리즘이라고 정의한다.
Kossman의 연구는 이전 기법들에 비해 좋은 성능을 보여주지만, 차원이 높아짐에 따라 검색해야 할 영역의 중복이 발생하는 문제가 있다.
이러한 문제를 해결하기 위하여 Dimistris et al.은 브렌치/바운드 스카이라 인(Branch and Bound Skyline:BBS) 기법을 제안하였다.
BBS는 R-Tree와 최소 경계 사각형으로 유지되는 데이터 튜플들을 원점으로부터 가까운 순서대로 방문하여 최근접 튜플들을 탐색한다.
여기서, 탐색한 튜플은 스카이라인 리스트에 추가하며, 이후 R-Tree의 노드들을 방문할 때, 스카이라인 리스트트에 있는 튜플들과 비교하여 지배되는 노드들은 방문하지 않는 가지치기 기법을 사용함으로써 I/O 비용을 매우 감소 시킨다.
상기의 기법들은 모두 정적인 데이터를 바탕으로 하나의 질의에 대한 한번의 결과 데이터의 출력만을 고려하였다.
그러나, 최근 데이터베이스 분야에서 초점을 맞추고 있는 데이터가 지속적으로 변하는 동적인 환경에서는 결과를 얻기 위하여 매번 새로운 질의 처리를 해야 하기 때문에 현재 지속적으로 변하는 데이터에 최적화된 질의 처리 기법이 필요하게 된다.
이에 대하여 Tao et al.은 슬라이딩 윈도우와 R-Tree를 기반으로 스트림 데이터 환경에서의 연속적인 스카이라인 질의를 제안하였으나, 이는 R-Tree를 색인 구조로 사용하였기 때문에 빈번한 데이터 추가, 삭제 및 데이터 값 변경 등으로 색인 갱신에 대한 과비용 문제를 발생시킨다.
또한, 매번 튜플의 추가시에 해당 튜플의 스카이라인 여부를 확인하기 위하여 범위 질의 수행에 따른 과비용 문제를 가지고 있다.
이의 문제를 해결하기 위하여 Li Tian은 격자 색인을 이용한 연속적인 질의 처리를 제안하였으나, 이 역시 영향 영역을 연결 리스트로 운영함으로써 발생하는 검색 비용의 문제, 원시적인 스카이라인 확인 알고리즘의 비용 문제, 큐를 사용한 셀 방문 알고리즘으로 인한 큐의 비대화 및 중복 회피 비용 문제등이 있다.
이와 같이, 종래의 동적인 스카이라인 질의는 R-Tree를 색인으로 사용시 동적인 환경에서 색인 갱신에 대한 과비용 문제가 발생하며, 매번 지배된 영역을 구분하기 위하여 원시적인 알고리즘을 사용하기 때문에 연속적인 질의처리시 질의가 발생할 때마다 상당한 비용이 소모되는 문제점이 있고, 격자 색인을 이용한 연속적인 질의 처리는 원시적인 스카이라인 확인 알고리즘의 과비용 문제 및 큐를 이용한 셀 방문에 따른 큐의 비대화가 야기되는 문제점이 있다.
따라서, 본 발명이 해결하고자 하는 첫 번째 과제는 튜플들의 속성이 빈번하게 바뀌는 동적인 환경에서도 스카이라인 결과값을 항상 최신의 값으로 갱신할 수 있고, 스카이라인 결과값 추출에 대한 연산량을 줄임으로써 데이터베이스 처리에 있어 연산 비용을 감소시킬 수 있는 셀 상태 값을 이용한 연속 스카이라인 질의 방법을 제공하는 것이다.
그리고, 본 발명이 해결하고자 하는 두 번째 과제는 상기 셀 상태 값을 이용한 연속 스카일라인 질의 방법을 적용한 셀 상태 값을 이용한 연속 스카이라인 질의 시스템을 제공하는 것이다.
그리고, 본 발명이 해결하고자 하는 세 번째 과제는 상기 셀 상태 값을 이용한 연속 스카이라인 질의 방법을 컴퓨터에서 수행할 수 있도록 프로그램으로 기록된 기록매체를 제공하는 것이다.
상기 첫 번째 과제를 해결하기 위하여 본 발명은,
다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형 단위 셀들의 다차원 배열로 구성하고, 상기 단위 셀들 각각(각 단위 셀)에 포함된 튜플 중에서 상기 각 단위 셀 각각의 지역 스카이라인을 선정하는 단계; 상기 각 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정하는 단계; 상기 선정된 전역 스카이라인에 의해 지배되는 영역(DR), 상기 DR의 지배 띠, 상기 전역 스카이라인을 지배하는 반 지배 영역(ADR) 및 상기 ADR의 반 지배 띠를 구성하여 상기 각 단위 셀의 셀 상태값을 설정하는 단계; 및 상기 셀 상태값이 설정된 각 단위 셀 중 어느 셀에 새로운 튜플이 추가 또는 삭제되면, 상기 어느 셀의 셀 상태값 및 상기 선정된 지역 스카이라인에 따라 상기 선정된 전역 스카이라인을 갱신하는 단계를 포함하는 셀 상태 값을 이용한 연속 스카이라인 질의 방법을 제공한다.
다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형 단위 셀들의 다차원 배열로 구성하고, 상기 단위 셀들 각각(각 단위 셀)에 포함된 튜플 중에서 상기 각 단위 셀 각각의 지역 스카이라인을 선정하는 단계; 상기 각 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정하는 단계; 상기 선정된 전역 스카이라인에 의해 지배되는 영역(DR), 상기 DR의 지배 띠, 상기 전역 스카이라인을 지배하는 반 지배 영역(ADR) 및 상기 ADR의 반 지배 띠를 구성하여 상기 각 단위 셀의 셀 상태값을 설정하는 단계; 및 상기 셀 상태값이 설정된 각 단위 셀 중 어느 셀에 새로운 튜플이 추가 또는 삭제되면, 상기 어느 셀의 셀 상태값 및 상기 선정된 지역 스카이라인에 따라 상기 선정된 전역 스카이라인을 갱신하는 단계를 포함하는 셀 상태 값을 이용한 연속 스카이라인 질의 방법을 제공한다.
삭제
삭제
그리고, 상기 지역 스카이라인을 선정하는 단계는 상기 단위 셀 내에 포함되는 튜플 들의 다중 속성값을 비교하는 단계; 및 상기 단위 셀 내에 포함되는 튜플들 중에서 하나 이상의 가장 작은 속성값을 가지는 튜플을 지역 스카이라인으로 선정하는 단계를 포함할 수 있다.
아울러, 상기 전역 스카이라인을 선정하는 단계는 상기 선정된 지역 스카이라인의 다중 속성값을 비교하는 단계; 및 상기 지역 스카이라인 중에서 적어도 하나 이상의 가장 작은 속성값을 가지는 튜플을 전역 스카이라인으로 선정하는 단계를 포함하는 것을 특징으로 한다.
그리고, 상기 지배 영역은 상기 추출된 전역 스카이라인의 속성값 보다 큰 속성값을 가지는 셀들로 이루어진 영역이고, 상기 지배 띠는 상기 추출된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 지배 영역을 감싸는 셀들로 이루어진 영역이고, 상기 반 지배 영역은 상기 추출된 전역 스카이라인의 속성값 보다 작은 속성값을 가지는 셀들로 이루어진 영역이고, 상기 반 지배 띠는 상기 추출된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 반 지배 영역을 감싸는 셀들로 이루어진 영역인 것을 특징으로 한다.
한편, 상기 각 셀에 대한 셀 상태값을 설정하는 단계는 상기 단위 셀이 상기 전역 스카이라인의 튜플을 가지고 있으면 로 설정하고, 상기 단위 셀이 상기 지배 영역에 해당하면 로 설정하며, 상기 단위 셀이 상기 및 의 어느 상태에도 속하지 않으면 로 설정하는 단계인 것을 특징으로 한다.
그리고, 상기 전역 스카이라인을 갱신하는 단계는 상기 데이터 도메인에 새로운 튜플이 추가될 경우, 상기 추가되는 튜플이 포함되는 셀의 상태값이 이면 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인의 정보만 갱신하는 단계; 상기 추가되는 튜플이 포함되는 셀의 상태값이 또는 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 각 축의 값보다 모든 축의 값의 작은 튜플이 존재하는 경우, 상기 추가되는 튜플이 포함되는 셀의 지 역 스카이라인 정보만 갱신하는 단계; 및 상기 추가되는 튜플이 포함되는 셀의 상태값이 또는 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 각 축의 값보다 모든 축의 값의 작은 튜플이 존재하지 않는 경우, 상기 추가되는 튜플을 스카이라인 정보로 갱신하고, 상기 추가되는 튜플이 존재하는 셀을 스카이라인 셀로 설정하는 단계를 포함할 수 있다.
아울러, 상기 전역 스카이라인을 갱신하는 단계는 상기 데이터 도메인에 특정 튜플이 삭제될 경우, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이면 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보만 갱신하는 단계; 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하는 경우, 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보를 갱신하고, 상기 지역 스카이라인의 갱신된 정보에 따라 상기 셀의 반 지배 띠 및 지배 띠를 방문하여 상기 삭제되는 튜플이 포함되는 셀이 전역 스카이라인 셀인지 결정하는 단계; 및 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하지 않는 경우, 상기 삭제되는 튜플 만의 지배 영역 및 지배 띠를 방문하여 새로운 스카이라인을 탐색하고, 상기 탐색된 스카이라인을 기준으로 상기 삭제되는 튜플이 포함되는 셀의 셀 상태값을 재설정하는 단계를 포함할 수 있다.
한편, 상기 단위 셀 은 상기 지역 스카이라인을 저장하는 지역 스카이라인 리스트 및 상기 지역 스카이라인을 제외한 나머지 튜플을 저장하는 셀 튜플 리스트 을 저장하는 것을 특징으로 한다.
아울러, 상기 전역 스카이라인을 갱신하는 단계는 상기 다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인의 전역 스카이라인의 튜플을 사용자에 의해 설정된 주기마다 출력하는 단계를 더 포함하는 것을 특징으로 한다.
상기 두 번째 과제를 해결하기 위하여 본 발명은,
다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형 단위 셀들의 다차원 배열로 구성하고, 상기 단위 셀들 각각(각 단위 셀)에 포함된 튜플 중에서 상기 각 단위 셀 각각의 지역 스카이라인을 선정하는 지역 스카이라인 선정부; 상기 각 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정하는 전역 스카이라인 선정부; 상기 선정된 전역 스카이라인에 의해 지배되는 영역(DR), 상기 DR의 지배 띠, 상기 전역 스카이라인을 지배하는 반 지배 영역(ADR) 및 상기 ADR의 반 지배 띠를 구성하여 상기 각 단위 셀의 셀 상태값을 설정하는 셀 상태값 설정부; 및 상기 셀 상태값이 설정된 각 단위 셀 중 어느 셀에 새로운 튜플이 추가 또는 삭제되면, 상기 어느 셀의 셀 상태값 및 상기 선정된 지역 스카이라인에 따라 상기 선정된 전역 스카이라인을 갱신하는 스카이라인 갱신부를 포함한다.
다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형 단위 셀들의 다차원 배열로 구성하고, 상기 단위 셀들 각각(각 단위 셀)에 포함된 튜플 중에서 상기 각 단위 셀 각각의 지역 스카이라인을 선정하는 지역 스카이라인 선정부; 상기 각 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정하는 전역 스카이라인 선정부; 상기 선정된 전역 스카이라인에 의해 지배되는 영역(DR), 상기 DR의 지배 띠, 상기 전역 스카이라인을 지배하는 반 지배 영역(ADR) 및 상기 ADR의 반 지배 띠를 구성하여 상기 각 단위 셀의 셀 상태값을 설정하는 셀 상태값 설정부; 및 상기 셀 상태값이 설정된 각 단위 셀 중 어느 셀에 새로운 튜플이 추가 또는 삭제되면, 상기 어느 셀의 셀 상태값 및 상기 선정된 지역 스카이라인에 따라 상기 선정된 전역 스카이라인을 갱신하는 스카이라인 갱신부를 포함한다.
삭제
삭제
그리고, 상기 지역 스카이라인 선정부는 상기 단위 셀 내에 포함되는 튜플 들의 다중 속성값을 비교하고, 상기 단위 셀 내에 포함되는 튜플들 중에서 하나 이상의 가장 작은 속성값을 가지는 튜플을 지역 스카이라인으로 선정하는 것을 특징으로 한다.
한편, 상기 전역 스카이라인 추출부는 상기 선정된 지역 스카이라인의 다중 속성값을 비교하고, 상기 지역 스카이라인 중에서 적어도 하나 이상의 가장 작은 속성값을 가지는 튜플을 전역 스카이라인으로 선정하는 것을 특징으로 한다.
아울러, 상기 셀 상태값 설정부는 상기 추출된 전역 스카이라인의 속성값 보다 큰 속성값을 가지는 셀들로 이루어진 영역을 지배 영역으로 설정하고, 상기 추출된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 지배 영역을 감싸는 셀들로 이루어진 영역을 지배 띠로 설정하며, 상기 추출된 전역 스카이라인의 속성값 보다 작은 속성값을 가지는 셀들로 이루어진 영역을 반 지배 영역으로 설정하며, 상기 추출된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 반 지배 영역을 감싸는 셀들로 이루어진 영역을 반 지배 띠로 선정하여 셀 상태 값을 설정하는 것을 특징으로 한다.
그리고, 상기 셀 상태값 설정부는 상기 단위 셀이 상기 전역 스카이라인의 튜플을 가지고 있으면 상태로 설정하고, 상기 단위 셀이 상기 지배 영역에 해 당하면 상태로 설정하며, 상기 단위 셀이 상기 및 의 어느 상태에도 속하지 않으면 상태로 설정하는 것을 특징으로 한다.
한편, 상기 스카이라인 갱신부는 상기 데이터 도메인에 새로운 튜플이 추가될 경우, 상기 추가되는 튜플이 포함되는 셀의 상태값이 이면 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인의 정보만 갱신하고, 상기 추가되는 튜플이 포함되는 셀의 상태값이 또는 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 상기 추가되는 튜플의 속성값보다 작은 속성값을 갖는 튜플이 존재하는 경우, 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인 정보만 갱신하며, 상기 추가되는 튜플이 포함되는 셀의 상태값이 또는 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 상기 추가되는 튜플의 속성값보다 작은 속성값을 갖는 튜플이 존재하지 않는 경우, 상기 추가되는 튜플을 전역 스카이라인으로 설정하고, 상기 추가되는 튜플이 존재하는 셀을 전역 스카이라인 셀로 설정하는 것을 특징으로 한다.
그리고, 상기 스카이라인 갱신부는 상기 데이터 도메인에 특정 튜플이 삭제될 경우, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이면 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보만 갱신하고, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하는 경우, 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보를 갱신하고, 상기 지역 스카이라인의 갱신된 정보에 따라 상기 셀의 반 지배 띠 및 지배 띠를 방문하여 삭제되는 튜플이 포함되는 셀이 전역 스카이라인 셀인지 결정하며, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하지 않는 경우, 상기 삭제되는 튜플 만의 지배 영역 및 지배 띠를 방문하여 새로운 스카이라인을 탐색하고, 상기 탐색된 스카이라인을 기준으로 상기 삭제되는 튜플이 포함되는 셀의 셀 상태값을 재설정하는 것을 특징으로 한다.
한편, 상기 단위 셀 은 상기 지역 스카이라인을 저장하는 지역 스카이라인 리스트 및 상기 지역 스카이라인을 제외한 나머지 튜플을 저장하는 셀 튜플 리스트 을 저장하는 것을 특징으로 한다.
상기 세 번째 과제를 해결하기 위하여 본 발명은,
상기 셀 상태 값을 이용한 연속 스카이라인 질의 방법을 컴퓨터에서 수행시킬 수 있는 프로그램으로 기록된 기록매체를 제공한다.
본 발명에 의하면, 튜플들의 속성이 빈번하게 바뀌는 환경에서도 스카이라인 결과값을 항상 최신의 값으로 유지할 수 있고, 셀 방문에 있어서의 중복 방문횟수를 줄임으로써 시스템의 성능을 향상시킬 수 있으며, 셀 방문에 따른 유지 비용을 감소시킬 수 있는 효과가 있다.
본 발명은 격자 셀의 상태값을 활용한 연속적인 스카이라인 질의를 제안한다.
또한, 셀의 상태값을 활용하여 질의처리 시에 방문하여야 하는 셀의 수를 감소시킬 수 있다.
한편, 각 셀이 지역 스카이라인을 별도로 유지하게 하여 셀들 간의 튜플 비교시 지역 스카이라인들끼리만 비교하게 함으로써 비교 연산의 횟수를 줄일 수 있다.
본 발명은, 한정된 데이터 집합이 지속적으로 변화하는 동적인 환경을 가정하고, 각 데이터는 다중 속성을 가진 튜플이고, 고유의 식별자를 가지고 매 단위시간마다 변화된 튜플에 한해 질의에 대한 데이터로 입력된다.
또한, 본 발명에 따른 데이터 베이스는 매 단위 시간마다 입력된 데이터에 한하여 스카이라인을 갱신 처리한 결과를 단위시간별로 출력한다.
또한, 본 발명은 데이터 베이스의 처리 결과를 계속 유지하며, 변화된 데이터에 한해서만 점진적으로 갱신시켜, 최종적으로 최신 결과에 대한 데이터를 유지한다.
본 발명은 튜플들을 색인하고, 셀 영역들의 상태를 유지하기 위하여 격자 셀 색인 구조를 사용한다.
격자 셀들은 차원 배열로 구성되어 있기 때문에 셀 좌표만으로 직접 접근이 가능하다.
각 튜플은 자신의 속성 값을 축의 좌표로 하여 자신이 위치한 셀 좌표를 직접 얻을 수 있다.
상기의 표 1은 본 발명에 적용되는 변수들에 대한 정의를 나타낸 것이다. 이하, 본 발명에 대한 구성은 표 1에 개시된 변수를 기반으로 상술하기로 한다.
전역 스카이라인 외에 각 셀 별로 지역 스카이라인(Local Skyline)을 유지하는데, 지역 스카이라인은 하나의 셀을 범위로 하는 스카이라인으로써 하나의 셀에서 다수의 튜플들을 유지할 때, 셀들 간 유지하는 튜플들의 비교 횟수를 줄이기 위하여 사용된다.
지역 스카이라인에 대한 상세한 내용은 하기에 더욱 상세하게 설명하도록 한다.
본 발명에서는 셀 기반의 지배 영역과 반 지배 영역을 구성하고, 이를 바탕으로 각 셀의 상태 설정에 따라 연속 스카이라인 질의 처리를 수행한다.
그리고, 본 발명은 지역 스카이라인의 유지 방법을 기반으로 셀의 상태와 지역 스카이라인을 활용하여 튜플의 추가 및 삭제시의 질의처리 알고리즘을 구성한다.
도 2는 본 발명에 적용되는 셀 기반의 지역 영역 및 지배 띠를 도시한 것이다.
도 3은 본 발명에 적용되는 셀 기반의 반 지배 영역 및 반 지배 띠를 도시한 것이다.
반지배 영역 은 임의의 튜플이 놓였을 때, 에 놓여진 튜플을 반드시 지배하는 영역이다. 이는 다시 말하면, 가 지배되지 않으면, 에 어떠한 튜플도 없다는 것과 동일하므로, 새 튜플 이 추가되었을 때, 놓여진 셀 가 상태라면, 이 스카이라인 인지의 여부를 확인하기 위하여 의 셀들은 방문하지 않아도 된다.
반 지배띠를 설명하는 도 3을 보면 (320)는 (310)을 감싸고 있는 영역으로, (320)에 놓여진 튜플의 위치에 따라 의 튜플을 지배하기 때문에, 에 튜플이 추가될 때 새 튜플이 스카이라인인지의 여부를 확인하기 위하여 반드시 방문하여야 하는 유일한 영역이 된다.
이는 아래와 같이 증명할 수 있다.
그러나, 가 에 놓여 진다는 것은 최소한 보다 한 속성보다 크게 된다는 것을 의미하므로, 결과적으로 지배하지 않으므로 그 가정은 모순이 되어, 어떤 튜플 이 셀 에 있을 때, 내에 있지 않은 튜플 는 절대 을 지배할 수 없다.
본 발명은 상기 도 2 및 도 3에서 상술한 정의들에 의해 각각의 셀에 대한 상태값을 설정하는데, 이는 하기와 같은 이점이 있다.
는 해당 셀이 전역 스카이라인 튜플을 가지고 있음을 의미한다. 또한 은 전술한 지배 영역과 중첩되는 셀들이 가지는 상태값이 된다. 즉, 해당 셀이 어떤 튜플에 의해 지배되었음을 의미한다.
또한, 회색 셀들은 다른 튜플들에게 지배된 셀(Dominated Cell)로써, 전술한 바와 같이 상태값을 가지며, 각 축 별로 스카이라인 셀들의 셀 좌표보다 하나씩 큰 셀 좌표를 가진 셀들이다.
본 발명은 전역 스카이라인 외에 각 셀 별로 지역 스카이라인(Local Skyline)을 유지(설정)한다. 지역 스카이라인은 하나의 셀이 유지하는 튜플들을 다시 셀 안의 스카이라인으로 구분한 것을 의미한다.
지역 스카이라인은 셀들이 유지하는 튜플들 간에 비교할 때, 오직 지역 스카이라인들 끼리만 비교하게 함으로써 연산 비용을 줄이기 위해 사용한다.
각각의 셀은 지역 스카이라인 유지를 위하여 두개의 연결 리스트(linked List)를 사용한다.
도 5는 지역 스카이라인을 도시하고 있는데, 이는 각 셀들이 유지하는 검은 점들이 각 셀의 지역 스카이라인이며, 흰색 점들은 지역 스카이라인을 제외한 튜플을 나타낸다.
또한, 셀에 튜플이 추가되거나 삭제될 때마다 유지하던 지역 스카이라인은 갱신되어야 할 필요가 있다.
본 발명은 튜플의 추가 삭제에 대하여 지역 스카이라인을 항상 최신으로 유지하기 위하여 BNL(Block-Nested-Loop)을 메모리 기반으로 변경하여 사용한다.
새 튜플 이 어떤 셀 에 추가될 때 지역 스카이라인 리스트 의 원소들을 과 비교하는데, 이때 이 의 어떤 원소에게 지배된다면, 스카이라인이 되지 못하므로 을 에 추가함으로써 알고리즘이 종료된다.
하기에는 상술한 내용을 기반으로 연속 스카이라인의 질의를 설명한다. 본 발명은 데이터 집합이 변화하는 것을 이벤트로 하여 질의 처리를 시도하며, 다음의 세가지 이벤트를 처리한다.
첫 번째는 새 데이터 튜플의 추가이고, 두 번째는 임의의 튜플의 제거이며, 세 번째는 기존 튜플의 값 변경인데, 이 중 세 번째 이벤트인 기존 튜플의 값 변경은 기존 공간질의 기법들과 유사하게 추가와 삭제의 조합으로 처리하게 된다.
따라서, 본 발명에서는 새 튜플의 추가와 삭제만을 다루게 된다.
우선 도 6a에서 보는 바와 같이, 가 놓여지는 튜플 의 상태가 이므로, 새 튜플 가 전역 스카이라인인지를 보장받기 위하여 도 6b에 도시된 바와 같이, 오직 에 포함되는 셀의 튜플들과 비교한다.
그러면, 마지막으로 도 6d에 도시된 바와 같이, 튜플의 추가 과정이 종료된 후의 셀들의 상태를 보여준다.
다만, 는 상태로써 이미 이 설정되어 있으므로, 은 재 방문할 필요는 없다. 따라서, 만 방문하여 변경된 스카이라인에 대해서만 갱신을 수행하도록 한다.
한편 임의의 튜플 에 대한 제거(삭제) 이벤트가 발생하면, 우선적으로 이 놓여진 셀을 구한다.
한편 임의의 튜플 에 대한 제거(삭제) 이벤트가 발생하면, 우선적으로 이 놓여진 셀을 구한다.
삭제
그러나, 만약 이 놓여진 셀 의 상태가 이고, 을 제거하고난 후 와 에 하나 이상의 튜플이 남아 있다면 지역 스카이라인을 갱신하여 지역 스카이라인에 변경 사항이 있는지의 여부를 확인한다.
반면, 이 놓여진 셀 의 상태가 이고, 을 제거하고난 후, 와 이 모두 비어있다면, 를 로 설정하고, 와 영역에서 오직 에게만 지배되어 스카이라인이 되지 못한 튜플, 즉 서브 스카이라인을 찾아야 한다.
도 7a 내지 도 7d는 서브 스카이라인을 탐색하는 과정을 도시한 것이다.
오직 가 지배하던 영역의 셀만을 방문하기 위해서는 가 지배된 상태로 설정하지 않았음에도 의 서브 스카이라인을 찾기 위해 반드시 방문해야 하는 를 활용하여 오직 가 지배하는 영역을 골라낼 수 있다.
각 축별 범위를 구할 때, 축 별 마지막 셀을 취하며, 또한 지배된 셀의 이전 셀을 각 축 별 범위로 가지게 되는 이유는 지배된 셀이 이미 다른 튜플에게 지배되고 있으므로 서브 스카이라인이 존재할 수 없기 때문이다.
도 7c는 구한 각 축 별의 범위를 구한 뒤, 서브 스카이라인을 구하기 위한 셀 방문을 도시하고 있다.
도 7c를 보면 가 놓인 셀 로부터 우선 셀의 좌표를 1씩 증가시켜 의 범위의 한계인 까지 방문한 후, 다시 시작하여 를 1 증가시키고, 값을 초기화함으로써 로부터 까지 방문하게 하는 식의 셀 방문을 각 축 모든 범위 한계에 다다를 때까지 반복한다.
이때, 서브 스카이라인 후보를 발견하면 발견된 후보를 후보 리스트에 넣고, 발견된 후보가 위치한 셀로부터 새 범위를 구할 수 있다.
그러면, 도 7d에서 볼 수 있는 바와 같이, 튜플의 제거를 완료한 후의 새로운 셀 상태값이 완성되게 된다.
도 8은 본 발명에 따른 셀 상태 값을 이용한 연속 스카이라인 질의 방법의 흐름도를 도시한 것이다.
도 8에 관한 설명에 있어서 이미 위에서 언급된 사실과 중복되는 사항에 대해서는 그 설명을 생략한다.
우선, 다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형의 단위 셀들의 다차원 배열로 구성하고, 상기 다차원 배열로 구성된 단위 셀 별로 자신의 셀에 포함된 튜플로부터 각 차원의 축 값의 크기를 비교하여 단위 셀 별 지역 스카이라인을 선정한다(810 과정).
삭제
삭제
지역 스카이라인을 선정하기 위하여, 상기 단위 셀 내에 포함되는 튜플 들의 다중 속성값을 비교하고, 상기 단위 셀 내에 포함되는 튜플들 중에서 하나 이상의 가장 작은 속성값을 가지는 튜플을 지역 스카이라인으로 선정할 수 있다.
그 다음, 상기 선정된 각 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정한다(820 과정).
전역 스카이라인을 선정하기 위하여, 상기 선정된 각 지역 스카이라인의 다중 속성값을 비교하고, 상기 각 지역 스카이라인 중에서 적어도 하나 이상의 가장 작은 속성값을 가지는 튜플을 전역 스카이라인으로 선정할 수 있다.
그 다음, 상기 전역 스카이라인에 따라 전역 스카이라인 각각의 지배 영역, 지배 띠, 반 지배 영역 및 반 지배 띠를 구성하여 각 셀에 대한 셀 상태값을 설정한다(830 과정).
여기서, 상기 지배 영역은 상기 선정된 전역 스카이라인의 속성값 보다 큰 속성값을 가지는 셀들로 이루어진 영역이고, 상기 지배 띠는 상기 추출된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 지배 영역을 감싸는 셀들로 이루어진 영역이고, 상기 반 지배 영역은 상기 선정된 전역 스카이라인의 속성값 보다 작은 속성값을 가지는 셀들로 이루어진 영역이고, 상기 반 지배 띠는 상기 추출된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 반 지배 영역을 감싸는 셀들로 이루어진 영역인 것을 특징으로 한다.
한편, 셀 상태값을 설정하기 위하여 상기 단위 셀이 상기 전역 스카이라인의 튜플을 가지고 있으면 상태로 설정하고, 상기 단위 셀이 상기 지배 영역에 해당하면 상태로 설정하며, 상기 단위 셀이 상기 및 의 어느 상태에도 속하지 않으면 상태로 설정할 수 있다.
마지막으로, 상기 셀 상태값이 설정된 데이터 도메인에 새로운 튜플이 추가 또는 삭제되면, 상기 추가 또는 삭제된 튜플이 포함되는 셀의 셀 상태값 및 지역 스카이라인에 따라 상기 전역 스카이라인을 갱신한다(840 과정).
여기서, 상기 데이터 도메인에 새로운 튜플이 추가될 경우, 상기 추가되는 튜플이 포함되는 셀의 상태값이 이면 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인의 정보만 갱신하고, 상기 추가되는 튜플이 포함되는 셀의 상태값이 또는 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 상기 추가되는 튜플의 속성값보다 작은 속성값을 갖는 튜플이 존재하는 경우, 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인 정보만 갱신하게 된다.
그리고, 상기 추가되는 튜플이 포함되는 셀의 상태값이 또는 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 상기 추가되는 튜플의 속성값보다 작은 속성값을 갖는 튜플이 존재하지 않는 경우에는, 상기 추가되는 튜플을 전역 스카이라인으로 설정하고, 상기 추가되는 튜플이 존재하는 셀을 전역 스카이라인 셀로 설정할 수 있다.
만약, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하는 경우, 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보를 갱신하고, 상기 지역 스카이라인의 갱신된 정보에 따라 상기 셀의 반 지배 띠 및 지배 띠를 방문하여 상기 삭제되는 튜플이 포함되는 셀이 전역 스카이라인 셀인지 여부를 결정한다.
그러나, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하지 않는 경우, 상기 삭제되는 튜플 만의 지배 영역 및 지배 띠를 방문하여 새로운 스카이라인을 탐색하고, 상기 탐색된 스카이라인을 기준으로 상기 삭제되는 튜플이 포함되는 셀의 셀 상태값을 재설정할 수 있다.
한편, 상기 전역 스카이라인을 갱신하는 단계(840 과정)는 상기 다중 속성값을 가지는 복수 개의 튜플로 구성된 데이터 도메인의 전역 스카이라인의 튜플을 사용자에 의해 설정된 주기마다 출력하는 과정을 더 포함할 수 있다.
도 9는 본 발명에 따른 셀 상태 값을 이용한 연속 스카이라인 질의 시스템의 블록도를 도시한 것이다.
도 9를 참조하면, 본 발명에 따른 연속 스카이라인 질의 시스템은 지역 스카이라인 선정부(910), 전역 스카이라인 선정부(920), 셀 상태값 설정부(930) 및 스카이라인 갱신부(940)로 이루어질 수 있다.
지역 스카이라인 선정부(910)는 다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형의 단위 셀들의 다차원 배열로 구성하고, 상기 다차원 배열로 구성된 단위 셀 별로 자신의 셀에 포함된 튜플로부터 각 차원의 축 값의 크기를 비교하여 단위 셀 별 지역 스카이라인을 선정한다.
삭제
삭제
상기 지역 스카이라인 선정부(910)는 상기 단위 셀 내에 포함되는 튜플 들의 다중 속성값을 비교하고, 상기 단위 셀 내에 포함되는 튜플들 중에서 하나 이상의 가장 작은 속성값을 가지는 튜플을 지역 스카이라인으로 선정한다.
전역 스카이라인 선정부(920)는 상기 선정된 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정한다.
상기 전역 스카이라인 선정부(920)는 상기 선정된 각 지역 스카이라인의 다중 속성값을 비교하고, 상기 각 지역 스카이라인 중에서 적어도 하나 이상의 가장 작은 속성값을 가지는 튜플을 전역 스카이라인으로 선정한다.
셀 상태값 설정부(930)는 상기 전역 스카이라인에 따라 전역 스카이라인 각각의 지배 영역, 지배 띠, 반 지배 영역 및 반 지배 띠를 구성하여 각 셀에 대한 셀 상태값을 설정한다.
상기 셀 상태값 설정부(930)는 상기 선정된 전역 스카이라인의 속성값보다 큰 속성값을 가지는 셀들로 이루어진 영역을 지배 영역으로 설정한다.
그리고, 상기 추출된 전역 스카이라인이 포함되는 셀을 포함하며 상기 지배 영역을 감싸는 셀들로 이루어진 영역을 지배 띠로 설정한다.
한편, 상기 추출된 전역 스카이라인의 속성값보다 작은 속성값을 가지는 셀들로 이루어진 영역을 반 지배 영역으로 설정한다.
그리고, 상기 추출된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 반 지배 영역을 감싸는 셀들로 이루어진 영역을 반 지배 띠로 설정함으로써 셀 상태값을 결정하게 된다.
한편, 상기 셀 상태값 설정부(930)는 상기 단위 셀이 상기 전역 스카이라인의 튜플을 가지고 있으면 상태로 설정하고, 상기 단위 셀이 상기 지배 영역에 해당하면 상태로 설정하며, 상기 단위 셀이 상기 및 의 어느 상태에도 속하지 않으면 상태로 설정할 수 있다.
한편, 본 발명에 적용되는 단위 셀 은 상기 지역 스카이라인을 저장하는 지역 스카이라인 리스트 및 상기 지역 스카이라인을 제외한 나머지 튜플을 저장하는 셀 튜플 리스트 을 저장할 수 있다.
스카이라인 갱신부(940)는 상기 셀 상태값이 설정된 데이터 도메인에 새로운 튜플이 추가 또는 삭제되면, 상기 추가 또는 삭제된 튜플이 포함되는 셀의 셀 상태값 및 지역 스카이라인에 따라 상기 전역 스카이라인을 갱신한다.
상기 스카이라인 갱신부(950)는 상기 데이터 도메인에 새로운 튜플이 추가될 경우, 상기 추가되는 튜플이 포함되는 셀의 상태값이 이면 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인의 정보만 갱신한다.
그리고, 상기 추가되는 튜플이 포함되는 셀의 상태값이 또는 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 상기 추가되는 튜플의 속성값보다 작은 속성값을 갖는 튜플이 존재하는 경우, 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인 정보만 갱신하게 된다.
또한, 상기 추가되는 튜플이 포함되는 셀의 상태값이 또는 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 상기 추가되는 튜플의 속성값보다 작은 속성값을 갖는 튜플이 존재하지 않는 경우에는, 상기 추가되는 튜플을 전역 스카이라인으로 설정하고, 상기 추가되는 튜플이 존재하는 셀을 전역 스카이라인 셀로 설정할 수 있다.
한편, 상기 스카이라인 갱신부(940)는 상기 데이터 도메인에 특정 튜플이 삭제될 경우, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이면 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보만 갱신한다.
그리고, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하는 경우, 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보를 갱신하고, 상기 지역 스카이라인의 갱신된 정보에 따라 상기 셀의 반 지배 띠 및 지배 띠를 방문하여 삭제되는 튜플이 포함되는 셀이 전역 스카이라인 셀인지를 결정하게 된다.
또한, 상기 삭제되는 튜플이 포함되는 셀의 상태값이 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하지 않는 경우, 상기 삭제되는 튜플 만의 지배 영역 및 지배 띠를 방문하여 새로운 스카이라인을 탐색하고, 상기 스카이라인을 기준으로 상기 삭제되는 튜플이 포함되는 셀의 셀 상태값을 재설정하게 된다.
본 발명의 성능 평가를 위하여 같은 환경에서 제안된 Li Tian et al.의 CMSQ와 비교 성능 평가를 수행하였다.
시뮬레이션은 최초 초기화를 끝낸 후 속성 값 변화에 따른 질의 처리 비용을 측정하며, 튜플 수의 증가와 데이터 증가에 따른 연산 비용(CPU cost), 독립(Independent) 데이터 분포를 바탕으로 격자 입도의 증가에 따른 연산 비용을 평가 하였다.
시뮬레이션 매개변수는 하기의 표 2와 같으며 굵은 색 글씨의 매게 변수는 기본 매개 변수로 해당 매개 변수에 대한 시뮬레이션이 아닌 경우, 사용된 기본 매개변수 값을 의미한다.
도 10a 내지 도 10c는 튜플의 수에 따른 연산 시간을 비교 측정한 것이다.
여기서 튜플 수를 1000개에서 100000개까지 5000개 단위로 변화시키면서 연속적으로 질의하여 얻은 평균 처리 시간을 그래프로 표현하였다.
도 10a와 도 10b를 보면, 독립(Independent)과 연관(Correlated) 데이터 분포에서 전체적으로 본 발명에 있어서의 제안 기법의 처리 시간이 더 짧은 것을 알 수 있다.
CMSQ는 튜플이 증가함에 따라 처리시간이 크게 증가하는 것을 볼 수 있는데, 그 이유는 영향 지역을 리스트로 유지하므로 매 튜플 처리시마다 매번 영향 지역을 확인하기 위해 리스트를 순회하므로 큰 비용이 드는 것과 추가된 튜플의 스카이라인 확인 여부를 시스템이 유지하는 모든 스카이라인과 비교하는 것 때문이라고 분석되어 진다.
도 10c는 반 상관(Anti-Correlated) 데이터 분포를 기반으로 연산 비용을 시뮬레이션을 수행한 결과이다.
CMSQ의 경우, 추가된 튜플이 스카이라인 인지의 여부를 확인하기 위하여 시스템이 유지하는 모든 스카이라인과 비교하기 때문에 스카이라인의 갯수가 성능에 아주 중요한 요소가 된다.
그런데, 반 상관 분포는 전체 튜플 수에 비해 스카이라인의 비율이 많은 특징을 가지고 있다.
또한 튜플이 증가함에 따라 스카이라인 수도 많이 증가하게 되고 결과적으로 본 발명과 비교하여 기존 튜플의 삭제 시는 지배 띠 방문을 통하여 방문할 셀의 범위를 특정 셀의 주변으로 범위를 제한하므로 연산 비용을 감소시킨다.
또한, 본 발명에 의하면 지역 스카이라인 유지를 통하여 튜플이 많더라도 지역 스카이라인 튜플끼리만 비교하므로, 비교 횟수가 줄게되어 증가하는 튜플 수에 대한 연산 비용의 증가가 감소하게 된다.
실제로, 격자 셀 색인의 특성상 튜플의 수가 많아지면, 한 셀이 유지해야 하는 튜플의 수가 많아짐으로 인한 성능저하가 발생한다.
그러나, 격자의 입도를 늘려 셀에 가중되는 부하를 분산할 수 있다.
그러나, 알고리즘의 특성상 격자의 입도 자체가 알고리즘의 성능에 영향을 줄 수도 있기 때문에 여기서는 격자의 입도에 따른 알고리즘의 성능을 비교 분석한다.
도 11은 격자의 입도(granularity) 변화에 따른 처리 시간을 CMSQ와 비교 측정한 그래프이다.
두 기법 모두 격자 셀을 차원 배열로 구현하여 튜플의 색인 시간은 크게 다르지 않으나, CMSQ는 영향 지역을 리스트로 유지하기 때문에 입도가 증가함에 따라 영향 지역을 유지하는 리스트의 길이도 길어진다.
따라서, 입도가 증가함에 따라 급격하게 처리 시간이 증가하는 것을 볼 수 있다.
그러나, 본 발명에 의하면, 격자 입도가 큰 경우에도 셀의 지배 여부를 셀 자체가 유지하기 때문에 입도에 대해 일정한 처리 시간 증가를 보여준다.
또한, 입도가 낮은 환경에서도 CMSQ보다 효율적인 것을 볼 수 있는데 이는 지역 스카이라인이 하나의 셀에 많은 튜플이 유지되더라도 결국 비교하여야 할 튜플의 수를 제한되게 하므로, 셀들이 유지하는 튜플들을 비교할 때 처리 시간을 감소시키는 것을 알 수 있다.
본 발명에 따른 셀 상태 값을 이용한 연속 스카이라인 질의 방법은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며, 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다.
그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다.
따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
도 1은 스카이라인 질의에 적용되는 속성값 비교 그래프를 도시한 것이다.
도 2는 본 발명에 적용되는 셀 기반의 지역 영역 및 지배 띠를 도시한 것이다.
도 3은 본 발명에 적용되는 셀 기반의 반 지배 영역 및 반 지배 띠를 도시한 것이다.
도 4는 본 발명에 적용되는 스카이라인 셀과 지배된 셀을 도시한 것이다.
도 5는 본 발명에 적용되는 전역 및 지역 스카이라인을 도시한 것이다.
도 6a 내지 도 6d는 본 발명의 일 실시예에 따른 새 튜플이 추가될 때의 알고리즘을 도시한 것이다.
도 7a 내지 도 7d는 본 발명의 일 실시예에 따른 서브 스카이라인을 탐색하는 과정을 도시한 것이다.
도 8은 본 발명에 따른 셀 상태 값을 이용한 연속 스카이라인 질의 방법의 흐름도를 도시한 것이다.
도 9는 본 발명에 따른 셀 상태 값을 이용한 연속 스카이라인 질의 시스템의 블록도를 도시한 것이다.
도 10a 내지 도 10c는 튜플의 수에 따른 연산 시간을 비교 측정한 것이다.
도 11은 격자의 입도(granularity) 변화에 따른 처리 시간을 CMSQ와 비교 측정한 그래프이다.
Claims (20)
- 다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형 단위 셀들의 다차원 배열로 구성하고, 상기 단위 셀들 각각(각 단위 셀)에 포함된 튜플 중에서 상기 각 단위 셀 각각의 지역 스카이라인을 선정하는 단계;상기 각 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정하는 단계;상기 선정된 전역 스카이라인에 의해 지배되는 영역(DR), 상기 DR의 지배 띠, 상기 전역 스카이라인을 지배하는 반 지배 영역(ADR) 및 상기 ADR의 반 지배 띠를 구성하여 상기 각 단위 셀의 셀 상태값을 설정하는 단계; 및상기 셀 상태값이 설정된 각 단위 셀 중 어느 셀에 새로운 튜플이 추가 또는 삭제되면, 상기 어느 셀의 셀 상태값 및 상기 선정된 지역 스카이라인에 따라 상기 선정된 전역 스카이라인을 갱신하는 단계를 포함하고,상기 각 단위 셀 각각의 지역 스카이라인의 선정은 상기 각 단위 셀 내에 포함되는 튜플들의 다중 속성값을 비교하여 가장 작은 속성값을 가지는 튜플을 상기 각 단위 셀 각각의 지역 스카이라인으로 선정하여 이루어지고,상기 전역 스카이라인의 선정은 상기 선정된 각 단위 셀 각각의 지역 스카이라인의 다중 속성값 중에서 가장 작은 속성값을 가지는 튜플을 상기 전역 스카이라인으로 선정하여 이루어지고,
- 삭제
- 삭제
- 삭제
- 제 1 항에 있어서,상기 DR은 상기 선정된 전역 스카이라인의 속성값보다 큰 속성값을 가지는 셀들로 이루어진 영역이고,상기 DR의 지배 띠는 상기 선정된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 DR을 감싸는 셀들로 이루어진 영역이고,상기 반 지배 영역은 상기 선정된 전역 스카이라인의 속성값보다 작은 속성값을 가지는 셀들로 이루어진 영역이고,상기 ADR의 반 지배 띠는 상기 선정된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 ADR을 감싸는 셀들로 이루어진 영역인 것을 특징으로 하는 셀 상태 값을 이용한 연속 스카이라인 질의 방법.
- 삭제
- 제 1 항에 있어서,상기 데이터 도메인에 새로운 튜플이 추가될 경우, 상기 전역 스카이라인을 갱신하는 단계는상기 추가되는 튜플이 포함되는 셀의 상태값이 상기 또는 상기 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 상기 추가되는 튜플의 속성값보다 작은 속성값을 갖는 튜플이 존재하는 경우, 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인 정보만 갱신하는 단계; 및
- 제 1 항에 있어서,상기 데이터 도메인에서 특정 튜플이 삭제될 경우, 상기 전역 스카이라인을 갱신하는 단계는상기 삭제되는 튜플이 포함되는 셀의 상태값이 상기 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하는 경우, 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보를 갱신하고, 상기 지역 스카이라인의 갱신된 정보에 따라 상기 삭제되는 튜플이 포함되는 셀의 반 지배 띠 및 지배 띠를 방문하여 상기 삭제되는 튜플이 포함되는 셀이 전역 스카이라인 셀인지의 여부를 결정하는 단계; 및
- 제 1 항에 있어서,상기 각 단위 셀은상기 지역 스카이라인을 저장하는 지역 스카이라인 리스트 및 상기 지역 스카이라인을 제외한 나머지 튜플을 저장하는 셀 튜플 리스트를 저장하는 것을 특징으로 하는 셀 상태 값을 이용한 연속 스카이라인 질의 방법.
- 삭제
- 제 1 항, 제 5 항, 제 7 항, 제 8 항, 제 9 항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.
- 다중 속성값을 가지는 복수 개의 튜플(Tuple)로 구성된 데이터 도메인을 각 축 모두 동일한 크기를 가지는 격자형 단위 셀들의 다차원 배열로 구성하고, 상기 단위 셀들 각각(각 단위 셀)에 포함된 튜플 중에서 상기 각 단위 셀 각각의 지역 스카이라인을 선정하는 지역 스카이라인 선정부;상기 각 지역 스카이라인 중에서 상기 데이터 도메인의 전역 스카이라인을 선정하는 전역 스카이라인 선정부;상기 선정된 전역 스카이라인에 의해 지배되는 영역(DR), 상기 DR의 지배 띠, 상기 전역 스카이라인을 지배하는 반 지배 영역(ADR) 및 상기 ADR의 반 지배 띠를 구성하여 상기 각 단위 셀의 셀 상태값을 설정하는 셀 상태값 설정부; 및상기 셀 상태값이 설정된 각 단위 셀 중 어느 셀에 새로운 튜플이 추가 또는 삭제되면, 상기 어느 셀의 셀 상태값 및 상기 선정된 지역 스카이라인에 따라 상기 선정된 전역 스카이라인을 갱신하는 스카이라인 갱신부를 포함하고,상기 각 단위 셀 각각의 지역 스카이라인의 선정은 상기 각 단위 셀 내에 포함되는 튜플들의 다중 속성값을 비교하여 가장 작은 속성값을 가지는 튜플을 상기 각 단위 셀 각각의 지역 스카이라인으로 선정하여 이루어지고,상기 전역 스카이라인의 선정은 상기 선정된 각 단위 셀의 지역 스카이라인의 다중 속성값 중에서 가장 작은 속성값을 가지는 튜플을 상기 전역 스카이라인으로 선정하여 이루어지고,
- 삭제
- 삭제
- 삭제
- 제 12 항에 있어서,상기 셀 상태값 설정부는상기 선정된 전역 스카이라인의 속성값 보다 큰 속성값을 가지는 셀들로 이루어진 영역을 상기 DR로 설정하고,상기 선정된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 DR을 감싸는 셀들로 이루어진 영역을 상기 지배 띠로 설정하며,상기 선정된 전역 스카이라인의 속성값 보다 작은 속성값을 가지는 셀들로 이루어진 영역을 상기 반 지배 영역으로 설정하며,상기 선정된 전역 스카이라인이 포함되는 셀을 포함하며, 상기 ADR을 감싸는 셀들로 이루어진 영역을 상기 반 지배 띠로 선정하여 셀 상태 값을 설정하는 것을 특징으로 하는 셀 상태 값을 이용한 연속 스카이라인 질의 시스템.
- 삭제
- 제 12 항에 있어서,상기 스카이라인 갱신부는상기 추가되는 튜플이 포함되는 셀의 상태값이 상기 또는 상기 이고, 상기 추가되는 튜플이 존재하는 셀의 반 지배 띠에 존재하는 튜플 중에서 상기 추가되는 튜플의 속성값보다 작은 속성값을 갖는 튜플이 존재하는 경우, 상기 추가되는 튜플이 포함되는 셀의 지역 스카이라인 정보만 갱신하며,
- 제 12 항에 있어서,상기 스카이라인 갱신부는상기 삭제되는 튜플이 포함되는 셀의 상태값이 상기 이고, 상기 삭제되는 튜플이 포함되는 셀에 다른 튜플이 존재하는 경우, 상기 삭제되는 튜플이 포함되는 셀의 지역 스카이라인의 정보를 갱신하고, 상기 지역 스카이라인의 갱신된 정보에 따라 상기 삭제되는 튜플이 포함되는 셀의 반 지배 띠 및 지배 띠를 방문하여 상기 삭제되는 튜플이 포함되는 셀이 전역 스카이라인 셀인지의 여부를 결정하고,
- 제 12 항에 있어서,상기 단위 셀은상기 지역 스카이라인을 저장하는 지역 스카이라인 리스트 및 상기 지역 스카이라인을 제외한 나머지 튜플을 저장하는 셀 튜플 리스트를 저장하는 것을 특징으로 하는 셀 상태 값을 이용한 연속 스카이라인 질의 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080026332A KR100924370B1 (ko) | 2008-03-21 | 2008-03-21 | 셀 상태 값을 이용한 연속 스카이라인 질의 방법, 그시스템 및 이를 기록한 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080026332A KR100924370B1 (ko) | 2008-03-21 | 2008-03-21 | 셀 상태 값을 이용한 연속 스카이라인 질의 방법, 그시스템 및 이를 기록한 기록매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090100852A KR20090100852A (ko) | 2009-09-24 |
KR100924370B1 true KR100924370B1 (ko) | 2009-10-30 |
Family
ID=41358979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20080026332A KR100924370B1 (ko) | 2008-03-21 | 2008-03-21 | 셀 상태 값을 이용한 연속 스카이라인 질의 방법, 그시스템 및 이를 기록한 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100924370B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101052220B1 (ko) * | 2009-01-16 | 2011-07-27 | 고려대학교 산학협력단 | 검색어를 포함하는 스카이라인 질의 수행장치 및 방법 |
KR101014298B1 (ko) * | 2009-02-23 | 2011-02-16 | 고려대학교 산학협력단 | 스카이라인 모니터링 장치 및 방법 |
KR101378939B1 (ko) * | 2009-10-12 | 2014-04-02 | 한국전자통신연구원 | 다차원 공간에서 스카이라인 객체가 되기 위한 최소 비용 벡터 획득 방법 및 장치 |
US8451273B2 (en) | 2009-10-12 | 2013-05-28 | Electronics And Telecommunications Research Institute | Method and apparatus for obtaining minimum cost vector for making skyline object in multi-dimensional space |
KR101914784B1 (ko) * | 2016-12-29 | 2018-11-02 | 서울대학교산학협력단 | 쿼드 트리에 기반한 스카이라인 질의 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070080350A (ko) * | 2006-02-07 | 2007-08-10 | 연세대학교 산학협력단 | 데이터스트림 관리 시스템에서 다수의 연속질의들에 표현된선택조건들의 효율적인 처리장치 및 처리방법 |
KR20080047681A (ko) * | 2006-11-27 | 2008-05-30 | (주)에이엠씨텍 | 이동 가입자의 연속 질의를 실시간으로 제공하는 모바일고객관리 방법 및 시스템 |
-
2008
- 2008-03-21 KR KR20080026332A patent/KR100924370B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070080350A (ko) * | 2006-02-07 | 2007-08-10 | 연세대학교 산학협력단 | 데이터스트림 관리 시스템에서 다수의 연속질의들에 표현된선택조건들의 효율적인 처리장치 및 처리방법 |
KR20080047681A (ko) * | 2006-11-27 | 2008-05-30 | (주)에이엠씨텍 | 이동 가입자의 연속 질의를 실시간으로 제공하는 모바일고객관리 방법 및 시스템 |
Non-Patent Citations (1)
Title |
---|
논문:한국정보과학회 |
Also Published As
Publication number | Publication date |
---|---|
KR20090100852A (ko) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934324B2 (en) | Index structure to accelerate graph traversal | |
JP6183376B2 (ja) | インデックス生成装置及び方法並びに検索装置及び検索方法 | |
US20080228783A1 (en) | Data Partitioning Systems | |
US20150363404A1 (en) | Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices | |
JP5137339B2 (ja) | クラスタリングされたベクトルデータを検索するサーバ、システム及び方法 | |
US11748351B2 (en) | Class specific query processing | |
KR100924370B1 (ko) | 셀 상태 값을 이용한 연속 스카이라인 질의 방법, 그시스템 및 이를 기록한 기록매체 | |
JP2008225575A (ja) | 計算機負荷見積システム、計算機負荷見積方法 | |
CN109815240B (zh) | 用于管理索引的方法、装置、设备和存储介质 | |
Carélo et al. | Slicing the metric space to provide quick indexing of complex data in the main memory | |
KR20020038438A (ko) | 특징 벡터 공간의 인덱싱 방법 및 검색 방법 | |
KR20190079354A (ko) | 분할 공간 기반의 공간 데이터 객체 질의처리장치 및 방법, 이를 기록한 기록매체 | |
US20140229496A1 (en) | Information processing device, information processing method, and computer program product | |
KR102354343B1 (ko) | 블록체인 기반의 지리공간 데이터를 위한 공간 데이터 인덱싱 방법 및 장치 | |
JP5470082B2 (ja) | 情報蓄積検索方法及び情報蓄積検索プログラム | |
CN117539835A (zh) | 一种图数据的分布式缓存方法及装置 | |
JP5555238B2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
Ahmed et al. | Computing source-to-target shortest paths for complex networks in RDBMS | |
JP2007073063A (ja) | 空間インデックス方法 | |
KR20220099745A (ko) | 지리공간 블록체인 데이터 검색을 위한 공간 분할 기반의 트리 인덱싱 및 질의어 처리 방법 및 장치 | |
Lu et al. | Querying spatial data by dominators in neighborhood | |
Oliveira et al. | CLAP, ACIR and SCOOP: Novel techniques for improving the performance of dynamic Metric Access Methods | |
KR101878844B1 (ko) | 중첩 오버래핑 기반의 서브 그래프 리스팅 방법 | |
KR20090044149A (ko) | 지속적으로 발생되는 데이터 객체들로 구성되는 비한정적데이터 집합인 데이터 스트림으로부터 클러스터를 찾는방법 및 장치 | |
KR101058891B1 (ko) | 연속 스카이라인 질의 수행장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121004 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130717 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |