BigData&AI

그래프(Graph) DB, 데이터 분석의 패러다임 시프트

히핑소 2021. 11. 19. 11:10
반응형

 

 

[창간 36주년 특별기획] 데이터 분석의 패러다임 시프트, 그래프 DB - 컴퓨터월드

[컴퓨터월드] 국내 시장에서도 그래프 DB에 대한 관심이 점점 높아지고 있다. 그래프 DB는 데이터 간의 관계성을 명시적으로 저장해, 서로 복잡한 관계로 얽혀있는 데이터들 사이에서 숨어있는

www.comworld.co.kr

 

데이터 간의 관계성에 주목…복잡하게 얽힌 빅데이터에서 숨어있는 인사이트 창출 가능

국내 시장에서도 그래프 DB에 대한 관심이 점점 높아지고 있다. 그래프 DB는 데이터 간의 관계성을 명시적으로 저장해, 서로 복잡한 관계로 얽혀있는 데이터들 사이에서 숨어있는 인사이트를 찾아낼 수 있다. 특히 그동안의 데이터 관련 기술들이 분석에 필요한 업무를 줄이고 성능을 높이는 데에 주력했던 반면, 그래프 DB는 기존에는 불가능했던 복합적인 분석까지 가능하게 만든다는 점에서 분석의 패러다임을 바꿀 기술로 평가된다.

 

데이터 간의 관계성에 주목…복잡한 문제 풀이에 유리

그래프 DB는 수학에서 사용되는 그래프 이론을 활용해 데이터를 저장하고 표현하는 DB다. 흔히 그래프 DB를 그림과 함께 설명하는 경우가 많아 시각화된(graphic) DB로 오해하기도 하지만, 저장한 데이터들의 구조를 보다 쉽게 이해하기 위해 시각적인 표현을 사용하는 것이지 그래프 DB 자체가 시각화된 DB를 의미하는 것은 아니다.

그래프 이론에서는 값들을 꼭짓점(vertex)과 변(edge)으로 저장하고 관계성을 정의하는 것처럼, 그래프 DB는 값(데이터)을 노드(node)와 에지(edge)로 저장한다. 하나의 데이터가 절대적인 값만을 가지고 있는 게 아니라, 다른 데이터들과의 관계성으로 인해 상대적인 값을 갖는다. 예를 들어 서울과 부산 사이에 있는 KTX 정차역들을 노드로 놓고, 각 역 사이의 이동시간을 에지로 저장한다고 하자. 이를 시각화하면 KTX 정차역들 사이의 이동시간을 직관적으로 파악할 수 있다. 서울이라는 데이터에는 ‘부산에서 KTX로 3시간 30분 떨어진 도시’라는 상대적인 값이 주어진다.

일반적인 그래프 DB 형태와 주요 특성 (출처: 엔코아)

물론 두 도시 간의 이동시간 정도는 그래프 DB가 아니어도 충분히 표현할 수 있다. 그래프 DB의 장점은 데이터의 양과 종류가 폭발적으로 늘었을 때 발휘된다. 다시 아까의 예시로 돌아가서 KTX 노선을 30개 정도로 늘려보자. 노선의 방향도 서울-부산 사이의 1개가 아니라 주요 도시들을 모두 연결할 수 있도록 동서남북으로 자유롭게 놓도록 하자. 이런 상황에서 A 도시를 출발해 B 도시까지 가장 빠르게 갈 수 있는 노선을 구하려면 어떻게 해야 할까?

기존의 데이터 저장 방법으로는 이러한 문제를 풀기 어렵다. A-B 사이를 연결하는 도시들 간의 이동 시간의 합을 구하기 위해 반복적으로 데이터 결합(join)을 시도해야 하기 때문이다. 반면 그래프 DB는 이러한 문제를 손쉽게 풀 수 있다. A 도시와 B 도시를 연결하는 수많은 노드와 에지 사이에서 가장 총합이 낮은 경로를 찾는다. 데이터 사이의 관계를 명시적으로 저장하고 있기 때문에 반복적인 결합을 실행할 필요가 없어 연산 시간이 크게 단축된다. 두 지점(도시) 사이를 가장 적은 값(시간)으로 이동하는 최단거리 문제는 수학적으로 그래프 이론을 사용하는 가장 대표적인 사례이기도 하다.

에지를 특정한 값이 아니라 변수로 놓는 것도 가능하다. 서울과 부산 사이의 거리처럼 변하지 않는 값을 입력할 수도 있지만, ‘서울의 인구가 100명 증가하면 부산의 인구가 50명 감소한다’처럼 양자의 상관관계를 표현할 수도 있다는 뜻이다. 이렇게 인구 증감과 같은 변수를 모든 노드에 확대 적용하면 특정 노드의 변화가 전체 도시들에게 어떤 영향을 미치는 지 직관적으로 파악할 수 있다.

한 걸음 더 나아가, 에지를 변수로 가지고 있는 테이블을 여러 개 만들어본다면 어떨까? 가령 ‘도시 사이의 인구 증감’ 테이블에 ‘평균 소득과 인구 증감의 관계’ 테이블을 연결하는 것이다. 후자에 ‘서울은 평균 소득이 100만 원 증가하면 인구가 100명 늘어난다’는 데이터가 갖춰져 있다면, ‘서울의 평균 소득이 100만 원 증가했을 때 부산의 인구가 50명 감소한다’는 결과까지 얻을 수 있다. 앞서 설명했던 최단거리 문제에도 다양한 테이블을 적용해볼 수 있다. ‘각 도시 사이의 이동시간’ 테이블에 ‘각 도시의 현재 날씨’와 ‘날씨와 이동시간의 상관관계’를 결합해보면, 날씨의 영향까지 고려해 서울에서 부산까지 가장 빠르게 갈 수 있는 방법을 찾을 수 있다

반응형