KR100743927B1 - 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보관리방법 - Google Patents

공간 데이터 웨어하우스에서 시공간 데이터의 집계정보관리방법 Download PDF

Info

Publication number
KR100743927B1
KR100743927B1 KR1020050069336A KR20050069336A KR100743927B1 KR 100743927 B1 KR100743927 B1 KR 100743927B1 KR 1020050069336 A KR1020050069336 A KR 1020050069336A KR 20050069336 A KR20050069336 A KR 20050069336A KR 100743927 B1 KR100743927 B1 KR 100743927B1
Authority
KR
South Korea
Prior art keywords
aggregate
information
node
tree
time
Prior art date
Application number
KR1020050069336A
Other languages
English (en)
Other versions
KR20070014571A (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 KR1020050069336A priority Critical patent/KR100743927B1/ko
Publication of KR20070014571A publication Critical patent/KR20070014571A/ko
Application granted granted Critical
Publication of KR100743927B1 publication Critical patent/KR100743927B1/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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/25Integrating or interfacing systems involving database management systems

Abstract

본 발명은 HSaR-tree(Historically Summarized Aggregate R-tree)를 이용하여 해당 영역에 대한 현재집계정보를 저장하고, 각 노드에 과거집계정보에 대한 연결을 위하여 링크를 추가하며, 과거집계정보는 각 노드의 과거에서 현재까지의 집계정보를 계층구조로 유지하는 시간요약 집계 테이블을 생성하여 저장함으로써 현재와 과거집계정보를 모두 유지할 수 있으므로 현재와 과거집계정보에 대한 처리 성능을 향상시키며, 공간정보를 공간 인덱스인 R-tree로 유지하고, 과거로부터의 시간정보를 시간 요약 집계 테이블을 이용하여 계층화시켜 유지하므로 시간과 공간에 대한 계층 분석 성능을 향상시킬 수 있어 공간 데이터 웨어하우스 시스템의 성능을 향상시킬 수 있게 된다.
공간 데이터 웨어하우스, 시공간 데이터, 시간 요약 집계 테이블, 계층화

Description

공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법{METHOD FOR AN AGGREGATE INFORMATION MANAGEMENT OF SPATIOTEMPORAL DATA IN SPATIAL DATA WAREHOUSE}
도 1은 일반적인 시간 차원과 공간 차원의 계층 구조도.
도 2는 일반적인 aR-tree의 구조도.
도 3a 및 도 3b는 공간 데이터와 R-tree 및 요약 테이블과 집계 결과 저장 순서를 나타낸 도.
도 4a 및 도 4b는 사실 테이블과 집계 값 및 aRB-tree의 구조도.
도 5는 본 발명의 구현하기 위한 개략적인 시스템 구성도.
도 6은 본 발명에 따른 현재 집계 관리를 위한 HSaR-tree의 노드 구조도.
도 7은 본 발명에 따른 과거 집계 관리를 위한 HSaR-tree의 시간 요약 집계 테이블을 나타낸 도.
도 8a 및 도 8b는 본 발명에서의 시공간 데이터의 예 및 HSaR-tree의 전체 구조도.
도 9는 본 발명에 따른 HSaR-tree의 초기 구성 흐름도.
도 10은 본 발명에 따른 현재 집계 갱신 과정을 설명하기 위한 도.
도 11은 본 발명에 따른 HSaR-tree의 현재 집계 갱신 알고리즘을 나타낸 도.
도 12는 도 11의 전처리 단계의 알고리즘을 나타낸 도.
도 13은 도 11의 전파 단계의 알고리즘을 나타낸 도.
도 14a 및 도 14b는 본 발명에 따른 과거 집계 갱신 과정을 설명하기 위한 도.
도 15는 본 발명에 따른 HSaR-tree의 과거 집계 갱신 알고리즘을 나타낸 도.
도 16은 본 발명에서의 영역 질의에 포함되는 노드 검색 예도.
도 17은 본 발명에 따른 HSaR-tree의 현재 집계 검색 알고리즘을 나타낸 도.
도 18은 질의 영역과 노드의 교차에 대한 설명도.
도 19는 질의 영역의 예도.
도 20은 본 발명에 따른 근사 집계 계산 알고리즘을 나타낸 도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 질의 처리기 110 : SQL 처리기
120 : 공간 OLAP 처리기 130 : 질의 최적화기
200 : 자료 저장소 300 : 통합 관리기
본 발명은 공간 데이터 웨어하우스에서의 시공간 데이터 관리방법에 관한 것 으로, 특히 HSaR-tree(Historically Summarized Aggregate R-tree)를 이용하여 현재 집계 정보를 저장하고, 각 노드에 과거 집계 정보에 대한 연결을 위하여 링크를 추가하여 현재와 과거 집계 정보에 대한 처리 성능을 향상시키며, 과거로부터 시간 정보를 시간 요약 집계 테이블을 이용하여 계층화시켜 유지함으로써 시간과 공간에 대한 계층 분석 성능을 향상시킬 수 있도록 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법에 관한 것이다.
최근 교통 감시 시스템이나 이동 통신 시스템과 같은 많은 응용에서는 공간 데이터베이스에 저장된 공간 객체의 실제 위치나 특정 시간 정보보다는 공간 데이터 웨어하우스(Data Warehouse)를 이용하여 시공간 데이터와 관련된 수치들을 단순히 집계한 정보를 요구하고 있다(D. Papadias, P. Kalnis, J. Zhang, and Y. Tao, "Efficient OLAP Operations in Spatial Data Warehouses," In Proc. of the 7th International Symposium on Spatial and Temporal Databases, Lecture Notes in Computer Science, 2001., D. Papadias, Y. Tao, P. Kalnis, and J. Zhang. "Indexing Spatio-Temporal Data Warehouses," In Porc. of 18th IEEE International Conference on Data Engineering, pp. 166-175, 2002).
공간 데이터 웨어하우스는 여러 운영 데이터에서 추출된 공간 및 비공간 데이터를 주제별로 통합하여 시간 순서에 따라 저장하는 시스템으로서, 통합된 데이터는 OLAP(On-Line Analytical Processing) 연산을 통한 다차원 분석으로 기업이나 일반 사용자의 의사결정에 도움을 준다.
다차원 분석을 위한 OLAP 연산에서는 집계 함수와 Group-by 연산을 이용하여 집계 정보를 제공할 수 있으며, 집계 정보는 공간 데이터 웨어하우스로부터 필요할 때마다 직접 구할 수 있다(S. Chaudhuri and U. Dayal, "An Overview of Data Warehousing and OLAP Technology," ACM SIGMOD Record, vol. 26, pp. 6574, 1997., E.F. Codd, S.B. Codd, and C.T. Salley, "Providing OLAP(On-Line Analytical Processing) to User-Analysts: An IT Mandate," Technical Report, 1993.)
그러나 분석 요구가 있을 때마다 대용량의 데이터에 대해 직접 집계 연산을 계산하기에는 많은 시간 비용이 소요된다. 특히 교통 상황 분석과 같이 시공간 데이터의 신속한 현재와 과거 집계정보가 모두 필요한 응용에서는 현재나 과거 집계 정보만을 요구하는 응용보다 더 많은 집계 연산을 수행해야하므로 실시간 결과를 주어야하는 OLAP 연산에 대한 지원은 더욱 어렵다.
그러므로 다차원 분석을 위한 OLAP 연산에서는 사용자의 요청에 빠르게 응답하기 위해서 자주 사용되는 질의의 집계 값을 미리 계산하여 저장해 두는 사전 집계 방식을 이용한다(K.Y. Lee and M.H. Kim, "Efficient Incremental View Maintenance in Data Warehouses," Journal of KISS (B), 2000., N. Roussopoulos, "Materialized Views and Data Warehouse," SIGMOD Record, vol. 27(1), pp. 21-26, 1998., N. Stefanovic, J. Han, and K. Koperski, "Object-Based Selective Materialization for Efficient Implementation of Spatial Data Cubes,"IEEE Transactions on Knowledge and Data Engineering, vol. 12(6), pp. 1-21, 2000.)
공간 데이터 웨어하우스에서의 시공간 데이터는 현재 데이터 유형과 과거 데 이터 유형으로 분류된다(D. Papadias, Y. Tao, P. Kalnis, and J. Zhang. "Indexing Spatio-Temporal Data Warehouses," In Porc. of 18th IEEE International Conference on Data Engineering, pp. 166-175, 2002).
현재 데이터 유형은 현재 시점에 공간 영역에 존재하는 객체의 정보를 나타내며, 과거 데이터 유형은 과거 시점부터 현재 시점전까지 공간 영역에 존재하는 객체의 정보를 나타낸다.
공간 데이터 웨어하우스에서 시공간 데이터는 비공간 속성을 나타내는 시간 차원과 공간 속성을 나타내는 공간 차원으로 이루어지며 각 차원은 특성에 따라 계층 구조를 가진다. 공간 데이터 웨어하우스에서는 차원의 계층 구조를 이용하여 집계 연산을 제공한다.
시간 차원은 분, 시, 일, 월, 분기, 연도 등의 속성들로 구성되며, 속성들 사이에는 포함관계가 존재한다. 예를 들어, 월 속성은 분, 시, 일 속성의 개념을 포함하고 있는 동시에 분기, 연도 속성의 개념에 포함이 된다.
그러므로 월 속성은 분, 시, 일 속성에 대해서는 상위 계층이 되며, 분기, 연도 속성에 대해서는 하위 계층이 된다. 따라서 월 속성에 대한 집계 연산은 바로 아래의 하위 계층인 일 속성에 대한 집계 연산의 합으로 구할 수 있기 때문에 시간 차원의 계층 구조에 따른 집계 연산이 가능하다.
공간 차원도 비공간 차원과 같이 번지, 동, 구, 시 등의 문자(Text String) 속성으로 계층 표현이 가능하다. 그러나 문자 속성으로 계층을 표현하는 방법은 공간 정보 분석에 제한이 따르기 때문에 공간 데이터 웨어하우스에서는 공간 객체의 포함 관계에 따라 공간 차원의 계층을 표현하는 방법을 사용한다(F. Rao, L. Zhang, X.L. Yu, Y. Li, and Y. Chen, "Spatial Hierarchy and OLAP-Favored Search in Spatial Data Warehouse," DOLAP workshop on Data Warehousing and OLAP, pp. 48-55, 2003.)
공간 객체의 포함 관계에 따라 계층을 표현하는 방법은 R-tree나 Quad-tree와 같은 공간 인덱스(Spatial Index)의 특징을 이용하여 공간 차원의 계층을 나타낸다. 공간 인덱스인 트리의 각 노드들은 자신의 자식 노드들의 모든 영역을 공간적으로 포함하고 있기 때문에 자식 노드들의 상위 계층이 되고, 자식 노드들은 부모 노드의 부분 영역을 나타내므로 하위 계층이 된다.
따라서 공간 인덱스에서의 상위 노드의 집계 연산은 하위 노드들의 집계 연산의 합으로 구할 수 있기 때문에 공간 차원에 대해서도 계층에 따른 집계 연산이 가능하다.
도 1은 시간 차원과 공간 차원의 계층 구조를 도식화하여 나타낸 것이다. 차원의 계층 구조는 상위 계층으로 올라가거나 하위 계층으로 내려가면서 집계 연산을 적용할 수 있게 되어 Roll-Up, Drill-Down 등의 OLAP 연산이 가능하게 된다.
공간 데이터 웨어하우스에서 현재와 과거로 분류되는 시공간 데이터의 집계 연산을 위한 기존 연구들로는 시공간 데이터의 현재 집계 값을 관리하는 aR-tree와 과거 집계 값을 관리하는 OLAP-Favored Search Tree, 그리고 과거 집계 값을 타임스탬프 값에 따라 관리하는 aRB-tree가 있다.(D. Papadias, P. Kalnis, J. Zhang, and Y. Tao, "Efficient OLAP Operations in Spatial Data Warehouses," In Proc. of the 7thInternational Symposium on Spatial and Temporal Databases, Lecture Notes in Computer Science, 2001., D. Papadias, Y. Tao, P. Kalnis, and J. Zhang. "Indexing Spatio-Temporal Data Warehouses," In Porc. of 18th IEEE International Conference on Data Engineering, pp. 166-175, 2002., F. Rao, L. Zhang, X.L. Yu, Y. Li, and Y. Chen, "Spatial Hierarchy and OLAP-Favored Search in Spatial Data Warehouse," DOLAP workshop on Data Warehousing and OLAP, pp. 48-55, 2003.)
시공간 데이터의 현재 집계 값을 관리하는 대표적인 기법인 aR-tree(Aggregation R-tree)는 공간 인덱스 중 가장 많이 사용되는 R-tree를 이용하여 공간 영역의 계층 구조를 유지한다. 그리고 R-트리의 노드 구성을 확장하여 각 노드의 해당되는 공간 영역에 현재 존재하고 있는 객체의 집계 정보를 트리의 노드에 함께 저장한다.
공간 데이터 웨어하우스에서 시공간 데이터의 현재 집계 값을 관리하는 aR-tree의 구조는 도 2와 같다.
aR-tree의 각 노드에 대한 현재 집계 정보는 하위 노드로부터 상위 노드로 거슬러 올라가는 상향식(Bottom-Up) 방법을 적용하면서 간단한 집계(합) 연산만 수행하면 쉽게 얻을 수 있다. 즉, aR-tree의 최하위 노드(Leaf Node 또는 단말 노드)의 집계 값을 시작으로하여 한 단계 상위 노드의 집계 값은 하위 노드들의 집계 값의 합으로 나타낸다. 도 2에서 Level 0의 노드 A1은 하위 노드들 a2, a3, a5의 집계 값 3, 1, 2의 합인 6이 된다.
aR-tree에서 집계 연산 질의에 대한 처리는 질의 범위에 완전히 포함되는 노드들에 대해서는 더 이상의 하위 노드 검색 없이 현재 위치의 노드에 함께 저장되어 있는 집계 값을 질의 결과 값에 포함시키고, 부분적으로 겹치는 노드들에 대해서는 하위 노드들을 계속 검색하여 질의 범위에 포함되는 노드들의 집계 값을 얻는다.
만약, 최하위 노드까지 검색한 결과 최하위 노드도 질의 범위에 부분적으로 겹친다면 원본 데이터(Raw Data)가 저장되어 있는 공간 데이터 웨어하우스에 직접 접근하여 결과를 얻거나 통계적 예측 방법을 이용하여 근접한 결과 값을 얻는다.
aR-tree 기법은 질의 요청 시 질의 범위에 해당하는 노드들에 대해서 노드에 함께 저장되어 있는 집계 값을 결과로 주기 때문에 현재 데이터에 대한 집계 정보 요청에 대하여 빠르게 응답을 제공할 수 있다. 그러나 트리의 노드에서 현재의 정보만을 가지고 있기 때문에 과거로부터의 집계 정보 요청시에는 응답 할 수 없는 문제점이 있다.
OLAP-Favored Search Tree도 공간 차원의 계층 구조를 유지하기 위하여 R-tree를 사용하며, 각 노드 영역에 존재하는 객체의 과거부터 현재까지의 총 집계 값을 하나의 요약 테이블에서 관리한다.
도 3은 OLAP-Favored Search Tree의 전체 구조를 나타낸다.
도 3b의 요약 테이블은 R-tree를 후위 순회(Postorder Traversal)한 결과의 순서로 트리의 노드 식별자(Node Identification 또는 NID)와 집계 값을 저장하여 시공간 데이터의 과거 집계 값에 대한 OLAP 연산을 지원한다. 또한 요약 테이블은 R-tree의 전체 노드 개수 만큼의 레코드를 가지며, 각 레코드의 크기가 일정하기 때문에 구현과 관리가 용이하다.
집계 연산 질의에 대한 처리는 질의 범위에 포함되는 노드들의 식별자를 가지고 요약 테이블을 검색함으로써 해당 노드의 집계 값을 얻을 수 있다. 그러나 공간 차원에 대한 인덱스인 R-tree의 노드와 집계 값을 가지고 있는 요약 테이블 사이에 연결이 존재하지 않기 때문에 질의 범위에 포함되는 노드들의 해당 집계 값을 얻기 위해서는 요약 테이블을 매번 다시 검색해야 한다. 이것은 빠른 집계 연산 결과를 주어야하는 OLAP 연산에서 응답 시간을 지연시킨다.
또한, 요약 테이블이 각 노드와 대응되는 집계 값에 대해 단순히 과거로부터 현재까지의 총 집계만을 가지고 있기 때문에 공간 영역에 존재하는 객체들의 현재 집계 정보는 물론 OLAP에서 많이 사용되는 특정 시간 영역에 대한 분석이나 연도별 집계 등 시간 차원에 따른 분석은 지원하지 못한다.
공간 데이터 웨어하우스에서 시공간 데이터의 과거 집계 정보를 타임스탬프 값에 따라 유지, 관리하는 aRB-tree는 aR-tree와 B-tree의 결합을 의미한다. 그러나 aRB-tree에서의 aR-tree는 기존의 aR-tree에서 노드의 현재 집계 값을 유지하고 있는 것과는 달리 시공간 데이터의 과거부터 현재에 이르기까지의 총 집계 정보를 유지한다.
그리고 aR-tree에 존재하는 모든 노드의 엔트리들은 엔트리에 해당되는 공간 영역의 총 과거 집계에 대한 이력 정보(Historical Information)를 가지는 B-tree와의 연결을 위하여 포인터를 가진다.
도 4는 공간 데이터 웨어하우스에서 시공간 데이터의 과거 집계 정보를 관리하는 aRB-tree의 전체적인 구조이다. 도 4a의 사실 테이블(Fact Table)은 집계 연산을 적용하여 분석하고자 하는 실제 수치 데이터를 포함하는 테이블로서 여러 차원의 결합으로 구성되며, 음영으로 표시된 부분이 집계 연산(합)을 적용하여 얻게 되는 집계 값이다.
aRB-tree에서 B-tree는 타임스탬프 값이 증가되는 순서에 따라 과거 집계 값을 저장한다. B-tree에 과거 집계 값을 저장하는 방법은 공간 인덱스에서 집계 값을 저장하는 방법과 마찬가지로 상향식 방법이 사용된다.
그러나 B-tree에서는 최하위 노드와 최하위 노드를 제외한 상위 노드들 사이에서 과거 집계 값을 저장하는 방식에 차이가 있다. 우선 최하위 노드의 구성 방법은 타임스탬프 값이 하나 증가되면 증가되기 직전의 타임스탬프 값에서 측정된 집계 값을 해당 타임스탬프 값과 함께 최하위 노드의 하나의 엔트리로 저장한다. 이때, 측정된 집계 값이 바로 전 타임스탬프 시점의 집계 값과 비교하여 변화가 없다면 중복을 피하기 위해 엔트리에 삽입하지 않는다.
만약, 이전 집계 값과 비교하여 변화가 있어서 엔트리에 삽입하려고 하는데 노드의 엔트리들이 모두 채워져 있다면 새로운 노드를 생성하고 상위 노드에 연결을 시킨다. 최하위 레벨의 새로운 노드 생성으로 인하여 상위 노드들 또한 새로운 노드의 생성이 요구된다면, 이것의 처리 방법은 기존 B-tree에서 새로운 노드 삽입에 대한 상위 노드로의 전파(Propagation) 방법과 동일하다.
다음으로 최하위 노드를 제외한 상위 노드들은 자식 노드들의 첫번째 타임스 탬프 값과 자식 노드들이 가지고 있는 과거 집계 값을 모두 합한 값을 가진다.
도 4b의 R5를 위한 B-tree를 보면, 최하위 노드에서 T2(타임스탬프2)와 T3(타임스탬프3)의 집계 값이 같기 때문에 T3의 집계 값은 저장하지 않았다. 그리고 하나의 노드가 최대 2개의 엔트리를 갖는다고 할 경우 T4의 집계 값은 첫번째 노드에 저장할 수 없으므로 새로운 노드를 생성하여 T4의 집계 값을 저장한다.
또한, 상위 노드는 두개의 자식 노드들을 가지고 있기 때문에 한 개의 노드만이 필요하며, 각 엔트리는 자식 노드의 첫번째 타임스탬프 값과 자식 노드들이 포함하고 있는 각 타임스탬프의 집계 값들을 합한 값인 (1, 685)와 (4, 445)를 가진다. 그리고 B-tree의 최상위 노드(Root Node)의 엔트리들의 합계는 B-tree와 연결된 aR-tree의 총 집계 값이 된다.
그러나 aRB-tree는 aR-tree를 이용하기는 하나 aR-tree에 현재 집계 정보를 유지하는 것이 아니라 과거로부터 총 집계된 값을 유지하기 때문에 현재 집계 정보를 제공하지 못하며, 모든 노드의 엔트리마다 B-tree를 하나씩 가지고 있으므로 많은 저장 공간과 관리가 필요하다.
또한, 과거 데이터를 관리하는 B-tree가 타임스탬프에 의해서 관리되기 때문에 시간 차원에 따른 Roll-Up, Drill-Down 등의 OLAP 연산이 불가능하며, 특정 타임스탬프 기간에 대한 검색 시 타임스탬프 영역이 하나의 노드에 포함되지 않고 여러 노드에 걸쳐진다면 최악의 경우 B-tree 최하위 노드까지 검색해야 하는 문제점이 있다.
본 발명은 이러한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 공간 데이터의 계층 개념을 지원하는 HSaR-tree를 이용하여 공간 차원에 존재하는 객체들에 대한 현재집계정보를 유지하고, 시간 요약 집계 테이블을 이용하여 시간 차원에 따라 요약된 과거 집계 정보를 동시에 유지하여 현재와 과거 집계 정보에 대한 질의에 대해 신속한 응답을 제공하여 처리 성능을 향상시킬 수 있도록 한 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법을 제공함에 있다.
상기 본 발명의 목적을 달성하기 위한 본 발명에 따른 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법은, 시공간 데이터의 현재와 과거집계정보를 관리하는 방법에 있어서, HSaR-tree를 이용하여 해당 영역에 대하여 현재 데이터에 대한 현재집계정보를 관리하고, 상기 HSaR-tree의 모든 노드의 엔트리들마다 과거집계정보를 계층구조로 유지하는 시간 요약 집계 테이블을 생성하여 과거집계정보를 관리함과 더불어 상기 각 노드에 대하여 해당되는 시간 요약 집계 테이블과 링크되도록 함을 특징으로 한다.
또한, 본 발명은 현재집계정보를 갱신함에 있어, 이동 객체의 이전 위치와 새로운 위치를 이동 객체의 식별자와 함께 저장해 놓은 변경 내용 테이블과 도로 지역을 나타내는 공간 차원 집합에 대해 공간 조인을 수행한 결과를 이용하여 변경이 필요한 도로 영역의 집합과 각각의 도로 영역에 대한 변경된 집계 값을 얻는 전 처리 단계; 및 상기 단계의 결과를 변경이 필요한 노드들에 반영하는 전파 단계;를 수행함을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명은 현재집계정보를 검색함에 있어, 질의 영역에 완전히 포함되는 노드에 대해서는 현재 계층에 있는 집계값을 결과로 주고, 부분적으로 겹치는 노드에 대해서는 자식 노드를 반복적으로 검색하여 최하위 노드가지 검색한 결과 최하위 노드도 질의 영역과 부분적으로 겹쳐지면 직접 원본 데이터에 접근하여 결과를 주는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명은 시간 요약 집계 테이블을 갱신함에 있어, 이미 변화가 반영된 현재 집계 노드로부터 집계 값을 가져와 노드와 연결된 시간 요약 집계 테이블에 저장하여 갱신함을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명은 과거집계정보를 검색함에 있어, 질의 영역에 포함되는 노드들을 트리에서 검색한 후, 검색된 각 노드들에 연결된 시간 요약 집계 테이블에 접근하여 질의에 해당되는 기간을 찾아 해당 정보를 구하는 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 보다 상세하게 설명한다. 단, 하기 실시 예는 본 발명을 예시하는 것일 뿐 본 발명의 내용이 하기 실시 예에 한정되는 것은 아니다.
도 5는 본 발명을 구현하기 위한 개략적인 시스템 구성도로, 사용자로부터의 질의를 처리하기 위한 질의 처리기(100), 각종 데이터가 저장되는 자료 저장소(200) 및 통합 관리기(300)로 구성된다.
상기 질의 처리기(100)는 SQL(Structured Quary Language) 처리기(110), 공간 OLAP 처리기(120) 및 집계 질의를 최적화하기 위한 질의 최적화기(130)를 포함한다.
상기 통합 관리기(300)는 본 발명이 제안하는 HSaR-tree(Historically Summarized Aggregate R-tree)를 이용하여 해당 영역에 대한 현재 집계 정보를 저장하고, 각 노드에 과거 집계 정보에 대한 연결을 위하여 링크를 추가하여 과거에서 현재가지의 집계 정보 요청에 응답 가능토록 하며, 또한 HSaR-tree로 시간 요약 집계 테이블을 이용하여 계층화시켜 시공간에 대한 계층 분석이 가능토록하며, 그 외의 본 발명에서의 전반적인 기능을 담당한다.
HSaR-tree는 사전 집계된 시공간 데이터의 현재와 과거 집계 정보를 효율적으로 관리할 수 있으며, 이는 공간 데이터의 계층 개념을 지원하는 aR-tree를 이용하여 공간 차원에 존재하는 객체들에 대한 현재 집계 정보를 유지하고, 시간 요약 집계 테이블을 이용하여 시간 차원에 따라 요약된 과거 집계 정보를 동시에 유지한다. 따라서 본 발명은 현재와 과거 집계 정보에 대한 질의에 대해 모두 신속한 응답을 제공하여 처리 성능을 향상시킬 뿐만 아니라 과거 특정 기간 동안의 집계 정보에 대한 질의에 대해서도 빠른 응답을 할 수 있게 된다.
또한, 질의에 대한 정확한 집계 결과보다는 좀 더 빠른 결과가 요구되는 응용을 위해 근사 집계 결과 검색 방법을 지원하여 정확한 집계 결과를 계산하는 것에 비해 적은 비용으로 빠른 결과를 제공한다.
이와 같은 시스템에서 구현되는 본 발명은 HSaR-tree를 이용하여 시공간 데 이터의 현재 집계 정보를 관리하게 되며, 시공간 데이터의 집계 정보가 많이 사용되는 교통 감시 시스템이나 이동 통신 시스템과 같은 응용 분야에서 필요한 정보를 추가로 가진다. 그리고 시공간 데이터의 과거 집계 정보를 관리하기 위하여 HSaR-tree의 모든 노드의 엔트리들마다 시간 요약 집계 테이블을 생성하여 유지한다.
시공간 데이터의 사전 집계 관리를 위한 공간 데이터 웨어하우스의 주요 차원으로는 도로 영역을 나타내는 공간 차원과 도로 영역에 존재하는 이동 객체에 대한 차원이 있다. 그 밖에도 과거로부터 현재까지의 집계 정보를 나타내기 위한 시간 차원이 존재한다.
공간 영역 안에 존재하는 객체의 현재 집계 정보를 관리하기 위한 aR-tree의 하나의 노드는 최대 m개의 엔트리를 가진다. 노드의 최대 엔트리 개수 m은 응용 분야나 사용자의 요구에 따라 결정된다. 도 6은 현재 집계 관리를 위한 HSaR-tree의 노드 구조이다.
노드의 각 엔트리는 HSaR-tree가 공간 데이터의 집계 관리를 위해 가장 많이 사용되는 R-tree를 사용하기 때문에 기본적으로 R-tree의 노드 엔트리에 포함되어 있는 엔트리 식별자(Entry Identification 또는 EID), 각 엔트리가 포함하고 있는 객체들의 최소 경계 영역(MBR: Minimum Bounding Rectangle), 자식 노드들에 대한 포인터를 가진다. 그리고 현재 각 엔트리의 영역 안에 들어있는 이동 객체들의 집계 값(SUM)과 현재까지 해당 엔트리의 영역을 거쳐간 이동 객체의 총 이동량(CNT)이 OLAP 연산을 위해 추가되었고, 각 엔트리의 영역별 과거 집계 정보를 가지는 시간 요약 집계 테이블에 대한 링크가 존재한다.
시공간 데이터의 현재 집계 정보는 시간이 지나면 과거 데이터가 되어 시간 차원 정보와 함께 과거 집계 정보로 넘어간다. 이때, 현재 시점에서의 해당 영역에 대한 집계 정보인 SUM 값은 현재 상황 분석에서는 중요한 정보로 사용되지만 시간이 지남에 따라 과거 데이터로 전환되어 과거 집계 정보를 위해 사용하게 될 경우에는 단순히 순간순간의 현재 집계들에 대한 합이되어 중복된 집계 값이 발생할 수 있게 되므로 유용한 정보로 사용될 수 없다.
따라서 HSaR-tree의 노드 엔트리들은 현재 상황 분석을 위해 현재 시점에서의 엔트리 해당 영역에 대한 스냅샷(Snapshot) 정보인 SUM 값과 함께 과거 통계 분석을 위하여 현재 시점까지 엔트리의 해당 영역을 거쳐간 이동 객체의 총 이동량인 CNT 값을 가진다.
따라서 시공간 데이터를 다루는 공간 데이터 웨어하우스 응용 분야에서 좀 더 다양한 질의 분석이 가능하게 된다.
공간 데이터 웨어하우스에서 시공간 데이터의 과거 집계 관리를 위한 기존 연구로 요약 테이블을 사용하는 방법이 있다. 기존 연구에서의 요약 테이블은 단순히 노드의 해당 영역에서 측정되는 모든 값의 합만을 나타낸다. 그러나 시공간 데이터와 관련된 응용 분야에서는 단순히 누적된 총 집계 보다는 시간에 따른 집계 정보가 더 필요하며 의미가 있다.
따라서 본 발명에서는 각 노드의 엔트리들마다 과거로부터 축적된 집계 정보를 시간 차원과 연계하여 미리 계산한 시간 요약 집계 테이블을 제안한다.
시간 요약 집계 테이블은 여러 개의 요약 단위(Summary Unit)로 구성이 되 며, 하나의 요약 단위는 사용자 요구가 있거나 질의가 빈번한 시간 차원의 레벨을 최소 집계 단위로 하여 상위 계층까지 시간 차원에 따라 집계 정보를 저장한다.
그리고 요약 단위들의 구별을 위하여 요약 단위의 맨 앞에 요약 단위 식별자를 가진다.
도 7은 최소 집계 단위가 시간인 요약 단위를 가지는 과거 집계 관리를 위한 시간 요약 집계 테이블의 구조이다.
도 7에서 진한 회색 음영으로 둘러싸인 부분이 하나의 요약 단위로서, 시간 차원의 최소 집계 단위는 시간이며, 시간에 대한 집계(HT)들을 기반으로 일, 월, 연도에 대한 집계(DT, MT, YT)까지 나타낸다. 그리고 연도 즉, 2004년, 2003년은 요약 단위의 식별자가 된다.
도 7에서 HT, DT, MT, YT는 Hour Total, Day Total, Month Total, Year Total 집계 값을 의미한다. 만약, 시간 차원의 최소 요구 레벨이 시간이 아니라 월이라면 시간 요약 집계 테이블의 하나의 요약 단위는 월과 연도에 대한 집계 값만으로 구성된다.
시간 요약 집계 테이블은 노드의 하나의 엔트리 영역에 대한 과거 집계 정보를 필요한 내용만 요약하여 유지하기 때문에 이동 객체에 대한 모든 과거 정보를 가지는 것보다 상당히 적은 양의 저장 공간을 사용한다.
그리고 시간 차원의 계층 구조에 따른 요약 단위로 시간 요약 집계 테이블이 관리되기 때문에 Roll-Up이나 Drill-Down 등의 OLAP 집계 연산에 유용하며, 시간 차원에 따른 요약 단위 변경시 시간 요약 집계 테이블의 재구성이 용이하다. 또한 복잡한 다수의 트리들을 관리해야하는 기존 방법보다 유지 비용이 적게 들고 구현과 관리가 쉬운 장점이 있다.
도 8a 및 도 8b는 시공간 데이터에 대한 예와 공간 데이터 웨어하우스에서 시공간 데이터의 현재와 과거 집계 정보를 관리하는 HSaR-tree의 전체 구조를 나타낸다.
도 8은 하나의 노드에서 최대 3개의 엔트리를 가지며, 시간 요약 집계 테이블의 요약단위는 월, 연도이다. 따라서 요약 단위 식별자는 연도가 된다.
HSaR-tree는 R-tree를 기반으로 하여 공간 데이터의 현재와 과거 집계 정보를 관리하는 인덱스로서, 기본적인 R-tree 구성 이외에 초기 집계 정보를 가지기 위한 초기 구성이 필요하다.
도 9는 HSaR-tree의 초기 구성 순서를 나타낸 것으로, HSaR-tree의 초기 구성 순서는 도로 영역을 나타내는 공간 차원을 기반으로 집계 값이 비어있는 HSaR-tree를 구성한다(S110). HSaR-tree는 R-tree에 현재와 과거 집계 값을 저장하기 위하여 노드를 확장한다.
그리고 공간 데이터 웨어하우스에 저장된 이동 객체 차원과 도로 영역을 나타내는 공간 차원에 대해 공간 조인(Spatial Join) 기법을 적용하여 HSaR-tree의 모든 단말 노드 엔트리들의 집계 값을 계산한 후, 과거 집계의 생성을 위하여 과거 집계의 초기 시작 위치 및 요약 단위를 결정한다(S120),(S130).
초기 시작 위치부터 현재 시점까지 단말 노드 엔트리들의 시간 요약 집계 테이블을 구성한다(S140). 마지막으로 집계 값을 가지는 트리를 구성하는 이전의 방 법과 마찬가지로 상향식 방법을 이용하여 상위 노드들과 요약 테이블의 집계 값을 계산한다(S150),(I.S. Mumick, D. Quass, and B.S. Mumick. "Maintenance of data cubes and summary tables in a warehouse," In Proc. of ACM SIGMOD, pp. 100111, 1997).
트리와 같은 인덱스의 갱신 연산에는 삽입, 삭제, 수정 연산이 있다. 그러나 본 발명에서는 HSaR-tree의 기반이 되는 도로 영역 즉, 공간 차원에는 변경이 일어나지 않는다고 가정함으로써 트리의 구조를 변경시키는 일반적인 트리의 노드 삽입 연산은 일어나지 않는다. 또한, 공간 데이터 웨어하우스에서는 과거 데이터가 중요한 분석 자료로 사용되기 때문에 삭제 연산도 일어나지 않는다.
그러므로 본 발명에서는 현재와 과거 집계 값 발생에 따른 HSaR-tree의 수정에 대한 갱신 연산만 수행하게 된다.
현재 집계에 대한 갱신은 데이터의 변경이 있을 때마다 수행하기에는 시간과 비용이 많이 들기 때문에 이동 객체가 이동할 경우 이동 객체의 이전 위치와 새로운 위치를 이동 객체의 식별자와 함께 별도의 변경 내용 테이블에 저장하여 관리하다가 질의가 들어오거나 일정 주기가 되면 저장해 놓은 변경 내용 중 이동 객체의 이전 위치 값이 포함되는 노드의 집계 정보 값은 감소시키고, 새로운 위치 값이 포함되는 노드의 집계 정보 값은 증가시킴으로써 이루어진다.
변경 내용 테이블을 사용하는 갱신은 기존 aR-tree에서 사용한 일괄 증가 갱신(Batch Incremental Update 또는 BIU) 기법과 데이터 웨어하우스 관련 연구에서 제안한 요약 변경 기법(Summary-Delta Method)과 비슷하며, 본 발명에서는 공간 영역에서의 이동 객체의 총 이동량을 측정하기 위하여 추가된 CNT에 대한 갱신 부분 처리를 위하여 다음과 같이 행해진다.
갱신은 전처리(Pre-Computation)와 전파(Propagation)의 두 단계로 나누어 진행이 된다. 전처리 단계에서는 저장해 놓은 변경 내용 테이블과 도로 지역을 나타내는 공간 차원 집합에 대해 공간 조인을 수행한다.
공간 조인 수행시 이동 객체의 새로운 위치에 해당되는 공간 영역의 SUM 집계 값은 1씩 증가시키고, 이동 객체의 이전 위치에 해당되는 공간 영역의 SUM 집계 값은 1씩 감소시킨다. 그 결과 SUM 집계 값에 대해서 변경이 필요한 도로 영역의 집합과 각각의 도로 영역에 대한 변경된 집계 값을 얻는다.
두번째 전파 단계는 전처리 단계 수행 결과를 변경이 필요한 노드들에 반영함으로써 갱신을 수행한다. 이러한 노드 갱신 방법은 어떤 한 노드에 계속적으로 갱신이 집중 될 경우 매번 노드에 접근하여 계산을 하지 않고 같은 노드에 관련된 갱신 내용을 한번에 처리할 수 있다.
각 노드 엔트리의 공간 영역을 지나간 이동 객체의 총 이동량인 CNT에 대한 갱신은 전처리 단계에서 공간 조인을 수행할 때, 변경 내용 테이블에서 새로운 위치를 저장해 놓은 필드만을 이용하여 새로운 위치가 포함되는 노드의 CNT 값을 1씩 증가해주고, 그 결과를 이용하여 변경이 필요한 노드들에 대해 전파 단계를 수행하면 된다.
예를 들어, 도 10에서 ①의 변경 내용 테이블처럼 도로 영역 r1에 이동객체 1개가 들어오고 3개가 영역을 벗어났다고 한다면 변경 내용 테이블과 도로 영역에 대해 공간 조인 연산을 수행한 결과(②)로 SUM 집계 값에 대해 (r1, -2)를 CNT 집계 값에 대해 (r1, +1)을 얻게 된다.
그 다음으로 도로 영역 r1을 포함하고 있는 노드의 엔트리들인 m1과 M1의 기존 SUM과 CTN 집계 값에 공간 조인 결과 값 2와 +1을 각각 더해줌으로써 현재 집계 값에 대한 노드 갱신이 이루어진다. 따라서 m1의 SUM과 CNT 집계 값이 3과 10에서 1과11로, M1의 SUM과 CNT 집계 값이 9와 43에서 7과 44로 갱신된다.
현재 집계에 대한 갱신 알고리즘의 전체 흐름은 도 11과 같다.
도 11에서 01은 전처리 단계를 처리하는 함수이며, 파라미터 UpdateSUMList와 UpdateCNTList는 도로 영역과 변경 내용 테이블을 공간 조인한 결과를 가져올 리스트이다. 즉, SUM 값과 CNT 값이 변경된 노드들과 그 변경된 값을 가지는 구조체의 집합들을 가져올 리스트이다. 그리고 02는 전파 단계를 처리하는 함수를 나타낸다. 각 함수의 자세한 처리 내용은 도 12 및 도 13과 같다.
현재 집계 갱신의 전처리 단계 알고리즘은 갱신 주기가 될 때까지 도 12의 02의 InsertToDeltaTable 함수를 이용하여 변경 내용 테이블(DeltaTable)에 변경 내용을 저장하며, 갱신 주기가 되면 변경 내용 테이블과 도로 영역을 나타내는 공간 차원을 04의 SpatialJoin 함수를 이용하여 공간 조인을 수행한다.
현재 집계 갱신의 전파 단계 알고리즘은 전처리 단계 함수로부터 변경 내용 테이블과 도로 영역의 공간 조인을 수행한 결과인 UpdateSUMList와 UpdateCNTList를 전달받아서 리스트의 내용을 각각 UpdateSUMTuple과 UpdateCNTTuple 구조체에 하나씩 불러와 HSaR-tree의 현재 집계 값 갱신을 수행한다.
특히, 전파 단계 알고리즘에서는 집계 값이 변경된 노드의 집계 값을 변경해 주기 위해서 HSaR-tree의 최상위 노드부터 변경된 노드를 검색해야한다. 이 경우, 변경된 노드는 트리의 최하위 레벨에 속하게 되므로 최하위 레벨의 노드를 검색하기 위해서는 최하위 노드를 포함하는 모든 부모 노드들을 먼저 지나치게 된다.
이때, 최하위 노드 검색 과정에서 만난 부모 노드들의 집계 값을 먼저 변경해주면, 최하위 노드의 집계 값 변경 후, 최하위 노드와 관련된 모든 상위 노드들로 변경된 집계 값을 전파해야하는 번거로움 없이 한번의 검색 과정으로 변경된 집계 값의 영향을 받는 상위 노드들까지 갱신이 이루어진다.
HSaR-tree의 현재 집계 갱신 기법은 일반적인 트리의 갱신 연산에서 연산이 시작된 후부터 끝날때까지 삽입이나 검색 등의 다른 연산은 허용하지 못하는 것과 달리, 전파 단계에서만 제한이 따르고 전처리 단계에서는 트리의 사용이 허용된다.
이것은 HSaR-tree의 현재 집계 갱신 기법이 전처리 단계와 전파 단계로 나뉘는데, 전처리 단계에서는 HSaR-tree에 영향을 주지않고 공간 조인을 이용하여 갱신될 내용만을 처리하기 때문이다. 따라서 HSaR-tree의 갱신은 다른 연산들을 좀 더 빠르고 원활하게 진행시킬 수 있다.
한편, 과거 집계에 대한 갱신은 기존의 요약 테이블이나 이와 유사한 성격의 실체화 뷰에서 갱신 발생시 전체에 대한 재계산을 수행하거나 갱신 데이터를 전파하는 것과는 달리 새로 생성된 요약 집계 정보를 기존의 시간 요약 집계 테이블에 추가만하면 된다.
과거 집계 갱신은 도 14에 나타난 것처럼 새로운 요약 단위의 생성이 필요한 경우와 새로운 요약 단위의 생성없이 기존에 생성된 요약 단위를 사용하는 경우로 나뉜다.
새로운 요약 단위의 생성이 필요한 경우는 시간 경과에 따라 새로 발생된 최소 집계 단위의 집계 값이 도 14a의 ②번과 같이 하나의 요약 단위가 완성된 후 다음 요약 단위의 첫번째 최소 집계 단위의 집계 값인 경우로, 새로운 요약 단위를 생성한 후(③), 새로운 최소 집계 단위의 집계 값을 새로 생성된 요약 단위의 지정된 위치에 저장한다(④).
즉, 도 14에서 요약 단위가 월, 연도로 구성되어 있으므로 새로운 집계 값 2005년 1월의 집계 정보는새로 생성된 2005년도 요약 단위에서 요약 단위 식별자(연도)와 연도별 합계의 다음에 위치하게 된다.
기존에 생성된 요약 단위를 사용하는 경우는 새로 발생된 최소 집계 단위의 집계 값이 도 14b의 ②번과 같이 이미 생성된 요약 단위의 중간 부분에 해당하는 경우로, 새로운 요약 단위의 생성없이 집계 값이 저장되어야 할 위치만을 계산하여 저장하면 된다.
저장될 위치의 계산은 요약 단위가 사용자 정의에 따라 고정된 크기의 구조를 가지므로 요약 단위 식별자와 각 집계 값을 저장할 저장소의 크기만을 가지고 구할 수 있다. 예를 들어, 요약 단위가 월과 연도 두 레벨로 이루어져 있다면 새로운 집계 값이 저장될 위치의 계산은 다음의 식 (1)과 같다.
( 연도 식별자 저장소의 크기 + 연도별 집계 값 저장소의 크기 +
( 월별 집계 값 저장소의 크기 x ( 새로운 집계 값이 저장될 순번(월) - 1 ))) ......식(1)
도 15는 과거 집계에 대한 갱신 과정을 나타낸 것이다. 도 15에서의 02, 03은 새로운 요약 단위가 필요한 경우 새로운 요약 단위를 생성하고 시간 요약 집계 테이블에 연결시키는 부분이며, 03, 04와 07, 08은 새로운 최소 집계 단위의 집계 값을 요약 단위의 지정된 위치를 계산하여 저장하는 부분을 나타낸다.
과거 집계의 갱신은 현재 집계처럼 일정 주기가 되거나 질의가 들어왔을 경우 진행되는 것이 아니라 미리 정해놓은 요약 단위의 최소 집계 단위의 집계 값이 발생되는 순간에 진행된다. 그리고 과거 집계 갱신에서 새로운 요약 단위는 기존 시간 요약 집계 테이블의 맨 처음 요약 단위 앞에 연결시킴으로써 최근 집계 정보를 앞쪽에 저장시킨다. 이는 과거 정보 중에서도 최근의 과거 정보가 더 자주 사용되므로 검색을 좀 더 빠르게 하기 위함이다.
공간 데이터 웨어하우스에서 시공간 데이터에 대한 대부분의 검색 질의는 특정 범위를 대상으로 하여 그 안에 포함되는 데이터의 집계 값을 구하는 영역 질의(Window Query)의 형태이다.
본 발명에서는 영역 질의에 대하여 HSaR-tree를 검색하는 기법을 현재 집계와 과거 집계로 나누어 설명하고, 공간 데이터 웨어하우스에서 정확한 결과보다 빠른 분석 요구를 원하는 경우가 존재하기 때문에 빠른 검색 결과를 주기 위한 하나의 방법인 근사 집계 검색에 대해서도 살펴본다.
현재 집계에 대한 질의는 교통 감시 시스템에서 긴급 환자가 발생했거나 화재가 발생하였을 경우 긴급 차량이 신속히 이동할 수 있도록 도로 정보를 제공해야 하는 경우에 많이 사용된다.
예를 들어, "특정 지역의 현재 총 차량 수는?"이나 "특정 병원을 중심으로 반경 2Km 내의 가장 교통이 한산한 지역은?"과 같은 질의가 있다. 이러한 질의는 질의 영역에 포함되는 노드들을 트리에서 검색한 후 선택된 노드들이 현재 가지고 있는 집계 값들을 합하여 결과를 얻는다.
영역 질의에 포함되는 노드들에 대한 검색은 기존 R-트리의 검색과는 달리 질의 영역에 완전히 포함되는 노드에 대해서는 자식 노드를 검색할 필요없이 현재 계층에 있는 집계 값을 결과로 주고, 부분적으로 겹치는 노드에 대해서만 자식 노드를 반복적으로 검색한다. 최하위 노드까지 검색한 결과 최하위 노드도 질의 영역과 부분적으로 겹쳐진 경우는 직접 원본 데이터에 접근하여 결과를 준다.
도 16에서 점선으로 된 질의 영역에 대하여 노드를 검색하게 되면 m4와 m5는 상위 노드 M2에 속하게 되므로 검색할 필요 없이 M2의 집계 값을 사용하고, m2 노드도 질의 영역에 완전히 포함되므로 실제 데이터에 대한 접근 없이 집계 값을 얻을 수 있다. 하지만 최하위 노드 m1과 m3는 질의 영역에 부분적으로 포함되기 때문에 원본 데이터에 접근하여 집계 값을 얻어야 한다.
도 17는 HSaR-tree의 현재 집계 검색 과정을 나타내는 알고리즘으로, 03, 07, 10의 AG 함수는 검색된 노드들의 집계 값들을 합해주는 함수이다.
과거 집계에 대한 질의는 교통의 흐름을 분석하여 교통 혼잡 지역의 제어 및 개선을 효과적으로 수행하기 위해 많이 사용된다.
예를 들어, "특정 지역의 최근 2년간 차량 이동량은?"이나 "특정 지역의 2004년 집계 정보 중 차량 이동량이 가장 많은 달은?"과 같은 질의가 있다.
과거 집계에 대한 검색도 현재 집계의 검색과 마찬가지로 먼저 질의 영역에 포함되는 노드들을 트리에서 검색한다. 검색 후 검색된 각 노드들에 연결된 시간 요약 집계 테이블에 접근하여 질의에 해당되는 시간 기간을 찾음으로써 정보를 구할 수 있다.
만약, 질의가 최근 2년(2004년, 2003년)간 차량 이동량을 구하는 것이라면 먼저 시간 요약 집계 테이블에서 요약 단위 식별자들을 검사하여 2004년도 요약 단위를 찾는다. 찾은 요약 단위에서 필요한 연도별 집계 값을 검색한 후 다음 요약 단위로 이동하여 다음 연도인 2003년도의 연도별 집계 값을 합해주면 된다.
다음 요약 단위로의 이동은 요약 단위 마지막에 존재하는 포인터를 이용하면 되고, 요약 단위 내에서의 검색은 시간 요약 집계 테이블의 갱신에서 사용한 식(1)의 위치 계산 방식을 이용하면 된다.
과거 집계 검색 알고리즘은 도 17의 HSaR-tree의 현재 집계 검색 알고리즘을 사용하며, 알고리즘의 03에서 트리의 현재 노드에서 집계 값을 가져오는 대신 시간 요약 집계 테이블에 접근하여 필요한 시간 영역의 집계 값을 가져오면 된다.
시공간 데이터의 과거 집계를 위하여 사용되는 시간 요약 집계 테이블은 시간 계층 구조를 가지는 요약 단위로 관리된다. 그렇기 때문에 시간 계층 구조를 가지고 있지 않은 기존의 다른 기법들이 제공하지 못하는 과거 특정 기간 동안의 집계 정보 검색이 가능하다.
또한, 공간 데이터 웨어하우스에서 긴급 상황으로 인하여 교통 상황 분석을 해야하는 경우와 같이 긴급 질의에 대하여 정확한 집계 결과보다는 빠른 시간내에 근접한 결과를 요구하는 경우가 있다.
이 경우에는 부분적으로 겹치는 노드에 이동 객체가 고르게 분포한다는 가정하에 질의 영역에 포함되는 노드 영역의 비율(%)을 계산하여 현재 노드가 가지고 있는 집계 값과 곱하므로 근접 결과를 줄 수 있다.
도 18에서 질의 영역 Q와 질의 영역에 부분적으로 겹치는 노드 N의 교집합 영역을 I라고 하면, 질의 영역에 포함되는 노드의 비율은 "I의 영역 / N의 영역"으로 나타낸다. 즉, 영역의 넓이를 구하는 공식을 대입하여 식으로 나타내면 식(2)와 같다.
( Ix2 - Ix1 )( Iy2 - Iy1 ) / ( Nx2 - Nx1 )( Ny2 - Ny1)......식(2)
예를 들어, 도 19에서 점선으로 된 사각형이 질의 영역일 경우 m2 노드는 질의 영역에 완전히 포함되므로 가지고 있는 집계 값인 2를 그대로 결과 값에 더하면 되고, m1은 위에서 설명한 비율 계산 방법에 의하여 질의 영역에 약 25% 겹친다고 가정하면 결과 값은 3 x 0.25 ?? 1이 된다.
근사 집계 검색에 대한 알고리즘도 도 17의 HSaR-tree의 현재 집계 검색 알고리즘을 사용하며, 06에 있는 원본 데이터에서 집계 값을 가져오는 함수인 getFromSourceData 함수 대신 도 20의 근사 집계 계산 알고리즘을 사용한다.
도 20의 01은 질의 영역에 부분적으로 겹치는 노드가 질의 영역에 포함되는 비율을 계산하며, 02는 질의 영역에 부분적으로 겹치는 노드가 현재 가지고 있는 집계 값을 얻어오는 함수를 나타낸다. 근사 집계 계산 알고리즘은 02에서 현재 집계 값을 가져오는 대신 시간 요약 집계 테이블에서 과거 집계 값을 가져오는 함수로 대치시키면 과거의 근사 집계 값을 구할 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변형하여 실시할 수 있다.
이상에서 살펴본 바와 같이, 본 발명은 HSaR-tree를 이용하여 해당 영역에 대한 현재집계정보를 저장하고, 각 노드에 과거집계정보에 대한 연결을 위하여 링크를 추가하며, 과거집계정보는 각 노드의 과거에서 현재까지의 집계정보를 계층구조로 유지하는 시간요약 집계 테이블을 생성하여 저장함으로써 현재와 과거집계정보를 모두 유지할 수 있으므로 현재와 과거집계정보에 대한 처리 성능을 향상시키며, 또한 공간정보를 공간 인덱스인 R-tree로 유지하고, 과거로부터의 시간정보를 시간 요약 집계 테이블을 이용하여 계층화시켜 유지하므로 시간과 공간에 대한 계층 분석 성능을 향상시킬 수 있어 공간 데이터 웨어하우스 시스템의 성능을 향상시킬 수 있게 된다.

Claims (14)

  1. 시공간 데이터의 현재와 과거집계정보를 관리하는 방법에 있어서,
    HSaR-tree(Historically Summarized Aggregate R-tree)를 이용하여 해당 영역에 대하여 현재 데이터에 대한 현재집계정보를 관리하고, 상기 HSaR-tree의 모든 노드의 엔트리들마다 과거집계정보를 계층구조로 유지하는 시간 요약 집계 테이블을 생성하여 과거집계정보를 관리함과 더불어 상기 각 노드에 대하여 해당되는 시간 요약 집계 테이블과 링크되도록 함을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  2. 제 1 항에 있어서, 상기 현재집계정보 관리를 위한 노드의 엔트리는
    엔트리 식별자, 각 엔트리가 포함하고 있는 객체들의 최소 경계 영역, 자식 노드들에 대한 포인터, 현재 각 엔트리의 영역 안에 들어 있는 이동 객체들의 집계 값과 현재까지 해당 엔트리의 영역을 거쳐간 이동 객체의 총 이동량 및 각 엔트리의 영역별 과거 집계 정보를 가지는 시간 요약 집계 테이블에 대한 링크를 위한 포인터를 갖는 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  3. 제 1 항에 있어서, 상기 현재집계정보의 갱신은,
    이동 객체의 이전 위치와 새로운 위치를 이동 객체의 식별자와 함께 저장해 놓은 변경 내용 테이블과 도로 지역을 나타내는 공간 차원 집합에 대해 공간 조인을 수행한 결과를 이용하여 변경이 필요한 도로 영역의 집합과 각각의 도로 영역에 대한 변경된 집계 값을 얻는 전처리 단계; 및
    상기 단계의 결과를 변경이 필요한 노드들에 반영하는 전파 단계;
    를 수행하여 이루어지는 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  4. 제 3 항에 있어서, 상기 전파 단계에서 각 노드의 영역을 지나간 이동 객체의 총 이동량에 대한 갱신은 상기 저장해 놓은 변경 내용 테이블에서 새로운 위치를 저장해 놓은 필드만을 이용하여 새로운 위치 값이 포함되는 노드의 총 이동량 값을 하나씩 증가시켜 주는 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  5. 제 1 항에 있어서, 상기 현재집계정보의 검색은,
    질의 영역에 완전히 포함되는 노드에 대해서는 현재 계층에 있는 집계값을 결과로 주고, 부분적으로 겹치는 노드에 대해서는 자식 노드를 반복적으로 검색하여 최하위 노드가지 검색한 결과 최하위 노드도 질의 영역과 부분적으로 겹쳐지면 직접 원본 데이터에 접근하여 결과를 주는 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  6. 제 5 항에 있어서, 실시간 질의 응답을 요구하는 경우에는 부분적으로 겹치는 노드에 이동 객체가 고르게 분포한다는 가정하에 질의 영역에 포함되는 노드 영역의 비율을 계산하여 현재 노드가 가지고 있는 집계와 곱하여 근접 결과를 주도록 된 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  7. 제 1 항에 있어서, 상기 시간 요약 집계 테이블은
    과거로부터 축적된 집계 정보를 시간 차원과 연계하여 생성하는 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  8. 제 7 항에 있어서, 상기 시간 요약 집계 테이블은
    복수개의 요약 단위로 이루어짐을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  9. 제 8 항에 있어서, 상기 요약 단위는
    사용자 요구가 있거나 질의가 빈번한 시간 차원의 레벨을 최소 집계 단위로 하여 상위 계층까지 시간 차원에 따라 집계 정보를 저장하는 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  10. 제 8 항에 있어서, 상기 시간 요약 집계 테이블은
    요약 단위들의 구별을 위한 요약 단위 식별자를 가짐을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  11. 제 1 항에 있어서, 상기 시간 요약 집계 테이블의 갱신은,
    이미 변화가 반영된 현재 집계 노드로부터 집계 값을 가져와 노드와 연결된 시간 요약 집계 테이블에 저장하여 갱신함을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  12. 제 11 항에 있어서, 상기 시간 요약 집계 테이블의 갱신은
    상기 시간 요약 집계 테이블이 복수개의 요약 단위로 이루어질 때, 새로 발생된 최소 집계 단위의 집계 값이 이미 생성된 요약 단위의 중간 부분에 해당하는 집계 값이면 집계 값이 저장되어야 할 위치를 계산하여 저장함을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  13. 제 12 항에 있어서, 상기 집계 값이 저장될 위치는
    요약 단위들의 구별을 위한 요약 단위 식별자와 각 집계 값을 저장할 저장소의 크기를 이용하여 구하는 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
  14. 제 1 항에 있어서, 상기 과거집계정보의 검색은,
    질의 영역에 포함되는 노드들을 트리에서 검색한 후, 검색된 각 노드들에 연결된 시간 요약 집계 테이블에 접근하여 질의에 해당되는 기간을 찾아 해당 정보를 구하는 것을 특징으로 하는 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보 관리방법.
KR1020050069336A 2005-07-29 2005-07-29 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보관리방법 KR100743927B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050069336A KR100743927B1 (ko) 2005-07-29 2005-07-29 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050069336A KR100743927B1 (ko) 2005-07-29 2005-07-29 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보관리방법

Publications (2)

Publication Number Publication Date
KR20070014571A KR20070014571A (ko) 2007-02-01
KR100743927B1 true KR100743927B1 (ko) 2007-08-01

Family

ID=38080327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050069336A KR100743927B1 (ko) 2005-07-29 2005-07-29 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보관리방법

Country Status (1)

Country Link
KR (1) KR100743927B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101757251B1 (ko) * 2016-12-12 2017-07-14 한국과학기술정보연구원 집계질의를 처리하기 위한 장치 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000077122A (ko) * 1999-05-11 2000-12-26 포만 제프리 엘 액정 표시 소자 및 그 제조 방법
KR20030003855A (ko) * 2001-07-04 2003-01-14 조세현 무테안경용 렌즈의 조립공 가공장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000077122A (ko) * 1999-05-11 2000-12-26 포만 제프리 엘 액정 표시 소자 및 그 제조 방법
KR20030003855A (ko) * 2001-07-04 2003-01-14 조세현 무테안경용 렌즈의 조립공 가공장치

Also Published As

Publication number Publication date
KR20070014571A (ko) 2007-02-01

Similar Documents

Publication Publication Date Title
Papadias et al. Efficient OLAP operations in spatial data warehouses
US20040243555A1 (en) Methods and systems for optimizing queries through dynamic and autonomous database schema analysis
US6970882B2 (en) Unified relational database model for data mining selected model scoring results, model training results where selection is based on metadata included in mining model control table
US5440730A (en) Time index access structure for temporal databases having concurrent multiple versions
US20020010701A1 (en) Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query
US20080222104A1 (en) Clustered index with differentiated subfields
US7899839B2 (en) Query rewrite with a remote object
JP2004518226A (ja) データベースシステムおよびクエリオプティマイザ
WO2023087673A1 (zh) 一种层次数据检索方法、装置和设备
Kim et al. A spatiotemporal database model and query language
US20100198830A1 (en) Dynamic data distribution aggregation
EP3101556B1 (en) Indexing dynamic hierarchical data
KR20150098660A (ko) 활성 데이터베이스 쿼리의 유지
Malinowski et al. Logical representation of a conceptual model for spatial data warehouses
CA2680217C (en) A database system with database indexes for improved performance
CN112800083B (zh) 一种面向政府决策的政务大数据分析方法及设备
Finis et al. DeltaNI: An efficient labeling scheme for versioned hierarchical data
Krneta et al. An approach to data mart design from a data vault
Wang et al. A hybrid index for temporal big data
KR100743927B1 (ko) 공간 데이터 웨어하우스에서 시공간 데이터의 집계정보관리방법
Chawathe et al. On index selection schemes for nested object hierarchies
Bellatreche et al. Some issues in design of data warehousing systems
Bär et al. Towards benchmarking stream data warehouses
Chmiel et al. Multiversion join index for multiversion data warehouse
Bianchi et al. On the performance and use of spatial OLAP tools

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
FPAY Annual fee payment

Payment date: 20120724

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee