Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

공간 데이터 웨어하우스 구축과 활용의 핵심 과제는 무엇일까?

공간 데이터 웨어하우스 구축과 활용의 주요 과제

공간 데이터 웨어하우스(spatial data warehouse)를 구축하고 활용하는 과정에서는 여러 가지 어려운 문제에 직면하게 됩니다. 첫 번째 과제는 이기종(heterogeneous) 소스와 시스템으로부터 공간 정보를 통합하는 것입니다. 공간 데이터는 일반적으로 다양한 산업 분야의 기업과 정부 기관에서 서로 다른 데이터 형식으로 저장되고 있기 때문입니다.

데이터 형식은 구조 측면에서도(예: 래스터 방식과 벡터 방식의 공간 데이터, 객체 지향 모델과 관계형 모델, 서로 다른 공간 저장 및 인덱싱 구조) 차이가 있을 뿐만 아니라, 벤더 측면에서도(예: ESRI, MapInfo, Intergraph) 차이가 있습니다. 이기종 공간 데이터의 통합과 교환을 위한 연구가 활발히 진행되어 왔으며, 이러한 노력은 공간 데이터 통합과 공간 데이터 웨어하우스 구축의 토대를 마련했습니다.

두 번째 과제는 공간 데이터 웨어하우스에서 빠르고 유연한 온라인 분석 처리(OLAP)를 실현하는 것입니다. 스타 스키마(star schema) 모델은 간결하고 체계적인 웨어하우스 구조를 지원하고 OLAP 서비스를 제공할 수 있기 때문에 공간 데이터 웨어하우스 모델링에 가장 적합한 선택으로 꼽힙니다. 그러나 공간 웨어하우스에서는 차원(dimension)과 측정값(measure) 모두에 공간 요소가 포함될 수 있다는 점이 특징입니다.

공간 데이터 큐브의 세 가지 차원 유형

공간 데이터 큐브(spatial data cube)에는 다음과 같은 세 가지 유형의 차원이 존재합니다.

비공간 차원(Non-spatial dimension) – 비공간 차원은 비공간 데이터만 포함하는 차원입니다. 예를 들어, 온도와 강수량과 같은 비공간 차원을 웨어하우스에 생성할 수 있습니다. 각 차원이 일반화 결과가 비공간인 데이터(예: 온도의 경우 '덥다', 강수량의 경우 '습하다')를 포함하기 때문입니다.

공간-비공간 차원(Spatial-to-Non-Spatial dimension) – 공간-비공간 차원은 원시 수준(primitive level)의 데이터는 공간적이지만, 특정 상위 수준부터 시작되는 일반화 결과는 비공간이 되는 차원입니다.

공간-공간 차원(Spatial-to-Spatial dimension) – 공간-공간 차원은 원시 수준 데이터와 모든 상위 수준의 일반화 데이터가 모두 공간적인 차원입니다. 예를 들어, 균등 온도 지역(equi_temperature region) 차원은 공간 데이터를 포함하며, 섭씨 0~5도, 5~10도 등의 범위를 포괄하는 모든 일반화 역시 공간 데이터로 구성됩니다.

공간 데이터 큐브의 두 가지 측정값 유형

공간 데이터 큐브의 측정값은 다음 두 가지 유형으로 나눌 수 있습니다.

수치형 측정값(Numerical Measure) – 수치형 측정값은 숫자 데이터만 포함합니다. 예를 들어, 공간 데이터 웨어하우스의 측정값으로 특정 지역의 월별 매출을 들 수 있으며, 롤업(roll-up) 연산을 통해 연도별, 군(county)별 등으로 총 매출을 산출할 수 있습니다. 수치형 측정값은 분배적(distributive), 대수적(algebraic), 전체적(holistic) 유형으로 분류됩니다.

공간 측정값(Spatial Measure) – 공간 측정값은 공간 객체를 가리키는 포인터(pointer)들의 집합을 포함합니다. 예를 들어, 공간 데이터 큐브에서 동일한 온도 및 강수 범위를 가진 지역들을 일반화(또는 롤업)하면 해당 지역들이 동일한 셀로 그룹화되며, 이렇게 형성된 측정값은 해당 지역들을 가리키는 포인터 집합을 담게 됩니다.

비공간 데이터 큐브

비공간 데이터 큐브(non-spatial data cube)는 비공간 차원과 수치형 측정값만으로 구성됩니다. 만약 공간 데이터 큐브가 공간 차원은 포함하지만 공간 측정값은 포함하지 않는다면, 드릴(drill)이나 피벗(pivot)을 포함한 OLAP 연산을 비공간 데이터 큐브와 유사한 방식으로 수행할 수 있습니다.