Post

공간 데이터 베이스 - 개요

공간 데이터 베이스

1. 개요

인간이 IT 기술을 다루다보니 여러가지 데이터들을 한데 모아두고 운용할 필요성을 느꼈고 그에 따라 Database라는게 등장했다.

Database라고 하면 어떤 데이터의 뭉치를 말한다. 이 뭉치에 편하고 빠르게 데이터를 넣고 뺄 수 있도록 지원하는 프로그램이 바로 Database Management System이다. 줄여서 DBMS라고 부르고 더 줄여서 그냥 DB라고 많이들 말한다(엄밀하게 말하자면 틀린 표현이지만 Database와 Database Management System 합쳐서 그냥 이렇게 부른다)

이러한 DB에는 여러가지 형태의 데이터가 들어가게되는데 이번에 포스팅해볼 것은 바로 공간 정보에 대한 데이터베이스, 즉 SDBMS(Spacial Database Management System)이다.

2. 용도

공간 데이터베이스는 매우 많은 곳에 사용된다. 전쟁과 전술 관련된 시스템은 물론이고, 의료나 우주과학 심지어는 보험 위험 관리에도 사용가능한다. 가령 어떤 사람이 홍수가 잦은 지역에 산다고 가정해보자, 만약 이러한 보험 위험 관리에 공간 데이터 베이스 기술이 사용된다면 이 사람의 보험료는 매우 높게 측정될 것이다.

3. 데이터 구조

공간 정보를 다루려면 실질적인 SDBMS에서 다루는 정보의 형태를 알아야한다.
크게는 아래와 같이 세가지로 나눌 수 있다.

1) 점(Dot)

어떤 지점을 말한다. 평면상에서는 x,y 좌표로 나타 낼 수 있으며 높이까지 고려한다면 x,y,z로 표현 가능하다.

2) 선(Edge)

어떤 지점에서 어떤 지점으로 갈 수 있는 경로를 말한다. 점과 점으로 표현 가능하며, 어떤 경우에는 가중치가 포함 될 수도 있고 특정 상황에 따라 방향이 있을수도, 없을 수도 있다.

3) 면(Polygon)

어떤 지역을 말한다. 선과 선이 연결되어 하나의 도형을 이루며 이는 지역으로 나타낼 수 있다.

4. 서비스 지원 형태

아예 공간 데이터베이스를 전용으로 제공하는 DB도 있는 반면 전통적인 DB에서 모듈을 얹어서 공간 DB같이 사용할 수 있게 해주는 것도 있다.
오라클에서 제공하는 Spatial Data Cartridge가 그 대표적인 예시이다.

그도 그럴것이 전통적인 DB에 어떤 지역정보를 나타낸다고 가정해보자. 좌표평면에 표기하며 어떤 지역 A를 표기할 것이며 해당 지역의 이름과, 면적, 인구, 위치를 데이터 구조에 따라 table 스키마를 표현하면 아래와 같다.

1
2
3
4
5
table region_block(
  name string,
  area float,
  population number,
  boundary polyline);

이름과, 면적, 인구까지는 쉽게 표현 할 수 있으나 위치의 경우 네모진 다각형이라면 아래와 같이 다수의 선으로 표현해야한다.

1
polyline({{0,0},{0,1}},{{0,0},{1,0}},{{1,0},{1,1}},{{0,1},{1,1}})

이 경우 column에 다수의 값이 들어가야하기 때문에 전통적인 SQL에서 값을 표현하려면 별도의 다수의 테이블로 아래와 같이 나누어야한다.

1
2
3
4
table dot(
  name string,
  x int,
  y int);
1
2
3
4
table edge(
  name string,
  dot1_name string,
  dot2_name string);
1
2
3
table boundary(
  name string,
  edge_name string);
1
2
3
4
5
table region_block(
  name string,
  area float,
  population number,
  boundary string);

위와 같이 다수의 Table로 정의되어있다면 하나의 지역을 불러오기 위해 join을 4번 해야한다. 이는 성능상의 큰 이슈를 아기 할 수있으며 이를 처리하기 위한 특별한 방법이 필요한 것이다.

추가 업데이트 예정

참고자료

  • Shashi Shekhar and Sanjay Chawla, Spatial Databases: A Tour, Prentice Hall, 2003
  • P. RIigaux, M. Scholl, and A. Voisard, SPATIAL DATABASES With Application to GIS, Morgan Kaufmann Publishers, 2002
This post is licensed under CC BY 4.0 by the author.